Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
isBinary example
$this
->binaryOperators =
$env
->
getBinaryOperators
(
)
;
}
public
function
parseExpression
(
$precedence
= 0,
$allowArrow
= false
)
{
if
(
$allowArrow
&&
$arrow
=
$this
->
parseArrow
(
)
)
{
return
$arrow
;
}
$expr
=
$this
->
getPrimary
(
)
;
$token
=
$this
->parser->
getCurrentToken
(
)
;
while
(
$this
->
isBinary
(
$token
)
&&
$this
->binaryOperators
[
$token
->
getValue
(
)
]
[
'precedence'
]
>=
$precedence
)
{
$op
=
$this
->binaryOperators
[
$token
->
getValue
(
)
]
;
$this
->parser->
getStream
(
)
->
next
(
)
;
if
(
'is not' ===
$token
->
getValue
(
)
)
{
$expr
=
$this
->
parseNotTestExpression
(
$expr
)
;
}
elseif
(
'is' ===
$token
->
getValue
(
)
)
{
$expr
=
$this
->
parseTestExpression
(
$expr
)
;
}
elseif
(
isset
(
$op
[
'callable'
]
)
)
{
$expr
=
$op
[
'callable'
]
(
$this
->parser,
$expr
)
;
}
else
{
$expr1
=
$this
->
parseExpression
(
self::OPERATOR_LEFT ===
$op
[
'associativity'
]
?
$op
[
'precedence'
]
+ 1 :
$op
[
'precedence'
]
, true
)
;