编译原理课程设计---语法制导(共10页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《编译原理课程设计---语法制导(共10页).docx》由会员分享,可在线阅读,更多相关《编译原理课程设计---语法制导(共10页).docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上郑州轻工业学院课程设计说明书题目: 语法制导生成方法 姓 名: 孙雪平 院 (系): 计算机与通信工程学院 专业班级: 计算机科学与技术 学 号: 5 指导教师: 马吉明 成 绩: 时间: 2013年6月 17 日至 2013 年 6 月21日专心-专注-专业郑州轻工业学院课 程 设 计 任 务 书题目 语法制导生成方法 专业、班级 计科10-01 学号 5 姓名 孙雪平 主要内容、基本要求、主要参考资料等:内容:以语句的四元式中间代码及其语法制导生成为例分析语法制导生成方法。给出FOR或WHILE语句的四元式结构及其语法制导生成过程基本要求:从文件中读入表达式,输出
2、其四元式的结果序列 本程序只能生成赋值语句及算数表达式中间代码的四元式不能生成逻辑表达式及其他复杂语句中间代码的四元式,其功能还需要进一步完善主要参考资料:编译原理第三版 刘铭 徐兰芳 骆婷 编完 成 期 限: 2013 年 6 月 21日指导教师签名: 课程负责人签名: 年 月 日 目录1. 实验原理1.1. 实验原理(1)自顶向下法(推导法)从开始符号出发,采用推导运算,试图自顶向下构造语法树。自底向上法(归约法)从给定的符号串出发,采用归约运算,试图自底向上构造语法树。(2)递归下降子程序法:递归子程序法属于自顶向下语法分析方法。故又名递归下降法。要求文法是LL(1)文法。 LL(1)分
3、析法:LL(1)分析法是指从左到右扫描(第一个 L) 、最左推导(第二个 L)和只查看一个当前符号(括号中的 1)之意;LL(1)分析法又称预测分析法,属于自顶向下确定性语法分析方法。要求文法是LL(1)文法。(3)相同点:都要求文法是LL(1)文法;都是自顶向下的分析方法;都通过分析下个字符来判断该进入哪个状态或者调用哪个函数。 不同点:LL(1)分析法先建立起预测分析表,通过对分析栈的不断操作(出栈,入栈)来进行;递归下降子程序法是通过函数间的函数调用来实现不同状态间的转换,并简化了代码。(4)语法制导翻译是在语法分析过程中,随着分析(推导或归约)的逐步进展,每识别出一个语法结构,根据文法
4、的每个规则所对应的语义子程序进行翻译的方法;核心技术是构造属性翻译文法。(5)假定:SEM(m)- 语义栈(属性传递、赋值场所);QTq 四元式区;G(E):E - T | E+TGEQ(+) | E-TGEQ(-) T - F | T*FGEQ(*) | T/FGEQ(/)F - iPUSH(i) | ( E ) 其中: PUSH(i) 压栈函数(把当前 i 压入语义栈); GEQ(w) 表达式四元式生成函数:生成一个四元式送QTq过程: t := NEWT; 申请临时变量函数; SEND(w,SEMm-1,SEMm,t) POP;POP;PUSH(t)1.2. 实验目的(1)设计语法制导翻
5、译生成表达式的四元式的算法;(2)编写代码并上机调试运行通过。输入算术表达式;输出语法分析结果;相应的四元式序列。(3)设计LL(1)分析法或LR(0)分析法的属性翻译文法,并根据这些属性翻译文法,使用扩展的语法分析器实现语法制导翻译。一个小例子:算术表达式文法:G(E): E E 0 T | T T T 1 F | FF i | (E)文法变换:G(E) E T 0 T T F 1 FF i | (E)属性翻译文法:E T 0 “push(SYN, w)” T “QUAT” T F 1 “push(SYN, w)” F “QUAT”F i “push(SEM, entry(w)” | (E)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课程设计 语法 制导 10
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内