Flux de lecture d'un cout << "runbegin" << endl; fichier au format RDF(S)/Notation 3. More...
#include "cogitant/inputrdfs.h"
Public Member Functions | |
| IStreamRdfsN3 () | |
| Constructeur. More... | |
| bool | init (Encoding::Type st) |
| Initialisation du flux. More... | |
| bool | isEscapeChar (wchar_t c) |
| Le caractère est-il le caractère d'échappement. More... | |
| bool | isSpecialChar (wchar_t c) |
| Le caractère est-il un caractère spécial dans le format. More... | |
| LexemeType | isKeyword (std::string const &s) |
| La chaîne passée est-elle un mot clef du format. More... | |
| std::string | lexemeToString (Lexeme const &l) |
| Convertit le lexème en chaîne de caractères représentant le lexème. More... | |
| void | handleCharAfterEscapeChar (wchar_t c, std::string &result) |
| Gère le caractère lu juste après un caractère d'échappement. More... | |
| void | setUriMode (bool um) |
| Modification de l'état de lecture d'URI. More... | |
Public Member Functions inherited from cogitant::IStream | |
| IStream () | |
| Constructeur. More... | |
| virtual | ~IStream () |
| Destructeur. More... | |
| virtual void | setStream (std::istream *is, std::string const &sn="") |
| Assignation du flux de lecture. More... | |
| Line | line () const |
| Accès à la ligne courante. More... | |
| Line | column () const |
| Accès à la colonne courante. More... | |
| Encoding::Type | encoding () const |
| Type d'encodage du flux. More... | |
| std::string const & | streamName () const |
| Nom du flux. More... | |
| std::istream const * | stream () const |
| Accès direct au flux. More... | |
| void | setCompressed (unsigned long decosize) |
| Passage en mode compressé. More... | |
| virtual bool | isSeparator (wchar_t c) |
| Le caractère est-il un séparateur dans le format. More... | |
| virtual void | readString (std::string &s) |
| Lecture d'une chaîne jusqu'au prochain séparateur. More... | |
| virtual bool | readStringQuote () const |
| La précédente lecture de chaine était elle entre guillemets ou pas. More... | |
| virtual bool | isQuoteChar (wchar_t c, bool begin) const |
| Le caractère passé est-il le caractère d'ouverture de guillements utilisé par readString(). More... | |
| virtual bool | isBlankChar (wchar_t c) |
| Le caractère doit il être ignoré. More... | |
| virtual wchar_t | getChar () |
| Lecture d'un caractère sans aucune interprétation. More... | |
| virtual wchar_t | nextChar () |
| Lecture d'un caractère sans aucune interprétation et passage au caractère suivant. More... | |
| virtual void | ignoreChar () |
| Passage au caractère suivant dans le flux. More... | |
| virtual void | ignoreChars (unsigned long ign) |
| Ignorer plusieurs caractères dans le flux. More... | |
| void | readBytes (unsigned char *c, unsigned int lg) |
| Lecture brute d'octets. More... | |
| bool | eof () const |
| Fin du flux de lecture atteinte. More... | |
| std::streampos | tellg () const |
| Position actuelle dans le flux. More... | |
| void | memoPosition () |
| Mémorisation d'une position. More... | |
| void | backToMemoPosition () |
| Retour à la position mémorisée. More... | |
| virtual void | readLexeme (Lexeme &l) |
| Lecture de l'unité lexicale suivante. More... | |
| void | addComment (std::string const &b, std::string const &e) |
| Ajout d'un couple de chaînes de caractères délimitant un commentaire. More... | |
| void | addComment (std::vector< wchar_t > const &b, std::vector< wchar_t > const &e) |
| Ajout d'un couple de chaînes de caractères délimitant un commentaire. More... | |
| void | deleteComments () |
| Supprime tous les couples de commentaires déja définis. More... | |
| void | setIgnoreComments (bool ic) |
| Ignorer les marques de début/fin de commentaires. More... | |
| void | stringAddChar (std::string &s, wchar_t c) const |
| Ajoute à une chaîne un caractère en convertissant ce caractère si nécessaire. More... | |
| std::string const * | stringConvert (std::string const &s, std::string &result) |
| Convertit la chaîne si le mode de conversion d'encodage est EC_STRING. More... | |
| void | setEncoding (Encoding::Type nt, bool autoutf8=false) |
| Modifie l'encodage du flux. More... | |
| void | setReadBom (bool rb) |
| Modifie la lecture du BOM. More... | |
| void | throwException (Lexeme const &found, Lexeme const &expected1, Lexeme const &expected2=Lexeme(), Lexeme const &expected3=Lexeme(), Lexeme const &expected4=Lexeme(), Lexeme const &expected5=Lexeme()) |
| Lever une exception d'analyse syntaxique. More... | |
| LexemeType | verifyLexeme (Lexeme const &s, LexemeType l1, wchar_t sc1=0, LexemeType l2=LEX_UNKNOWN, wchar_t sc2=0, LexemeType l3=LEX_UNKNOWN, wchar_t sc3=0, LexemeType l4=LEX_UNKNOWN, wchar_t sc4=0, LexemeType l5=LEX_UNKNOWN, wchar_t sc5=0) |
| Vérifie si le lexeme passé fait partie des types de lex§mes donnés. | |
| LexemeType | assertLexeme (Lexeme &s, LexemeType l1, wchar_t sc1=0, LexemeType l2=LEX_UNKNOWN, wchar_t sc2=0, LexemeType l3=LEX_UNKNOWN, wchar_t sc3=0, LexemeType l4=LEX_UNKNOWN, wchar_t sc4=0, LexemeType l5=LEX_UNKNOWN, wchar_t sc5=0) |
| Lit le lexème suivant qui doit être d'un des types donnés. More... | |
| LexemeType | verifyLexeme (Lexeme const &s, LexemeType ltypes[], wchar_t lchars[]) |
| Vérifie si le lexème est d'un des types donnés. More... | |
| LexemeType | assertLexeme (Lexeme &s, LexemeType ltypes[], wchar_t lchars[]) |
| Lit le lexème suivant qui doit être d'un des types donnés. More... | |
Static Public Attributes | |
Lexèmes particuliers N3. | |
| static const LexemeType | PREFIX =300 |
Static Public Attributes inherited from cogitant::IStream | |
| static const LexemeType | LEX_UNKNOWN |
| Lexème non défini ou en erreur. More... | |
| static const LexemeType | LEX_SPECIALCHAR |
| Un caractère spécial dans le format interprété : son code est dans m_char. More... | |
| static const LexemeType | LEX_EOF |
| La marque de fin de fichier. More... | |
| static const LexemeType | LEX_STRING |
| Un identificateur : une chaîne dans m_string. More... | |
Additional Inherited Members | |
Public Types inherited from cogitant::IStream | |
| typedef unsigned long | Line |
| Numérotation des lignes. More... | |
| typedef unsigned int | LexemeType |
| Type de Lexeme. More... | |
Protected Types inherited from cogitant::IStream | |
| enum | EncodingConvert { EC_NONE, EC_CHAR, EC_STRING } |
| Conversion d'encodage actuellement utilisée. More... | |
Protected Member Functions inherited from cogitant::IStream | |
| unsigned char | streamGet () |
| Simulation de la méthode get() sur le flux. More... | |
| unsigned char | streamPeek () |
| Simulation de la méthode peek() sur le flux. More... | |
| wchar_t | streamGetChar () |
| Lecture du prochain caractère du flux, en utilisant un décodage Utf16. More... | |
| wchar_t | streamPeekChar () |
| Accès au prochain caractère du flux, en utilisant un décodage Utf16. More... | |
| void | streamRead (unsigned char *buf, unsigned int lg) |
| Simulation de la méthode read() sur le flux. More... | |
| std::streampos | length () |
| Longueur du flux. More... | |
Protected Attributes inherited from cogitant::IStream | |
| std::istream * | m_stream |
| Flux de lecture. | |
| std::string | m_streamname |
| Nom du flux. | |
| Line | m_line |
| Ligne en cours de lecture. | |
| Line | m_column |
| Position en cours de lecture dans la ligne. More... | |
| std::streampos | m_memopos |
| Mémorisation d'une position dans le flux. | |
| Line | m_memoposline |
| Ligne de la position mémorisée. | |
| Line | m_memoposcolumn |
| Colonne de la position mémorisée. | |
| bool | m_readstringquote |
| Lecture de guillemets lors de la dernière lecture de chaine. | |
| std::vector< std::vector< wchar_t > > | m_commentbegin |
| Chaines de début de comentaires. More... | |
| std::vector< std::vector< wchar_t > > | m_commentend |
| Chaines de fin de commentaire. More... | |
| bool | m_ignorecomments |
| Ignorer les marques de commentaires. More... | |
| std::queue< wchar_t > | m_queuechar |
| Caractères lus mais qui doivent être interprétés à nouveau. More... | |
| Encoding::Type | m_encoding |
| Type d'encodage du flux. More... | |
| bool | m_autoutf8 |
| Passage automatique d'un encodage Utf-8 à un encodage Latin9. More... | |
| bool | m_readbom |
| Si défini à vrai (par défaut) tente de lire le BOM en début de flux pour déterminer l'encodage. More... | |
| bool | m_compressed |
| Compression. More... | |
| unsigned char * | m_decobuffer |
| Buffer utilisé pour la décompression. More... | |
| unsigned long | m_decobuffersize |
| Taille du buffer de décompression. More... | |
| unsigned long | m_decobufferpos |
| Position de lecture dans le buffer de décompression. More... | |
| EncodingConvert | m_econvert |
| Conversion d'encodage. More... | |
Flux de lecture d'un cout << "runbegin" << endl; fichier au format RDF(S)/Notation 3.
Cette classe est utilisée pour l'opération de lecture RDFS/Notation 3 (cogitant::OperationRdfsN3Input) et fournit un accès simplifié aux lexèmes N3 présents dans le flux de lecture. Dans un usage standard de la bibliothèque, cette classe peut être ignorée, même si elle est utilisée à chaque fois qu'un fichier N3 est lu.
| cogitant::OperationRdfsN3Input::IStreamRdfsN3::IStreamRdfsN3 | ( | ) |
Constructeur.
|
virtual |
Gère le caractère lu juste après un caractère d'échappement.
Par défaut, cette méthode se contente d'ajouter à result le caractère c lu, tel quel, mais la méthode peut être redéfinie.
Reimplemented from cogitant::IStream.
|
virtual |
Initialisation du flux.
Cette méthode doit être appelée avant de commencer la lecture dans le flux : elle initialise les compteurs de ligne/colonne.
| st | type de flux. La valeur Encoding::DEFAULT utilise une détection automatique de l'encodage du flux. Avec cette valeur, la classe considère que le flux est en Utf-8 jusqu'à ce qu'un caractère incorrect en Utf-8 soit trouvé (init() positionne donc à true m_autoutf8). |
Reimplemented from cogitant::IStream.
|
virtual |
Le caractère est-il le caractère d'échappement.
Si cette méthode n'est pas redéfinie dans les sous-classes, il n'y a aucun caractère d'échappement et tous les caractère sont lus sans interprétation.
Reimplemented from cogitant::IStream.
|
virtual |
La chaîne passée est-elle un mot clef du format.
Si cette méthode n'est pas redéfinie dans les sous-classes, aucune chaîne n'est considérée comme un mot clef.
Reimplemented from cogitant::IStream.
|
virtual |
Le caractère est-il un caractère spécial dans le format.
Un caractère spécial est un caractère qui correspond à un lexème à lui tout seul (de type Lexeme::LEX_SPECIALCHAR). Si cette méthode n'est pas redéfinie dans les sous-classes, aucun caractère n'est considéré comme un caractère spécial.
Reimplemented from cogitant::IStream.
|
virtual |
Convertit le lexème en chaîne de caractères représentant le lexème.
Évidemment, aucun lexème particulier n'étant défini dans IStream, cette méthode ne peut être utilisée qu'avec des lexèmes LEX_SPECIALCHAR (dans ce cas, la méthode retourne une chaîne formée d'un seul caractère, de code ascii l) ou LEX_STRING. Il est donc nécessaire de redéfinir cette méthode dans les sous classes de IStream pour l'adapter aux lexèmes particuliers.
| l | lexeme à traduire. |
Reimplemented from cogitant::IStream.
|
inline |
Modification de l'état de lecture d'URI.