- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学位论文-编译原理课程设计报告简单文法的编译器的设计与实现
课 程 设 计 报 告
设计题目:简单文法的编译器的设计与实现
班 级:学号:万分析,符号表,语义分析,中间代码生成元式,汇编代码生成43724张太
分工:部分语法分析43725 张天宝语义分析
及姓名:3722张俊杰
摘 要
编译原理是计算机科学与技术专业一门重要的专业课,?它具有很强的理论性与实践性,目的是系统地向学生介绍编译系统的结构、工作原理以及编译程序各组成部分的设计原理和实现技术,在计算机本科教学中占有十分重要的地位。计算机语言之所以能由单一的机器语言发展到现今的数千种高级语言,就是因为有了编译技术。编译技术是计算机科学中发展得最迅速、最成熟的一个分支,它集中体现了计算机发展的成果与精华。?
本课设是词法分析、语法分析、语义分析的综合,外加上扩展任务中间代码的优化和目标代码的生成,主要是锻炼学生的逻辑思维能力,进一步理解编译原理的方法和步骤。
关键词:目 录
生成
1 概述
编译程序(compiler)是把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序。几乎所有形式的计算都要用到编译器。程序运行的过程图如下图所示:
程序运行过程
编译程序的工作一般分为以下几个阶段:词法分析、语法分析、语义分析、中间代码产生、代码优化、目标代码产生。
2 课程设计任务及要求
2.1 设计任务
任务内容:1.定义一个简单程序设计语言文法(包括变量说明语句、算术运算表达式、赋值语句;If语句、While语句等)支持函调用,函数,支持传参和传.生成目标代码。
文法:1. p ro g r a m → d e c l a r a t i o n - l i s t
2. d e c l a r a t i o n - l i s t → d e c l a r a t i o n{ d e c l a r a t i o n}
3. d e c l a r a t i o n → v a r- d e c l a r a t i o n | f u n - d e c l a r a t i o n
4. v a r- d e c l a r a t i o n → t y p e - s p e c i f i e r I D[NUM]
5. t y p e - s p e c i f i e r → i n t | v o i d
6. f u n - d e c l a r a t i o n → t y p e - s p e c i f i e r I D( p a r a m s ) | c o m p o u n d - s t m t
7. p a r a m s → p a r a m s-l i s t | v o i d
8. p a r a m - l i s t → p a r a m{, p a r a m}
9. p a r a m → t y p e - s p e c i f i e r I D[ [ ]]
10. compound - s t m t → { l o c a l-d e c l a r a t i o ns s t a t e m e n t-l i s t }
11. l o c a l-d e c l a r a t i o ns → empty {v a r- d e c l a r a t i o n}
12. s t a t e m e n t-l i s t → empty{s t a t e m e n t }
13. s t a t e m e n t → e x p re s s i o n-s t m t | c o m p o u n d - s t m t | s e l e c t i o n - s t m t| i t e r a t i o n-s t m t | re t u r n-s t m t
14. e x p re s s i o n-s t m t → [e x p re s s i o n] ;
15. s e l e c t i o n - s t m t → i f ( e x p re s s i o n ) s t a t e m e n t [e l s e s t a t e m e n t]
16. i t e r a t i o n -s t m t → w h i l e ( e x p re s s i o n ) s t a t e m e n t
17. re t u r n
文档评论(0)