以下为《编译原理 实验报告》的无排版文字预览,完整内容请下载
编译原理实验报告
班级:18计某某2班 姓名:杨某某
一.有如下算术运算文法:
1) E->E+T
2) E->E-T
3) E->T
4) T->T*F
5) T->T/F
6) T->F
7) F->(E)
8) F->I
9) I->***十六进制实数|
***八进制整数
10) 十进制实数->
(0|(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9) *).(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9) *
11) 八进制实数->
0(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)*
.(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7) *
12) 十六进制实数 ->
0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* .(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f) *
13) 十进制整数->
0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9) *
14) 八进制整数->
0(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7) *
15)十六进制整数->
0x(0|1|2|3|4|5|6|7|8 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 12
语法分析输出 :运算式语法正确!
2.输入(1-44))/4
语法分析输出 第六个单词‘)’出错
注意:如果单词输入错误,必须有提示,例如:
3.输入 12a+45*013468-0x23a3
词法分析输出:
错误数据12a
运算符 +
十进制整数 45
运算符 *
错误数据 ***
运算符 -
十六进制整数 0x23a3
输入运算式,如无任何词法和语法错误,则得到运算结果并显示,如有错误,显示错误内容。
六.成果展示
1.当输入正确的算术表达式(0124.3+0x35a.4f)*12后,系统分别做出如下的词法分析、语法分析和语义分析。
2.当输入错误的算术表达式12a+45*13468-0x23a2后,系统分别做出如下的词法分析、语法分析和语义分析。存在错误并提示错误。
当输入正确的算术表达式(0124.3+0x35a.4f)*12后,系统分别做出如下的词法分析、语法分析和语义分析。
实验总结心得
我意识到对于做每一件事,你的付出时间和你的成果是成正比的。所以,对于做一件事,要舍得花时间,肯花时间,这样最后的效果才会更好。对于编译原理,整体看下来自己做得不算好。意识到不足,我更加地明向自己能力不够强。在今后的学习里,需要更加地努力才行,能力越强,自己的提升空间就会越大,完成一件事的效率也才会更高。争取在以后做一个高效率,强能力的人
通过本次实验,我掌握了自动机,对词法分析,语法分析,以及语义分析了更深的理解。
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《编译原理 实验报告》的无排版文字预览,完整内容请下载
编译原理 实验报告由用户“lijfster123”分享发布,转载请注明出处