ANTLR生成AST

时间:2013-01-30 13:22:29

标签: eclipse parsing antlr lexer

我在Eclipse中使用Antlr创建了一个语法。我还认为我使用符号创建了AST - >和语法中的^等,但我不确定我还有什么需要做的。

我想要浏览AST并将其打印出来。但是我似乎甚至无法访问生成的解析器和词法分析器java文件。

    GrammarLexer lex = new ParserLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lex);
    GrammarParser parser = new GrammarParser(tokens);

上面的代码会在词法分析器和解析器上引发错误。在访问这些文件和创建AST方面,我是否有任何遗漏。

我不想评估AST,我只是有一些输入,我已经创建了一个解析树来使用语法,然后想要构建AST,我可以走过去并根据需要进行更改。

我的语法设置如下:

options {
  language = Java;
  output = AST;
  ASTLabelType=CommonTree;
}

@header {
   package antlr;
} 

@lexer::header { 
  package antlr;
}

我正在eclipse中工作,我设置了解析器和词法分析器的选项,在项目相关文件夹中生成,名为antlr_generated。

My Main.java与语法文件位于同一个包中。所以项目结构是:

项目:
src - > antlr - > Main.java,Grammar.g
antlr_generated - > GrammarLexer.java,GrammarParser.java

0 个答案:

没有答案