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