TokenStreamInterface

A generic stream of tokens used in single LineInterface lines.

The tokenizers create these streams for various lists of tokens, the generic implementation is class TokenStream. For lists of identifier tokens the special class TokenStreamIdentifier is created.

Tags
internal:

Internal tokenizer structure.

Table of Contents

Methods

__toString()  : string
Create a source string from given tokens.
append()  : self
Stream creation.
getAll()  : array<string|int, TokenInterface>
Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.
getNext()  : TokenInterface|null
Get next token and raise pointer.
isEmpty()  : bool
We sometimes create a stream but don't add tokens.
peekNext()  : TokenInterface|null
Get next token but do not raise pointer.
reset()  : self
Reset current pointer. Typically, call this before iterating with getNext().
setAll()  : self
Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.

Methods

__toString()

Create a source string from given tokens.

public __toString() : string
Return values
string

getAll()

Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.

public getAll() : array<string|int, TokenInterface>
Return values
array<string|int, TokenInterface>

isEmpty()

We sometimes create a stream but don't add tokens.

public isEmpty() : bool

This method returns true if tokens have been added.

Return values
bool

reset()

Reset current pointer. Typically, call this before iterating with getNext().

public reset() : self
Return values
self

setAll()

Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.

public setAll(array<string|int, TokenInterface$tokens) : self
Parameters
$tokens : array<string|int, TokenInterface>
Return values
self

        
On this page

Search results