/** * @param TokenStream $tokenStream * @return Query * @throws SyntaxErrorException */ public function parse(TokenStream $tokenStream) { $queryBuilder = $this->createQueryBuilder(); while (!$tokenStream->isEnd()) { $queryBuilder->addNode($this->tokenParserGroup->parse($tokenStream)); $tokenStream->nextIf(Token::T_AMPERSAND); } return $queryBuilder->getQuery(); }