我正在为ANTLR中的一小部分C编写一个词法分析器/解析器,它将在Java环境中运行.我是语言语法世界的新手,在许多ANTLR教程中,他们创建了一个AST - 抽象语法树,我被迫创建一个,为什么?
使用ANTLR创建AST已纳入语法.您不必这样做,但它是一个非常好的工具,可以满足更复杂的要求.这是您可以使用的树构造教程.
基本上,使用ANTLR解析源时,您有几个选项.您可以使用语法中的重写规则生成代码或AST.一个AST基本上是一个在源的内存中表示.从那里,你可以做很多事情.
ANTLR有很多东西.如果你还没有,我会建议你拿到这本书.