下载此文档

WHILE循环语句的翻译程序设计(简单优先法三地址输出).doc


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
目录1问题域描述..........................................32文法及属性文法的描述.....................................................................................43语法分析方法及中间代码形式的描述............................................................................................64编译系统的概要设计.....................................................................................................................85详细的算法描述....................................................................................................................................................................96软件的调试过程和结果测试.................................................................................................................197使用说明............................................208课设总结............................................209参考文献.............................................22WHILE循环语句的翻译程序设计(简单优先法、输出三地址表示)1问题域描述while循环语句的翻译程序设计(简单优先法,输出单地址表示),要求完成:用C++语言正确编写程序,完成WHILE循环语句的翻译程序设计。求能正确进行词法分析,语法分析,并能正确的输出预期结果。根据指定的文法,判定程序的正确性。本次课程设计中要求设计一个WHILE循环语句的词法﹑语法及语义分析程序,语法分析选择简单优先法,采用语法制导翻译输出中间代码三元式。通过设计、编制、调试一个WHILE循环语句的语法及语义分析程序,加深对语法及语义分析原理的理解,实现功能。while循环语句的格式为:while(P){doA},其中A为循环体,可为一个或多个赋值语句;P为循环控制条件。while循环语句首先根据循环控制条件P进行判断,若满足条件则执行循环体A,否则执行下面的程序段;本次课程设计中系统首先要进行词法分析,即从左到右把源文件的字符序列逐个进行扫描,产生一个个的单词序列,作为语法分析的输入从而继续编译过程。该程序的语法分析读入词法分析的结果,并判断输入语句是否满足while循环语句的文法所描述的形式。通过简单优先法对语句进行分析,看是否能通过给定的输入串归约到文法的开始符号。在语法分析的同时进行语义分析,最后输出三元式的代码。,文法G(S)如下:S->while(P){A};A->id=E;E->TE'E'->+TE'|-TE'|eT->FT'T'->*FT'|/FT'|eF->(E)|idP->Eropidrop->>|<|>=|<=|!=|==→whileP{A}:=newlabel;:=newlabel;:=;:=;:=gen(’:’‖E。code‖gen(’:’)‖‖gen(‘goto’)(终结符和非终结)的优先关系确定句柄的,因此我们首先介绍任意两个文法符号之间的优先关系是怎样确定的,及如何构造优先关系表。首先定义优先关系的表示:X=Y表示X和Y的优先关系相等X>Y表示X的优先性比Y的优先性大X<Y表示X的优先性比Y

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

非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人435638
  • 文件大小120 KB
  • 时间2019-02-23