Tokenizer
class Tokenizer extends Alvine
Der Tokenizer zerlegt einen Zeichenstream in einzelne Tokens, die mittels TreeBuilder zu einem Dokument umgewandelt werden können.
Properties
protected InputStream | $stream | ||
protected TokenStack | $tokenStack | ||
protected State | $state | ||
protected array | $parseError | ||
protected TreeConstructor | $treeConstructor | ||
protected array | $temporaryBuffer |
Methods
Temporären Zeichenbuffer auf '' setzen
Zeichen zum temporären Zeichenbuffer hinzufügen
Temporärer Zeichenbuffer auslesen
Das nächste zu verarbeitende Zeichen
Den Lese-Zeiger des Streams um eins zurückdrehen
Den Lese-Zeiger um die übergebene Anzahl $count Zeichen zurückstellen. Es werden $count Zeichen erneut ausgelesen.
Statuswechsel des Tokenizer. Mit dem Statuswechsel wird implizit auch die State::parse Methode aufgerufen.
Aktuell verwendeter Status
Aktueller Token
TokenStack
Fehler beim Parsen des Streams sammeln und für die weitere Verarbeitung ausgeben.
Fehlermeldungen
Details
at line 76
__construct(InputStream $stream, TreeConstructor $treeConstructor)
Neue Instanz
at line 93
Tokenizer
resetTemporaryBuffer()
Temporären Zeichenbuffer auf '' setzen
at line 105
Tokenizer
appendCharacterToTemporaryBuffer(string $char)
Zeichen zum temporären Zeichenbuffer hinzufügen
at line 115
string
getTemporaryBuffer()
Temporärer Zeichenbuffer auslesen
at line 124
string(1)
consumeNextInputCharacter()
Das nächste zu verarbeitende Zeichen
at line 134
Tokenizer
reconsumeCurrentCharacter()
Den Lese-Zeiger des Streams um eins zurückdrehen
at line 147
Tokenizer
reconsumeCharacter(integer $count)
Den Lese-Zeiger um die übergebene Anzahl $count Zeichen zurückstellen. Es werden $count Zeichen erneut ausgelesen.
at line 160
Tokenizer
switchState(State $state)
Statuswechsel des Tokenizer. Mit dem Statuswechsel wird implizit auch die State::parse Methode aufgerufen.
at line 171
State
getCurrentState()
Aktuell verwendeter Status
at line 191
Tokenizer
emitToken(Token $token)
Einen neu erstellten Token auf den Token-Stack legen und den token als emittiert markieren.
Beim Aufruf der Methode wird der Token direkt an den Dispatcher des Treebuilders übergeben.
treeConstructor::dispatch($token)
at line 204
Token
getCurrentToken()
Aktueller Token
at line 213
TokenStack
getTokenStack()
TokenStack
at line 228
Tokenizer
raiseParseError()
Fehler beim Parsen des Streams sammeln und für die weitere Verarbeitung ausgeben.
Die Logmeldungen werden auch an den Logger LoggerDefaultName::VIEW übergeben und können mittels Trace-Level eingesehen werden.
at line 251
array
getParseErrors()
Fehlermeldungen