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

__construct(InputStream $stream, TreeConstructor $treeConstructor)

Neue Instanz

resetTemporaryBuffer()

Temporären Zeichenbuffer auf '' setzen

appendCharacterToTemporaryBuffer(string $char)

Zeichen zum temporären Zeichenbuffer hinzufügen

string
getTemporaryBuffer()

Temporärer Zeichenbuffer auslesen

string(1)
consumeNextInputCharacter()

Das nächste zu verarbeitende Zeichen

reconsumeCurrentCharacter()

Den Lese-Zeiger des Streams um eins zurückdrehen

reconsumeCharacter(integer $count)

Den Lese-Zeiger um die übergebene Anzahl $count Zeichen zurückstellen. Es werden $count Zeichen erneut ausgelesen.

switchState(State $state)

Statuswechsel des Tokenizer. Mit dem Statuswechsel wird implizit auch die State::parse Methode aufgerufen.

getCurrentState()

Aktuell verwendeter Status

emitToken(Token $token)

Einen neu erstellten Token auf den Token-Stack legen und den token als emittiert markieren.

getCurrentToken()

Aktueller Token

getTokenStack()

TokenStack

raiseParseError()

Fehler beim Parsen des Streams sammeln und für die weitere Verarbeitung ausgeben.

array
getParseErrors()

Fehlermeldungen

Details

at line 76
__construct(InputStream $stream, TreeConstructor $treeConstructor)

Neue Instanz

Parameters

InputStream $stream Input-Stream
TreeConstructor $treeConstructor TreeBuilder

at line 93
Tokenizer resetTemporaryBuffer()

Temporären Zeichenbuffer auf '' setzen

Return Value

Tokenizer

at line 105
Tokenizer appendCharacterToTemporaryBuffer(string $char)

Zeichen zum temporären Zeichenbuffer hinzufügen

Parameters

string $char Zeichen

Return Value

Tokenizer

at line 115
string getTemporaryBuffer()

Temporärer Zeichenbuffer auslesen

Return Value

string

at line 124
string(1) consumeNextInputCharacter()

Das nächste zu verarbeitende Zeichen

Return Value

string(1)

at line 134
Tokenizer reconsumeCurrentCharacter()

Den Lese-Zeiger des Streams um eins zurückdrehen

Return Value

Tokenizer

at line 147
Tokenizer reconsumeCharacter(integer $count)

Den Lese-Zeiger um die übergebene Anzahl $count Zeichen zurückstellen. Es werden $count Zeichen erneut ausgelesen.

Parameters

integer $count Anzahl

Return Value

Tokenizer

at line 160
Tokenizer switchState(State $state)

Statuswechsel des Tokenizer. Mit dem Statuswechsel wird implizit auch die State::parse Methode aufgerufen.

Parameters

State $state Neuer Status

Return Value

Tokenizer

at line 171
State getCurrentState()

Aktuell verwendeter Status

Return Value

State

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)

Parameters

Token $token

Return Value

Tokenizer

Exceptions

TokenizerException

at line 204
Token getCurrentToken()

Aktueller Token

Return Value

Token

at line 213
TokenStack getTokenStack()

TokenStack

Return Value

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.

Return Value

Tokenizer

at line 251
array getParseErrors()

Fehlermeldungen

Return Value

array