1 | <?php |
||
19 | class Group |
||
20 | { |
||
21 | /** |
||
22 | * @var LookaheadIterator |
||
23 | */ |
||
24 | private $iterator; |
||
25 | |||
26 | /** |
||
27 | * @var Analyzer |
||
28 | */ |
||
29 | private $analyzer; |
||
30 | |||
31 | /** |
||
32 | * @var string |
||
33 | */ |
||
34 | private $rule; |
||
35 | |||
36 | /** |
||
37 | * Group constructor. |
||
38 | * @param LookaheadIterator $iterator |
||
39 | * @param Analyzer $analyzer |
||
40 | * @param string|null $rule |
||
41 | */ |
||
42 | public function __construct(LookaheadIterator $iterator, Analyzer $analyzer, string $rule = null) |
||
48 | |||
49 | /** |
||
50 | * @param string|null $rule |
||
51 | * @return int |
||
52 | */ |
||
53 | private function id(string $rule = null): int |
||
57 | |||
58 | /** |
||
59 | * @return Production |
||
60 | */ |
||
61 | public function reduce(): Production |
||
65 | } |
||
66 |