加减乘除计算器算术表达式的语法分析及语义分析程序设计.rar
加减乘除计算器算术表达式的语法分析及语义分析程序设计,20页,近9000余字目录概述1.1设计题目1.2设计目的-----------------------------------------------------021.3设计内容-------------------------------------------...
该文档为压缩文件,包含的文件列表如下:
内容介绍
原文档由会员 bshhty 发布
加减乘除计算器算术表达式的语法分析及语义分析程序设计
20页,近9000余字
目录
概述
1.1设计题目
1.2设计目的-----------------------------------------------------02
1.3设计内容-----------------------------------------------------02
1.4设计时间-----------------------------------------------------02
设计环境与工具---------------------------------------------02
设计原则
3.1递归下降法的描述
3.1.1实现思想-------------------------------------------------02
3.1.2算法的特点--------------------------------------------------03
3.1.3构造递归下降语法分析程序-----------------------------03
3.2逆波兰式的描述
3.2.1逆波兰式的定义--------------------------------------------03
3.2.2产生逆波兰式的前提:中缀算术表达式-------------04
设计概要
4.1数据结构的说明-----------------------------------------------04
4.2变量的说明-----------------------------------------------------04
4.3函数的说明-----------------------------------------------------05
4.4详细的算法描述及程序框图
4.4.1主函数的说明和框图------------------------------------05
4.4.2 子函数的说明及框图-----------------------------------07
源程序------------------------------------------------------------09
运行结果--------------------------------------------------------15
设计评价及体会
7.1设计心得--------------------------------------------------------18
7.2经验教训--------------------------------------------------------19
参考文献--------------------------------------------------------19
算术表达式的语法分析及语义分析程序设计
1概述
1.1设计题目
用递归下降法实现算术表达式的语法分析及语义分析程序设计,中间代码选用逆波兰式。
1.2设计目的
通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。
1.3设计内容
(1)选择递归下降法完成算术表达式的语法分析及语义分析程序设计,中间代码选用逆波兰式。
(2)写出符合分析方法要求的文法,给出分析方法的思想。
(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序
1.4设计时间
20周一周
2.设计环境与工具
Microsoft Visual C++ 6.0
3.设计原则
3.1递归下降法的描述
3.1.1实现思想
它的主要原理是,对每个非终极符按其产生式结构构造相应语法分析子程序,其中终极符产生匹配命令,而非终极符则产生过程调用命令。因为文法递归相应子程序也递归,所以称这种方法为递归子程序下降法或递归下降法。其中子程序的结构与产生式结构几乎是一致的。文法中每个非终结符对应一个递归过程(子程序),每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选式时能够按LL(1)形式可唯一地确定选择某个候选式进行推导。
3.1.2算法的特点
递归下降法是语法分析中最易懂的一种方法。递归下降法要满足的条件:假设A的全部产生式为Aα1|α2|……|αn ,则必须满足如下条件才能保证可以唯一的选择合适的产生式
predict(Aαi)∩predict(Aαj)=Φ,当i≠j.
………………………………………………………………………………………………………………………………………………………………………………………………………………
8.参考文献
《编译原理》,周经野,张继福,武汉理工大学出版社
《程序设计语言编译原理》(第3版),陈火旺,刘春林等,国防工业出版社
《编译原理》(第二版),吕映芝、张素琴、蒋维杜,清华大学出版社
《编译原理》,张幸儿 ,科学出版社
《编译原理与技术》(第二版),陈意云,中国科学技术大学出版社
《编译原理实践教程》,胡元义、邓亚玲、胡英,西安电子科技大学出版社
《编译原理课程设计》,王雷、刘志成、周晶,机械工业出版社
《编译原理学习指导》,胡元义、柯丽芳,西安电子科技大学出版社
20页,近9000余字
目录
概述
1.1设计题目
1.2设计目的-----------------------------------------------------02
1.3设计内容-----------------------------------------------------02
1.4设计时间-----------------------------------------------------02
设计环境与工具---------------------------------------------02
设计原则
3.1递归下降法的描述
3.1.1实现思想-------------------------------------------------02
3.1.2算法的特点--------------------------------------------------03
3.1.3构造递归下降语法分析程序-----------------------------03
3.2逆波兰式的描述
3.2.1逆波兰式的定义--------------------------------------------03
3.2.2产生逆波兰式的前提:中缀算术表达式-------------04
设计概要
4.1数据结构的说明-----------------------------------------------04
4.2变量的说明-----------------------------------------------------04
4.3函数的说明-----------------------------------------------------05
4.4详细的算法描述及程序框图
4.4.1主函数的说明和框图------------------------------------05
4.4.2 子函数的说明及框图-----------------------------------07
源程序------------------------------------------------------------09
运行结果--------------------------------------------------------15
设计评价及体会
7.1设计心得--------------------------------------------------------18
7.2经验教训--------------------------------------------------------19
参考文献--------------------------------------------------------19
算术表达式的语法分析及语义分析程序设计
1概述
1.1设计题目
用递归下降法实现算术表达式的语法分析及语义分析程序设计,中间代码选用逆波兰式。
1.2设计目的
通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。
1.3设计内容
(1)选择递归下降法完成算术表达式的语法分析及语义分析程序设计,中间代码选用逆波兰式。
(2)写出符合分析方法要求的文法,给出分析方法的思想。
(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序
1.4设计时间
20周一周
2.设计环境与工具
Microsoft Visual C++ 6.0
3.设计原则
3.1递归下降法的描述
3.1.1实现思想
它的主要原理是,对每个非终极符按其产生式结构构造相应语法分析子程序,其中终极符产生匹配命令,而非终极符则产生过程调用命令。因为文法递归相应子程序也递归,所以称这种方法为递归子程序下降法或递归下降法。其中子程序的结构与产生式结构几乎是一致的。文法中每个非终结符对应一个递归过程(子程序),每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选式时能够按LL(1)形式可唯一地确定选择某个候选式进行推导。
3.1.2算法的特点
递归下降法是语法分析中最易懂的一种方法。递归下降法要满足的条件:假设A的全部产生式为Aα1|α2|……|αn ,则必须满足如下条件才能保证可以唯一的选择合适的产生式
predict(Aαi)∩predict(Aαj)=Φ,当i≠j.
………………………………………………………………………………………………………………………………………………………………………………………………………………
8.参考文献
《编译原理》,周经野,张继福,武汉理工大学出版社
《程序设计语言编译原理》(第3版),陈火旺,刘春林等,国防工业出版社
《编译原理》(第二版),吕映芝、张素琴、蒋维杜,清华大学出版社
《编译原理》,张幸儿 ,科学出版社
《编译原理与技术》(第二版),陈意云,中国科学技术大学出版社
《编译原理实践教程》,胡元义、邓亚玲、胡英,西安电子科技大学出版社
《编译原理课程设计》,王雷、刘志成、周晶,机械工业出版社
《编译原理学习指导》,胡元义、柯丽芳,西安电子科技大学出版社