编译原理课设

发布时间 : 星期五 文章编译原理课设更新完毕开始阅读

“编译原理”课程设计报告 CPR-1206010231 return false; } }

else if(d=='T') //当栈顶元素为T时

{

if(s[b]=='+')

//若输入串为+

{

sc.pop();

//栈顶元素出栈

for(int i=0;i

sc.push(T.a1[i]);

//TA+入栈

}

strcpy(css,\return true; }

else if(s[b]=='#')

//若输入串为#

{

sc.pop();

//栈顶元素出栈

strcpy(css,\return true; }

else if(s[b]==')')

//若输入串为)

{

sc.pop();

//栈顶元素出栈

strcpy(css,\return true; }

Page 21 of 24

“编译原理”课程设计报告 CPR-1206010231 else {

cout<<\return false; } }

else if(d=='#') //当栈顶元素为#时

{

cout<<\接受\return false; } else

//当栈顶元素不满足以上条件时

{

cout<<\return false; } }

【实验4.4】调试与测试数据

输入字符不在分析范围中的错误界面:

Page 22 of 24

“编译原理”课程设计报告 CPR-1206010231

错误分析:输入串a不在题目的终结符集中 以下为正确执行情况下的界面: 开始界面:

输入界面:

输出界面:

Page 23 of 24

“编译原理”课程设计报告 CPR-1206010231

3 总结与体会

在这次《编译原理》课程设计实践课, 我遇到很多的问题,例如C语言中某个函数的如何编写,某些符号如何使用等等。面对这些问题,我们首先通过询问其他同学或者通过书籍,网络查找等方法解决问题,直到把问题解决。在完成课程设计的时候,我对于编译原理有了很多的认识,同时个人编程能力也得到了很大提升。

在整个课程设计过程中,我逐渐对于程序设计过程,以及编写程序的模块思想和对类和数据结构有了全新的认识,对文法、词法分析和语法分析的知识点加深了很多,同时我们对于计算机的这门学科,编译原理的课程设计以及程序编写产生更多的兴趣和激情。

致谢:

首先,感谢余宇峰老师细心地指导、提供给我的支持和给予这个锻炼的平台,其次,感谢课程设计中帮助我的同学,谢谢大家。

附录:

1. 第一题源程序:bianyi1.cpp

2. 词法分析流程图vsd文件:bianyi1.vsd 3. 词法分析流程图jpg文件:bianyi1.jpg 4. 第四题源程序:bianyi2.cpp

5. 语法分析流程图vsd文件:bianyi4.vsd 6. 语法分析流程图jpg文件:bianyi4.jpg

Page 24 of 24

联系合同范文客服:xxxxx#qq.com(#替换为@)