下载此文档

编译原理课程设计--算术表达式的语法分析及语义分析程序设计.doc


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
课程设计任务书
学生姓名: 专业班级:
指导教师: 工作单位:
题目: 算术表达式的语法分析及语义分析程序设计

通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。

算术表达式的文法:
选择算符优先分析法完成以上任务,中间代码选用逆波兰式。
写出算术表达式的符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。
编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。
:
(1)设计题目、班级、学号、姓名、完成日期;
(2)给出算术表达式的语法分析和语义分析的设计。
(3)简要的分析与概要设计;
(4)详细的算法描述;
(5)源程序清单;
(6)给出软件的测试方法和测试结果;
(7)设计的评价、收获与体会。
时间安排:
第18周,周1-周3下午,周5全天
指导教师签名: 年月日
系主任(或责任教师)签名: 年月日
1 课设要求
设计题目算术表达式转换成逆波兰式(用算符优先分析法)

课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练****相辅相成的必不可少的一个教学环节。通常,设计题中的问题比平时的练****题要复杂,也更接近实际。编译原理这门课程安排的课程设计的目的是旨在要求学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容,选择合适的数据逻辑结构表示问题,然后编制算法和程序完成设计要求,从而进一步培养学生独立思考问题、分析问题、解决实际问题的动手能力。
要求学生在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法编制和程序代码的编写。
设计内容及要求
算术表达式的文法:
〈无符号整数〉∷= 〈数字〉{〈数字〉}
〈标志符〉∷= 〈字母〉{〈字母〉|〈数字〉}
〈表达式〉∷= [+|-]〈项〉{〈加法运算符〉〈项〉}
〈项〉∷= 〈因子〉{〈乘法运算符〉〈因子〉}
〈因子〉∷= 〈标志符〉|〈无符号整数〉|‘(’〈表达式〉‘)’
〈加法运算符〉∷= +|-
〈乘法运算符〉∷= *|/
,中间代码选用逆波兰式。
,给出分析方法的思想,。
编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。
2 摘要
一个新的语言的出现,必然会有与之配套的编译器的产生。编译器对于一个语言的重要性不言而喻。编译过程分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成这六个阶段。而语法分析和语义分析是最关键的核心部分。要做好一个编译器必须要懂得如何根据构造的文法来识别出它的语法和语义。语法分析的方法很多,而比较容易懂的就有算符优先分析法,本次课设的主题就是要弄懂算符优先分析发。
学****制作编译器不仅会让你弄懂这门课,还会让你提高写代码的能力,特别是写出高效,可靠性好的代码。
关键字:算术表达式,算符优先文法,逆波兰式
3 引言
逆波兰式又叫做后缀表达式,它的用途很多,譬如做计算器的时候可以对算术表达式采用这种形式来表示,从而可以很容易的来进行计算。在编译原理中,生成中间代码的步骤里,逆波兰式也是中间代码的一种表示形式。
算符优先分析法是自底向上进行语法分析的一种方式。自底向上分析的思想就是对输入的符号串自左向右的进行扫描,并将输入符逐个移入一个后进先出栈,边移入边分析,一旦栈顶符号串形成某个句型的句柄或可规约串时,就用该产生式左部的非终结符代替相应右部的文法符号串,这一步叫做规约。重复这一过程直到规约到栈中只剩文法的开始符号时则规约成功,也就确认了这个输入串是文法的句子。算符优先法规定了算符之间的优先关系,通过先于关系识别句柄尾,通过后于关系识别句柄头,以此来进行规约。
4 正文
需求分析
要通过算符优先分析方法进行将算术表达式转换成为逆波兰式,首先要经过词法分析,然后是语法分析,通过规约来输出算术表达式的逆波兰式。故先要求出每个非终结符的FIRSTVT()集和LASTVT()集,然后求出终结符的算符优先矩阵,最后以此来规约。因此程序应该能够提供输入一个任意的算符优先文法,并可以对输入的文法进行判断,还可以对文法进行改写,便于后面的分析。自动求出每个非终结符的FIRSTVT()集和LASTVT()集,自动构造终结符的优先矩阵,然后自动规约,输出逆波兰式。
理论基础
算符优先分析法是自底向上分析法法的一种,它的工作原理是先求出文法中每个非终结符的FIRSTVT()集和LASTVT()

编译原理课程设计--算术表达式的语法分析及语义分析程序设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xiang1982071
  • 文件大小202 KB
  • 时间2018-06-15
最近更新