| Methods | ||
|---|---|---|
public
|
__construct(Environment $env, array $options = [])
|
# |
private
|
initialize()
|
# |
public
|
tokenize(Source $source): TokenStream
|
# |
private
|
lexData(): void
|
# |
private
|
lexBlock(): void
|
# |
private
|
lexVar(): void
|
# |
private
|
lexExpression(): void
|
# |
private
|
lexRawData(): void
|
# |
private
|
lexComment(): void
|
# |
private
|
lexString(): void
|
# |
private
|
lexInterpolation(): void
|
# |
private
|
pushToken($type, $value = ''): void
|
# |
private
|
moveCursor($text): void
|
# |
private
|
getOperatorRegex(): string
|
# |
private
|
pushState($state): void
|
# |
private
|
popState(): void
|
# |
| Constants | ||
|---|---|---|
public
|
STATE_DATA = 0
|
# |
public
|
STATE_BLOCK = 1
|
# |
public
|
STATE_VAR = 2
|
# |
public
|
STATE_STRING = 3
|
# |
public
|
STATE_INTERPOLATION = 4
|
# |
public
|
REGEX_NAME = '/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A'
|
# |
public
|
REGEX_NUMBER = '/[0-9]+(?:\.[0-9]+)?([Ee][\+\-][0-9]+)?/A'
|
# |
public
|
REGEX_STRING = '/"([^#"\\\\]*(?:\\\\.[^#"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'/As'
|
# |
public
|
REGEX_DQ_STRING_DELIM = '/"/A'
|
# |
public
|
REGEX_DQ_STRING_PART = '/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As'
|
# |
public
|
PUNCTUATION = '()[]{}?:.,|'
|
# |
| Properties | |||
|---|---|---|---|
private
|
|
$isInitialized = false
|
# |
private
|
|
$tokens
|
# |
private
|
|
$code
|
# |
private
|
|
$cursor
|
# |
private
|
|
$lineno
|
# |
private
|
|
$end
|
# |
private
|
|
$state
|
# |
private
|
|
$states
|
# |
private
|
|
$brackets
|
# |
private
|
|
$env
|
# |
private
|
|
$source
|
# |
private
|
|
$options
|
# |
private
|
|
$regexes
|
# |
private
|
|
$position
|
# |
private
|
|
$positions
|
# |
private
|
|
$currentVarBlockLine
|
# |