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.