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 78
__construct(InputStream $stream, TreeConstructor $treeConstructor)

Neue Instanz

Parameters

InputStream $stream Input-Stream
TreeConstructor $treeConstructor TreeBuilder

at line 95
Tokenizer resetTemporaryBuffer()

Temporären Zeichenbuffer auf '' setzen

Return Value

Tokenizer

at line 107
Tokenizer appendCharacterToTemporaryBuffer(string $char)

Zeichen zum temporären Zeichenbuffer hinzufügen

Parameters

string $char Zeichen

Return Value

Tokenizer

at line 117
string getTemporaryBuffer()

Temporärer Zeichenbuffer auslesen

Return Value

string

at line 126
string(1) consumeNextInputCharacter()

Das nächste zu verarbeitende Zeichen

Return Value

string(1)

at line 136
Tokenizer reconsumeCurrentCharacter()

Den Lese-Zeiger des Streams um eins zurückdrehen

Return Value

Tokenizer

at line 149
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 162
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 173
State getCurrentState()

Aktuell verwendeter Status

Return Value

State

at line 193
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 206
Token getCurrentToken()

Aktueller Token

Return Value

Token

at line 215
TokenStack getTokenStack()

TokenStack

Return Value

TokenStack

at line 230
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 253
array getParseErrors()

Fehlermeldungen

Return Value

array