天津理工大学编译原理的简易实验代码,包含了词法分析器、语法分析器、语义分析器,python写的...当然还有“可视化”,其实只是打印输出而已。
好吧,这个代码和那些牛逼的项目不一样,没有办法随意解析各种各样的C语言文法,也没有炫酷的输出,或者是华丽的模块化实现方式
这个代码仅仅做到了完成实验的最低限度:满足实验报告中所要求解析的文法
至于如何使用这些文件?完蛋了,时间太久我也忘了,只能记得一些细节:
对于实验一的词法分析器,输入为C.txt,输出为剩余的三个文件,至于这三个文件的内容是什么,由于编译原理的知识已经忘了,所以我回答不了。
对于实验二和三,特供词法分析器的输入为C2.txt,输出为identifier.txt、numlist.txt、word_list.txt,语义分析器和语法分析器的输入为特供词法分析器的输出文件,输出为quadruples.txt。 由于我做实验时的报告中要求解析的代码较为简单,因此我索性也简化了代码,没有使用实验一的词法分析器,而是使用针对报告的简单例子特供的词法分析器进行初步解析。同时由于语义分析器似乎不存在有意义的中间输出(?),仅仅作为语法分析器的前置存在,所以实验二三合二为一了😔。