Fehlerbehandlung |
Top Previous Next |
Codeerzeugung > Fehlerbehandlung
Es gibt vier Ereignisse, die den Parser zum Abbruch zwingen und für jedes dieser Ereignisse gibt es eine Behandlungsroutine, die im Normalfall einen entsprechenden Fehlertyp auswirft. Diese Methoden sind virtuell und können überschrieben werden.
void OnErrorExpected(state_type& xParseState, int xiSym, const char* xpProduction, const char* xpBranch) const;
Das Token mit der Nummer xiSym wurde in der Produktion mit dem Namen xpProduction an der Verzweigung mit dem Namen xpBranch erwartet, jedoch wurde es nicht gefunden.
void OnErrorUnexpected(state_type& xParseState, const char* xpProduction, const char* xpBranch) const;
Ein anderes Token wurde in der Produktion mit dem Namen xpProduction an der Verzweigung mit dem Namen xpBranch erwartet.
void OnErrorIncomplete(state_type& xParseState, const char* xpProduction, const char* xpBranch) const;
Der Eingabetext konnte mit der Produktion xpProduction nicht vollständig geparst werden.
void OnErrorStandstill(state_type& xParseState, const char* xpProduction, const char* xpBranch) const;
Der Parser befindet sich in der Produktion mit dem Namen xpProduction an der Verzweigung mit dem Namen xpBranch in einer Endlosschleife. (Dieser Fehler kann zur zeit nicht auftreten, da nur Token zugelassen sind, die mindestens ein Zeichen abdecken.)
CTT_Message ist Basisklasse für alle Meldungen, Warnungen Fehler und Ausnahmen. Neben der eigentlichen Meldung enthält sie Angaben zum aktuellen Zustand des Parsers.
CTT_Message(const std::string& xsWhat, unsigned int xuiLastPosition, unsigned int xuiPosition, const char* xpProduction, const char* xpSymbol = NULL, EMsgType xeMsgType = eMessage, unsigned int xui = 0)
Von CTT_Message direkt oder indirekt abgeleitet sind:
CTT_Exit CTT_Warning CTT_Error CTT_ParseError CTT_ErrorExpected CTT_ErrorUnexpected CTT_ErrorStandstill CTT_ErrorIncomplete CTT_SemError CTT_NodeError
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |