基于关键词Trie树的GCC抽象语法树消除冗余算法
GCC(GNU Compiler Collection)编译器编译C语言源程序所生成的抽象语法树文本中包含大量与源代码无关的冗余信息,若直接进行解析,会严重影响分析效率,降低分析精确度,同时会占用大量存储空间.针对此问题,提出一种基于关键词Trie树的GCC抽象语法树消除冗余算法,其根据包含抽象语法树文本有用信息节点的关键词建立Trie树,可实现对抽象语法树文本无用节点的过滤,从而达到优化编译的效果.相比传统KMP消除冗余算法,关键词Trie树算法可以有效避免去冗余过程中常量、变量等有用信息节点的丢失,确保数据的完整性;同时,关键词Trie树算法可以最大限度地减少重复前缀或后缀字符串的比较次数,节省了时空开销.挑选不同长度的C语言源码文件进行去冗余实验,测试该算法的性能,并将其与传统KMP算法进行对比.实验结果表明,所提算法的去冗效率和查准率均得到了极大的提高.
GCC、抽象语法树、关键词Trie树、优化编译、KMP、消除冗余
47
TP311(计算技术、计算机技术)
国家自然科学基金项目;上海工程技术大学金课培育项目
2020-09-25(万方平台首次上网日期,不代表论文的发表时间)
共5页
47-51