猿问

使用ANTLR对C++代码进行语法分析并生成抽象语法树

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

侃侃无极

没有c++文法,无法直接对c++文法进行分析。不过github上有一个包含大部分语言(也包括c++)antlr格式的语法文件集合。cpp14的语法文件在这里你可以用从语法文件生成parser,然后用parser扫描c++代码,看官方教程Parserandlexerinterpreters扫描代码后你会得到一个ParseTree这个对象提供遍历的方法我推荐官方文档以及我的博文antlr4+maven+计算器例子
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答