C-Minus词法分析和语法分析设计编译器编译原理课程设计 联系客服

发布时间 : 星期日 文章C-Minus词法分析和语法分析设计编译器编译原理课程设计更新完毕开始阅读4fc4cd488bd63186bcebbc8a

去掉注释之后自动生成sourceFile.txt中:

正确词法分析结果输出自动生成在Token.txt中:

正确语法分析的结果输出,自动生成在tokenTree.txt中:

4.2.2错误用例结果

错误处理:(将a.txt中“return ”改为“return 0”之后再运行):

错误词法分析结果输出自动生成在Token.txt中:

错误语法分析结果输出自动生成在token.Tree.txt中:

5. 总结

?

收获

熟悉C语言的结构、指针、文件方面的使用;学会用startUml构造状态图,及用 switch-case结构实现状态转换实现词法分析;学会用递归下降方法实现EBNF文法规则,进而实现语法分析;熟悉构造编译器的步骤及程序实现的框架及部分方法。

?

特色

有良好的输出界面,通过tiny程序修改成CMinus程序,其思路和方法和tiny差不多,

方便理解。

?

不足

① 程序语法实现部分只用了递归下降分析一种方法。

② 此程序框架与教材《编译原理及实践》附录B Tiny编译器的程序框架相似。 ③ 递归下降分析方法手工实现应经验少程序逻辑错误多,调试费时久,不能保证程序的高健壮性。