| @@ 254-258 (lines=5) @@ | ||
| 251 | } |
|
| 252 | } |
|
| 253 | ||
| 254 | for ($x = $p->items; $x !== null; $x = $x->next) { |
|
| 255 | if ($x->isTailItem() && $x->isHeadItem()) { |
|
| 256 | $x->look->or($this->follow[$x->item[-1]->code]); |
|
| 257 | } |
|
| 258 | } |
|
| 259 | } |
|
| 260 | } while ($changed); |
|
| 261 | ||
| @@ 508-510 (lines=3) @@ | ||
| 505 | foreach ($st->shifts as $t) { |
|
| 506 | if (!$t->through->isTerminal) { |
|
| 507 | $this->follow[$t->through->code] = clone $this->blank; |
|
| 508 | for ($x = $t->items; $x !== null && !$x->isHeadItem(); $x = $x->next) { |
|
| 509 | $this->computeFirst($this->follow[$t->through->code], $x->item); |
|
| 510 | } |
|
| 511 | } |
|
| 512 | } |
|
| 513 | for ($x = $st->items; $x !== null; $x = $x->next) { |
|