基于JavaCC的抽象语法树生成错误处理技术研究
Research on Error Handling Technology of Abstract Syntax Tree Generation Based on JavaCC作者机构:北京邮电大学网络与交换技术国家重点实验室北京100876
出 版 物:《计算机测量与控制》 (Computer Measurement &Control)
年 卷 期:2022年第30卷第2期
页 面:151-159页
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:抽象语法树 C++程序 JavaCC解析工具 语法变更 错误处理
摘 要:随着C++语言标准的不断演进,词法语法解析工具如JavaCC等对于很多扩充的新特性以及复杂的语法结构不能做到完全支持,这可能会导致抽象语法树生成错误且不完整;针对这一问题,提出一个针对抽象语法树生成错误的处理框架;首先,通过对JavaCC的扩充,实现一套可以解析C++语言的词法语法分析器,生成抽象语法树并记录报错行;其次,根据报错行寻找所在函数区间即不支持或不匹配的语法片段;最后,通过注释函数区间的方式来跳过不支持或不匹配的语法片段进行错误处理并迭代生成抽象语法树;实验结果表明,对抽象语法树生成进行错误处理后可以更全面的分析代码,抽象语法树完成率上升37.8%,分析行数提高3.9倍。