consume
не является правилом, определенным в грамматике PHP. Попробуйте это:
parser.htmlDocument();
И чтобы распечатать дерево разбора, возвращаемое htmlDocument
:
PhpLexer lexer = new PhpLexer(CharStreams.fromString("echo 'aaa';"));
PhpParser parser = new PhpParser(new CommonTokenStream(lexer));
System.out.println(parser.htmlDocument().toStringTree(parser));
, будет напечатано:
(htmlDocument (htmlElementOrPhpBlock (htmlElements (htmlElement echo 'aaa';))) <EOF>)
Как видите, он распознает ваш ввод как HTML. Если вы проанализируете <?php echo 'aaa';
, он будет распознан как PHP.