Conditions | 1 |
Paths | 1 |
Total Lines | 21 |
Code Lines | 13 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php declare(strict_types = 1); |
||
20 | public static function parse(string $fql, AbstractFilterResolver $filterResolver): string |
||
21 | { |
||
22 | $tokenExtractor = new Full; |
||
23 | $tokenizer = new Tokenizer($tokenExtractor); |
||
24 | $tokenSequence = $tokenizer->tokenize($fql); |
||
25 | |||
26 | $parser = new Parser; |
||
27 | $syntaxTree = $parser->parse($tokenSequence); |
||
28 | |||
29 | $visitor = new Aggregate( |
||
30 | [ |
||
31 | new Binary, |
||
32 | new Group, |
||
33 | new Query, |
||
34 | new Phrase($filterResolver), |
||
35 | new Range($filterResolver), |
||
36 | new Word($filterResolver), |
||
37 | ] |
||
38 | ); |
||
39 | |||
40 | return $visitor->visit($syntaxTree->getRootNode()); |
||
41 | } |
||
44 |