为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

ITMISS 2019-04-09 20:24:07
本人正在用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+计算器例子
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 1900 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号