1 | <?php |
||
10 | abstract class Parser |
||
11 | { |
||
12 | /** |
||
13 | * @var array |
||
14 | */ |
||
15 | |||
16 | protected $warnings = []; |
||
17 | |||
18 | /** |
||
19 | * @var EmailLexer |
||
20 | */ |
||
21 | protected $lexer; |
||
22 | |||
23 | /** |
||
24 | * id-left "@" id-right |
||
25 | */ |
||
26 | abstract protected function parseRightFromAt() : Result; |
||
27 | abstract protected function parseLeftFromAt() : Result; |
||
28 | abstract protected function preLeftParsing() : Result; |
||
29 | |||
30 | 190 | public function parse(string $str) : Result |
|
57 | |||
58 | /** |
||
59 | * @return Warning\Warning[] |
||
60 | */ |
||
61 | 186 | public function getWarnings() : array |
|
65 | |||
66 | 186 | protected function hasAtToken() : bool |
|
67 | { |
||
68 | 186 | $this->lexer->moveNext(); |
|
76 | } |