|
@@ 1214-1217 (lines=4) @@
|
| 1211 |
|
if ($this->t->scanOperand) |
| 1212 |
|
break 2; |
| 1213 |
|
|
| 1214 |
|
while ( !empty($operators) && |
| 1215 |
|
$this->opPrecedence[end($operators)->type] > $this->opPrecedence[$tt] |
| 1216 |
|
) |
| 1217 |
|
$this->reduce($operators, $operands); |
| 1218 |
|
|
| 1219 |
|
array_push($operators, new JSNode($this->t)); |
| 1220 |
|
|
|
@@ 1244-1247 (lines=4) @@
|
| 1241 |
|
break 2; |
| 1242 |
|
|
| 1243 |
|
// Use >, not >=, for right-associative ASSIGN |
| 1244 |
|
while ( !empty($operators) && |
| 1245 |
|
$this->opPrecedence[end($operators)->type] > $this->opPrecedence[$tt] |
| 1246 |
|
) |
| 1247 |
|
$this->reduce($operators, $operands); |
| 1248 |
|
|
| 1249 |
|
array_push($operators, new JSNode($this->t)); |
| 1250 |
|
end($operands)->assignOp = $this->t->currentToken()->assignOp; |
|
@@ 1290-1293 (lines=4) @@
|
| 1287 |
|
if ($this->t->scanOperand) |
| 1288 |
|
break 2; |
| 1289 |
|
|
| 1290 |
|
while ( !empty($operators) && |
| 1291 |
|
$this->opPrecedence[end($operators)->type] >= $this->opPrecedence[$tt] |
| 1292 |
|
) |
| 1293 |
|
$this->reduce($operators, $operands); |
| 1294 |
|
|
| 1295 |
|
if ($tt == OP_DOT) |
| 1296 |
|
{ |
|
@@ 1331-1332 (lines=2) @@
|
| 1328 |
|
if (!empty($operators)) |
| 1329 |
|
{ |
| 1330 |
|
// Use >, not >=, so postfix has higher precedence than prefix. |
| 1331 |
|
while ($this->opPrecedence[end($operators)->type] > $this->opPrecedence[$tt]) |
| 1332 |
|
$this->reduce($operators, $operands); |
| 1333 |
|
} |
| 1334 |
|
|
| 1335 |
|
$n = new JSNode($this->t, $tt, array_pop($operands)); |
|
@@ 1476-1479 (lines=4) @@
|
| 1473 |
|
} |
| 1474 |
|
else |
| 1475 |
|
{ |
| 1476 |
|
while ( !empty($operators) && |
| 1477 |
|
$this->opPrecedence[end($operators)->type] > $this->opPrecedence[KEYWORD_NEW] |
| 1478 |
|
) |
| 1479 |
|
$this->reduce($operators, $operands); |
| 1480 |
|
|
| 1481 |
|
// Handle () now, to regularize the n-ary case for n > 0. |
| 1482 |
|
// We must set scanOperand in case there are arguments and |