网站大量收购独家精品文档,联系QQ:2885784924

《p0扩展编译器设计文档.docxVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《p0扩展编译器设计文档

?《编译技术》课程设计文 档学号: 姓名: 2013年 11月 15日目录一.需求说明21.文法说明22.目标代码说明11二.详细设计121.程序结构122.类/方法/函数功能133.调用依赖关系144.符号表管理方案155.存储分配方案176. 解释执行程序*177. 出错处理22三.操作说明231.运行环境232.操作步骤23四.测试报告241.测试程序1242.测试程序2243. 测试程序3254. 测试程序4255. 测试程序5(以上为正确程序)256. 测试程序6(以下是错误程序)257. 测试程序7268. 测试程序8269. 测试程序92610. 测试程序1026五.总结感想27图目录picture 14picture 25picture 36picture 47picture 58picture 614picture 716一.需求说明1.文法说明1)获取的原文法:程序 ::= 分程序.分程序 ::= [常量说明部分][变量说明部分]{[过程说明部分]| [函数说明部分]}复合语句常量说明部分 ::= const常量定义{,常量定义};常量定义 ::= 标识符= 常量常量 ::= [+| -] (无符号整数| 无符号实数)|字符字符 ::= 字母 | 数字字符串 ::= {十进制编码为32,33,35-126的ASCII字符}无符号整数 ::= 数字{数字} 无符号实数 ::= 无符号整数.无符号整数标识符 ::= 字母{字母|数字}变量说明部分 ::= var 变量说明 ; {变量说明;}变量说明 ::= 标识符{, 标识符} : 类型 类型 ::= 基本类型 | array [无符号整数] of 基本类型基本类型 ::= integer | char | real过程说明部分 ::= 过程首部分程序{;过程首部分程序};函数说明部分 ::= 函数首部分程序{;函数首部分程序};过程首部 ::= procedure标识符([形式参数表]);函数首部 ::= function 标识符([形式参数表]): 基本类型;形式参数表 ::= 形式参数段{; 形式参数段}形式参数段 ::= [var]标识符{, 标识符}: 基本类型语句 ::= 赋值语句|条件语句|情况语句|过程调用语句|复合语句|读语句|写语句|for循环语句|空赋值语句 ::= 标识符 := 表达式| 函数标识符 := 表达式|标识符[表达式]:= 表达式函数标识符 ::= 标识符 表达式 ::= [+|-]项{加法运算符项}项 ::= 因子{乘法运算符因子}因子 ::=标识符|无符号整数| 无符号实数|(表达式) | 函数调用语句|标识符[表达式]函数调用语句 ::=标识符([实在参数表])实在参数表 ::= 实在参数 {, 实在参数}实在参数 ::=表达式加法运算符 ::= +|-乘法运算符 ::= *|/条件 ::= 表达式关系运算符表达式关系运算符 ::= |=||= |=|条件语句 ::= if条件then语句 | if条件then语句else语句情况语句 ::= case 表达式 of 情况表元素{; 情况表元素}end情况表元素 ::= 情况常量表 : 语句情况常量表 ::= 常量{, 常量}for循环语句 ::= for 标识符 := 表达式 (downto | to) 表达式 do 语句 过程调用语句 ::= 标识符([实在参数表])复合语句 ::= begin语句{; 语句}end读语句 ::= read(标识符{,标识符})写语句 ::= write( 字符串,表达式 )|write( 字符串)|write(表达式)字母 := a|b|c|d…x|y|z |A|B…|Z数字 ::= 0|1|2|3…8|92)由于原文法不存在左递归,因此不对文法进行改写。3)文法解读程序设计图1picture 1分程序设计图2picture 2语句设计图3picture 3因子、项、表达式设计图4picture 4其他语法设计图5picture 5程序::= 分程序.分析:程序的主体是分程序,“.”相当于结束符号,告诉编译器需要编译的程序到此为止;范例:const variable=4; .分程序 ::= [常量说明部分][变量说明部分]{[过程说明部分]| [函数说明部分]}复合语句常量说明部分 ::= const常量定义{,常量定义};常量定义 ::= 标识符= 常量常量 ::= [+| -] (无符号整数| 无符号实数)|字符变量说明部分 ::= var

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档