我使用ANTLR4编写Fortran解析。现在我得到了解析树(ANTLR4中没有AST)。我的下一步工作是根据我的需要修改解析树,例如插入新的数据声明语句和替换当前的语句。我在ANTLR java API文档中查找了addChild
,但在RuleNode
中似乎没有这样的方法。那我该怎么办?
答案 0 :(得分:0)
一种方法是将代码嵌入语法文件中。这让事情变得很乱。
另一种方法是在单独的文件中编写类,在@parser::members{...}
部分或规则的操作部分中创建所需的对象,并使用它们从语法中获取详细信息。这样,您就可以从语法中获取信息,并且可以使用类对数据进行建模。
祝你好运!