- 11
- 0
- 约2.32万字
- 约 33页
- 2018-07-13 发布于江苏
- 举报
编译原理课程设计 C语言编译器地实现
编译原理课程设计报告设计题目 编译代码生成器设计 学生姓名 班 级 学 号 指导老师 成 绩 一、课程设计的目的 编译原理课程兼有很强的理论性和实践性,是计算机专业的一门非常重要的专业基础课程,它在系统软件中占有十分重要的地位,是计算机专业学生的一门主修课。为了让学生能够更好地掌握编译原理的基本理论和编译程序构造的基本方法和技巧,融会贯通本课程所学专业理论知识,提高他们的软件设计能力,特设定该课程的课程设计,通过设计一个简单的PASCAL语言(EL语言)的编译程序,提高学生设计程序的能力,加深对编译理论知识的理解与应用。二、课程设计的要求明确课程设计任务,复习编译理论知识,查阅复印相关的编译资料。按要求完成课程设计内容,课程设计报告要求文字和图表工整、思路清晰、算法正确。写出完整的算法框架。编写完整的编译程序。 三、课程设计的内容 课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于编译的知识量较复杂而且综合性较强,因而对一个完整的编译程序不适合平时实验。通过课程设计可以达到综合设计编译程序的目的。本课程的课程设计要求学生编写一个完整的编译程序,包括词法分析器、语法分析器以及实现对简单程序设计语言中的逻辑运算表达式、算术运算表达式、赋值语句、IF语句、While语句以及do…while语句进行编译,并生成中间代码和直接生汇编指令的代码生成器。四、总体设计方案及详细设计总体设计方案:1.总体模块主程序主程序词法分析程序语法分析程序中间代码生成程序2.表2.1 各种单词符号对应的种别码单词符号种别码 单词符号种别码bgin1:17If2:=18Then320wile421do5=22end623lettet(letter|digit)*10=24dight dight*11=25+13;26—14(27*15)28/16#0详细设计: 4.1界面导入设计 (1)一共三个选项:①choice 1--------cifafenxi ②choice 2--------yufafenxi ③choice 3--------zhongjiandaima (2)界面演示 图一 图二 图三 4.2词法分析程序置初值调用扫描子程序置初值调用扫描子程序输出单词二元组输入串结束结束否是(2)具体功能的具体设计1、cifafenxi( ) 首先设置prog[n]来接收输入的语句,以‘#’来结束; 调用扫描子程序 scaner1( ),每一次得到一个类型码; 用switch判别相应输出; 直到syn1=0为止。2、扫描子程序scaner1( )-----------------扫描输入的语句 首先设置3个变量:①token1用来存放构成单词符号的字符串;②sum1用来存放整型单词;③syn1用来存放单词符号的类型码。 有关scaner1()中关键点解析: ①while((ch== )||(ch==\n)) ch=prog[p++]; ;忽略空格 ②if(((ch=z)(ch=a))||((ch=Z)(ch=A))) { while(((ch=z)(ch=a))||((ch=Z)(ch=A))||((ch=0)(ch=9))) { token[m++]=ch; ch=prog[p++]; } ;判别标识符 ③for(n=0;n6;n++) if(strcmp(token,rwtab[n])==
您可能关注的文档
最近下载
- 可摘局部义齿修复工艺技术——第十章义齿带入后问题分解.pptx VIP
- 2025年江西新能源科技职业学院单招职业技能测试题库及答案1套.docx VIP
- 胶合板行业的生产管理流程.docx VIP
- 学前儿童家庭与社区教育慕课版全套教学课件.pptx
- 2022年-2024年青岛卫健委事业编护理笔试真题.docx VIP
- 汉责文化打屁股.pptx VIP
- 可摘局部义齿修复工艺技术应用第十章义齿带入后问题-.pptx VIP
- 2025年浙江省公务员省考《行测》联考真题(A类)(含答案).docx VIP
- 2《宁夏闽宁镇昔日干沙滩,今日金沙滩》公开课一等奖创新教案+(共40张)+随堂练习(含答案).docx VIP
- 全新世中期西辽河流域聚落选址与环境解读.pdf VIP
原创力文档

文档评论(0)