下载此文档

DO-WHILE循环语句的翻译程序设计(简单优先法输出四元式).doc


文档分类:论文 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
学号:
0120910340521
课程设计
题目
DO-WHILE循环语句的翻译程序设计(简单优先法、输出四元式)
学院
计算机科学与技术学院
专业
计算机科学与技术专业
班级
计算机0905
姓名
冯强
指导教师
杨克俭
2012

01

04

课程设计任务书
学生姓名: 冯强专业班级: 计算机0905班
指导教师: 杨克俭工作单位:计算机科学与技术学院
题目: DO-WHILE循环语句的翻译程序设计(简单优先法、输出四元式)
初始条件:
理论:学完编译课程,掌握一种计算机高级语言的使用。
实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
写出符合给定的语法分析方法的文法及属性文法。
完成题目要求的中间代码四元式的描述。
写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。
编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。
设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:
1 系统描述(问题域描述);
2 文法及属性文法的描述;
3 语法分析方法描述及语法分析表设计;
4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计;
5 编译系统的概要设计;
6 详细的算法描述(流程图或伪代码);
7 软件的测试方法和测试结果;
8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);
9 参考文献(按公开发表的规范书写)。
时间安排:
设计安排一周:周1、周2:完成系统分析及设计。
周3、周4:完成程序调试及测试。
周5:撰写课程设计报告。
设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。
设计报告书收取时间:设计周的次周星期一上午10点。
指导教师签名: 2011年 11月 23日
系主任(或责任教师)签名: 2011年 11月 23日
DO-WHILE语句的翻译程序设计
(简单优先法,输出四元式)
1问题描述
输入一个DO-WHILE的语句,进行词法分析,词法分析器利用超前搜索,状态转换等方法,将源程序转化成为一个一个的单词符号二元式,如果词法分析无误,则进入语法分析部分,使用简单优先法进行文法分析,为每个终极符与非终极符之间定义优先关系,利用优先关系进行移进-规约,如果能规约到文法的开始符,则文法分析成功,输出四元式.
2文法及属性文法的描述

G(s): S->do B while E,
B->c:=a+1,
E->a>b

G(s): S->do B while E, { :=newlabel;
:=;
:=newlabel;
:= ;
:=gen(’:’) ‖ ‖ ‖
gen(’:’) ‖gen(‘goto’) }
B->c:=a+1 { := ’c:=a+1’}
E->a>b { =gen(‘if’’a>b’’goto’ ) ‖
Gen(‘goto’ ) }
E->true {:=gen(‘goto’ ) }
E->false {:=gen(‘goto’ ) }
3语法分析方法及中间代码形式的描述


一个文法G,若它不含e产生式,也不含任何右部相同的不同产生式,并且它的任何符号对(X,Y),或者没有关系,或者存在下述三种关系:=、<、>之一,则称该文法是一个简单优先文法。
A)X=Y当且仅当G中含有形如P®…XY…的产生式
B)X<Y当且仅当G中含有形如P®…XQ…的产生式,其中Q为非终结符,且Q ®Y...
C)X>Y当且仅当Y为G的终结符,G中含有形如P®…QR…的产生式,其中Q,R为非终结符,且
Q ®…X,YÎFirst(R)
D)对任何X,若文法开始符号S®X…,则#<X,若S®…X,则X>#。

根据优先关系的定义,将简单优先文法中各文法符号之间的这种关系用一个矩阵表示,称作简单优先矩阵。PDA读入一个单词后,比较栈顶符号和该单词的优先级,若栈顶符号优先级低于该单词,继续读入;若栈顶符号优先级高于或等于读入符号,则找句柄进行归约,找不到句柄就继续读入。直到最后栈内只剩下开始

DO-WHILE循环语句的翻译程序设计(简单优先法输出四元式) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人86979448
  • 文件大小158 KB
  • 时间2018-03-10