Flux de lecture d'un fichier au format BCGCT. More...
#include "cogitant/inputbcgct.h"
Public Member Functions | |
| IStreamBCGCT () | |
| Constructeur. 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... | |
| bool | isEscapeChar (wchar_t c) |
| Le caractère est-il le caractère d'echappement. More... | |
| std::string | lexemeToString (Lexeme const &l) |
| Convertit le lexème en chaîne de caractères. 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... | |
| virtual bool | init (Encoding::Type st=Encoding::DEFAULT) |
| Initialisation du 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 | handleCharAfterEscapeChar (wchar_t c, std::string &result) |
| Gère le caractère lu juste après un caractère d'échappement. 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 généraux | |
| static const LexemeType | BEGIN |
| static const LexemeType | END |
Lexèmes pour la représentation du support. | |
| static const LexemeType | SUPPORT |
| static const LexemeType | ENDSUPPORT |
| static const LexemeType | ORDER |
| static const LexemeType | ENDORDER |
| static const LexemeType | TCONSET |
| static const LexemeType | ENDTCONSET |
| static const LexemeType | CONCEPTTYPES |
| static const LexemeType | ENDCONCEPTTYPES |
| static const LexemeType | TRELSET |
| static const LexemeType | ENDTRELSET |
| static const LexemeType | RELATIONTYPES |
| static const LexemeType | ENDRELATIONTYPES |
| static const LexemeType | TNESSET |
| static const LexemeType | ENDTNESSET |
| static const LexemeType | NESTINGTYPES |
| static const LexemeType | ENDNESTINGTYPES |
| static const LexemeType | CONF |
| static const LexemeType | ENDCONF |
| static const LexemeType | BANNEDTYPES |
| static const LexemeType | ENDBANNEDTYPES |
Lexèmes pour la représentation de graphes. | |
| static const LexemeType | GRAPH |
| static const LexemeType | ENDGRAPH |
| static const LexemeType | CONCEPTS |
| static const LexemeType | RELATIONS |
| static const LexemeType | EDGES |
| static const LexemeType | NATURE |
| static const LexemeType | SET |
| static const LexemeType | POINTER |
| static const LexemeType | EXTENSIONS |
| static const LexemeType | STAR |
| static const LexemeType | DOUBLESTAR |
Lexèmes pour la représentation de règles et contraintes. | |
| static const LexemeType | RULE |
| static const LexemeType | ENDRULE |
| static const LexemeType | HYPT |
| static const LexemeType | CONC |
| static const LexemeType | CONNECTIONPOINTS |
| static const LexemeType | POSITIVECONSTRAINT |
| static const LexemeType | ENDPOSITIVECONSTRAINT |
| static const LexemeType | NEGATIVECONSTRAINT |
| static const LexemeType | ENDNEGATIVECONSTRAINT |
| static const LexemeType | CONDITION |
| static const LexemeType | OBLIGATION |
| static const LexemeType | INTERDICTION |
Lexèmes non gérés pour l'instant. | |
| static const LexemeType | LAMBDA |
| static const LexemeType | CANON |
| static const LexemeType | DEFINED |
| static const LexemeType | SCHEMA |
| static const LexemeType | VARIABLES |
| static const LexemeType | ENDLAMBDA |
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... | |
Static Protected Attributes | |
Correspondances identificateurs de lexèmes - mots clef. | |
| static const char * | c_bcgctkeywords [] |
| static const LexemeType | c_bcgctlexemes [] |
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 fichier au format BCGCT.
Cette classe est utilisée pour l'opération de lecture BCGCT (cogitant::OperationBCGCTInput) et fournit un accès simplifié aux lexèmes BCGCT 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 BCGCT est lu.
| cogitant::OperationBCGCTInput::IStreamBCGCT::IStreamBCGCT | ( | ) |
Constructeur.
|
virtual |
Le caractère est-il le caractère d'echappement.
En BCGCT, il s'agit du caractère \.
Reimplemented from cogitant::IStream.
|
virtual |
La chaîne passée est-elle un mot clef du format.
Reimplemented from cogitant::IStream.
|
virtual |
Le caractère est-il un caractère spécial dans le format.
Les caractères suivants sont spéciaux =[](){}:;,<+$ en BCGCT.
Reimplemented from cogitant::IStream.
|
virtual |
Convertit le lexème en chaîne de caractères.
Reimplemented from cogitant::IStream.