Methods |
public
|
__construct(array $options = [])
Creates a Lexer.
Parameters
$options |
Options array. Currently only the 'usedAttributes' option is supported,
which is an array of attributes to add to the AST nodes. Possible
attributes are: 'comments', 'startLine', 'endLine', 'startTokenPos',
'endTokenPos', 'startFilePos', 'endFilePos'. The option defaults to the
first three. For more info see getNextToken() docs.
|
Overriden by
|
#
|
public
|
startLexing(string $code, ErrorHandler|null $errorHandler = null)
Initializes the lexer for lexing the provided source code.
Initializes the lexer for lexing the provided source code.
This function does not throw if lexing errors occur. Instead, errors may be retrieved using
the getErrors() method.
Parameters
$code |
The source code to lex
|
$errorHandler |
Error handler to use for lexing errors. Defaults to
ErrorHandler\Throwing
|
Overriden by
|
#
|
protected
|
postprocessTokens(ErrorHandler $errorHandler)
|
#
|
public
|
getNextToken(mixed &$value = null, mixed &$startAttributes = null, mixed &$endAttributes = null): int
Fetches the next token.
Fetches the next token.
The available attributes are determined by the 'usedAttributes' option, which can
be specified in the constructor. The following attributes are supported:
- 'comments' => Array of PhpParser\Comment or PhpParser\Comment\Doc instances,
representing all comments that occurred between the previous
non-discarded token and the current one.
- 'startLine' => Line in which the node starts.
- 'endLine' => Line in which the node ends.
- 'startTokenPos' => Offset into the token array of the first token in the node.
- 'endTokenPos' => Offset into the token array of the last token in the node.
- 'startFilePos' => Offset into the code string of the first character that is part of the node.
- 'endFilePos' => Offset into the code string of the last character that is part of the node.
Parameters
$value |
Variable to store token content in
|
$startAttributes |
Variable to store start attributes in
|
$endAttributes |
Variable to store end attributes in
|
Returns
|
#
|
public
|
getTokens(): array
Returns the token array for current code.
Returns the token array for current code.
The token array is in the same format as provided by the
token_get_all() function and does not discard tokens (i.e.
whitespace and comments are included). The token position
attributes are against this token array.
Returns
Array of tokens in token_get_all() format
|
#
|
public
|
handleHaltCompiler(): string
Handles __halt_compiler() by returning the text after it.
Handles __halt_compiler() by returning the text after it.
Returns
|
#
|
protected
|
createTokenMap(): array
Creates the token map.
Creates the token map.
The token map maps the PHP internal token identifiers
to the identifiers used by the Parser. Additionally it
maps T_OPEN_TAG_WITH_ECHO to T_ECHO and T_CLOSE_TAG to ';'.
Returns
|
#
|