编译原理课程设计---小型程序设计语言编译器的设计与实现

编译原理课程设计---小型程序设计语言编译器的设计与实现

ID:9889385

大小:3.52 MB

页数:33页

时间:2018-05-14

编译原理课程设计---小型程序设计语言编译器的设计与实现_第1页
编译原理课程设计---小型程序设计语言编译器的设计与实现_第2页
编译原理课程设计---小型程序设计语言编译器的设计与实现_第3页
编译原理课程设计---小型程序设计语言编译器的设计与实现_第4页
编译原理课程设计---小型程序设计语言编译器的设计与实现_第5页
资源描述:

《编译原理课程设计---小型程序设计语言编译器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计报告课程设计名称:编译技术系:三系学生姓名:王辉班级:09软件(1)班学号:成绩:指导教师:石鲁生开课时间:2011-2012学年2学期1目录一.设计题目1二.主要内容1三.具体要求1四.进度安排2五.成绩评定2六.设计思路31.词法分析3(1)单词符号及种别表32.SLR的分析表:41).算术表达式的SLR(1)分析表:42).布尔表达式的SLR分析表:43).程序语句的SLR分析表:6七.源程序及运行结果71)源代码:72)运行截图28八.心得体会311编译原理课程设计报告一.设计题目小型程序设计语言编译器的设计与

2、实现二.主要内容自定义一种简单的小型高机程序设计语言,采用任意一种编程语言和编程工具设计并实现其编译器,展示编译系统中词法分析和语法分析的全过程。三.具体要求1、对单词的构词规则有明确的定义;2、编写的词法分析程序能够正确识别源程序中的单词符号;3、识别出的单词以<种别码,值>的二元式形式保存在符号表中并输出;4、构造出程序设计语言各语法单位的SLR分析表;(其他分析表亦可)5、能够对输入的源程序做出正确的语法分析并输出清晰的结果;6、高级语言的规模不易过大,注重编译器内核的设计,对于界面无要求;7、课程设计报告中应对所自定义

3、高级语言进行简单描述,对编译器的设计进行简单的需求分析,给出设计说明和程序结构框架,阐明设计思路、用到的原理和方法。-30-编译原理课程设计报告8、不可更改课程设计报告中已有的字体和格式,课程设计报告中新加入内容,汉字采用宋体五号字,英文字符和数字采用TimesNewRoman五号字。9、课程设计报告中的运行结果应以程序运行截图形式出现。10、程序源代码以邮件名称:“班级学号姓名”发送至指定邮箱:sqckcsj08@126.com四.进度安排序号内容时间(天)1布置题目、查找资料12概要设计13详细设计34调试分析15测试结果

4、0.56总结和完成设计报告1合计7.5五.成绩评定1.考核方法:通过现场考勤、检查源程序和批改课程设计报告相结合的方式考察学生的动手能力,独立分析解决问题的能力和创新精神,并根据学生的学习态度综合考评。2.成绩评定:成绩分优、良、中、及格和不及格五等。-30-编译原理课程设计报告六.设计思路1.词法分析(1)单词符号及种别表符号种别编码说明sy_if0保留字ifsy_then1保留字thensy_else2保留字elsesy_while3保留字whliesy_begin4保留字beginsy_do5保留字dosy_end6保留

5、字enda7赋值语句semicolon8“;”e9布尔表达式jinghao10“#”S11语句L12复合语句tempsy15临时变量EA18BandEO19Borplus34“+”times36“*”becomes38“:=”op_and39“and”op_or40“or”op_not41“not”rop42关系运算符lparent48“(”rparent49“)”ident56变量intconst57整常量-30-编译原理课程设计报告2.SLR的分析表:1).算术表达式的SLR(1)分析表:算数表达式文法G[E]如下:E->

6、E+E

7、E*E

8、(E)

9、i将文法G[E]拓广为文法G’[E]:(0)S’→E(1)E→E+E(2)E→E*E(3)E→(E)(4)E→i由此得到算数表达式的SLR(1)分析表如下:状态ACTIONGOTOi+*()#E0s3s211s4s5acc2s3s263r4r4r4r44s3s275s3s286s4s5s97r1s5r1r18r2r2r2r29r3r3r3r32).布尔表达式的SLR分析表:布尔表达式的文法如下:B->B∧B

10、B∨B

11、¬B

12、Iropi

13、i为了便于语法分析时加工处理,我们将上述文法改为文法G[S]:-30-

14、编译原理课程设计报告B→BAB

15、B0B

16、¬B

17、(B)

18、Iropi

19、iBA→B∧B0→B∨将文法G[S]拓广为文法G[S’]:(0)S’→B(1)B→i(2)B→Iropi(3)B→(B)(4)B→NOTB(5)A→BAND(6)B→AB(7)O→BOR(8)B→OB由此得到布尔表达式的SLR(1)分析表如下:状态ACTIONGOTOirop()NOTANDOR#BAO0s1s4s513781s2r1r1r1r12s33r2r2r2r24s1s4s511785s1s4s56786r4s9s10r47s1s4s514788s1s4

20、s515789r5r5r510r7r7r711s12s9s1012r3r3r3r313s9s10acc14r6s9s10r615r8s9s10r8-30-编译原理课程设计报告3).程序语句的SLR分析表:程序语句的文法G[S]如下S→ifethenSelseS

21、whileed

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。