本人正在用java写一个代码相似度匹配检测,需要使用ANTLR对传入的C++代码进行语法分析并生成抽象语法树,搜了一下基本没看懂教程。现在提问如下:1.ANTLR的jar包中是否已经包含了C++的文法,可以直接对C++代码进行语法分析?2.如何对C++代码进行语法分析并生成抽象语法树?3.如何遍历这颗树?4.是否有关于这方面的论文可以参考下?
2 回答

侃侃无极
TA贡献2051条经验 获得超10个赞
没有c++文法,无法直接对c++文法进行分析。不过github上有一个包含大部分语言(也包括c++)antlr格式的语法文件集合。cpp14的语法文件在这里你可以用从语法文件生成parser,然后用parser扫描c++代码,看官方教程Parserandlexerinterpreters扫描代码后你会得到一个ParseTree这个对象提供遍历的方法我推荐官方文档以及我的博文antlr4+maven+计算器例子
添加回答
举报
0/150
提交
取消