Documentation

Lexer
in package

Tags
author

Fabien Potencier fabien@symfony.com

Table of Contents

Constants

PUNCTUATION  = '()[]{}?:.,|'
REGEX_DQ_STRING_DELIM  = '/"/A'
REGEX_DQ_STRING_PART  = '/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As'
REGEX_INLINE_COMMENT  = '/#[^\n]*/A'
REGEX_NAME  = '/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A'
REGEX_NUMBER  = '/(?(DEFINE) (?<LNUM>[0-9]+(_[0-9]+)*) # Integers (with underscores) 123_456 (?<FRAC>\.(?&LNUM)) # Fractional part .456 (?<EXPONENT>[eE][+-]?(?&LNUM)) # Exponent part E+10 (?<DNUM>(?&LNUM)(?:(?&FRAC))?) # Decimal number 123_456.456 )(?:(?&DNUM)(?:(?&EXPONENT))?) # 123_456.456E+10 /Ax'
REGEX_STRING  = '/"([^#"\\\\]*(?:\\\\.[^#"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'/As'
STATE_BLOCK  = 1
STATE_DATA  = 0
STATE_INTERPOLATION  = 4
STATE_STRING  = 3
STATE_VAR  = 2
SPECIAL_CHARS  = ['f' => "\f", 'n' => "\n", 'r' => "\r", 't' => "\t", 'v' => "\v"]

Properties

$brackets  : mixed
$closingBrackets  : array<string|int, mixed>
$code  : mixed
$currentVarBlockLine  : mixed
$cursor  : mixed
$end  : mixed
$env  : mixed
$isInitialized  : mixed
$lineno  : mixed
$openingBrackets  : array<string|int, mixed>
$options  : mixed
$position  : mixed
$positions  : mixed
$regexes  : mixed
$source  : mixed
$state  : mixed
$states  : mixed
$tokens  : mixed

Methods

__construct()  : mixed
tokenize()  : TokenStream
checkBrackets()  : void
getOperatorRegex()  : string
initialize()  : void
lexBlock()  : void
lexComment()  : void
lexData()  : void
lexExpression()  : void
lexInterpolation()  : void
lexRawData()  : void
lexString()  : void
lexVar()  : void
moveCursor()  : void
popState()  : void
pushState()  : void
pushToken()  : void
stripcslashes()  : string

Constants

PUNCTUATION

public mixed PUNCTUATION = '()[]{}?:.,|'

REGEX_DQ_STRING_DELIM

public mixed REGEX_DQ_STRING_DELIM = '/"/A'

REGEX_DQ_STRING_PART

public mixed REGEX_DQ_STRING_PART = '/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As'

REGEX_INLINE_COMMENT

public mixed REGEX_INLINE_COMMENT = '/#[^\n]*/A'

REGEX_NAME

public mixed REGEX_NAME = '/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A'

REGEX_NUMBER

public mixed REGEX_NUMBER = '/(?(DEFINE) (?<LNUM>[0-9]+(_[0-9]+)*) # Integers (with underscores) 123_456 (?<FRAC>\.(?&LNUM)) # Fractional part .456 (?<EXPONENT>[eE][+-]?(?&LNUM)) # Exponent part E+10 (?<DNUM>(?&LNUM)(?:(?&FRAC))?) # Decimal number 123_456.456 )(?:(?&DNUM)(?:(?&EXPONENT))?) # 123_456.456E+10 /Ax'

REGEX_STRING

public mixed REGEX_STRING = '/"([^#"\\\\]*(?:\\\\.[^#"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'/As'

STATE_BLOCK

public mixed STATE_BLOCK = 1

STATE_DATA

public mixed STATE_DATA = 0

STATE_INTERPOLATION

public mixed STATE_INTERPOLATION = 4

STATE_STRING

public mixed STATE_STRING = 3

STATE_VAR

public mixed STATE_VAR = 2

SPECIAL_CHARS

private mixed SPECIAL_CHARS = ['f' => "\f", 'n' => "\n", 'r' => "\r", 't' => "\t", 'v' => "\v"]

Properties

$brackets

private mixed $brackets

$closingBrackets

private array<string|int, mixed> $closingBrackets = ['}', ')', ']']

$currentVarBlockLine

private mixed $currentVarBlockLine

$cursor

private mixed $cursor

$isInitialized

private mixed $isInitialized = false

$lineno

private mixed $lineno

$openingBrackets

private array<string|int, mixed> $openingBrackets = ['{', '(', '[']

$options

private mixed $options

$position

private mixed $position

$positions

private mixed $positions

$regexes

private mixed $regexes

$source

private mixed $source

$states

private mixed $states

$tokens

private mixed $tokens

Methods

__construct()

public __construct(Environment $env[, array<string|int, mixed> $options = [] ]) : mixed
Parameters
$env : Environment
$options : array<string|int, mixed> = []

checkBrackets()

private checkBrackets(string $code) : void
Parameters
$code : string

getOperatorRegex()

private getOperatorRegex() : string
Return values
string

initialize()

private initialize() : void

lexBlock()

private lexBlock() : void

lexComment()

private lexComment() : void

lexData()

private lexData() : void

lexExpression()

private lexExpression() : void

lexInterpolation()

private lexInterpolation() : void

lexRawData()

private lexRawData() : void

lexString()

private lexString() : void

lexVar()

private lexVar() : void

moveCursor()

private moveCursor(mixed $text) : void
Parameters
$text : mixed

popState()

private popState() : void

pushState()

private pushState(mixed $state) : void
Parameters
$state : mixed

pushToken()

private pushToken(mixed $type[, mixed $value = '' ]) : void
Parameters
$type : mixed
$value : mixed = ''

stripcslashes()

private stripcslashes(string $str, string $quoteType) : string
Parameters
$str : string
$quoteType : string
Return values
string

        
On this page

Search results