编译原理上机实习指导书(2015-11修改).pdfVIP

编译原理上机实习指导书(2015-11修改).pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理上机实习》指导书 一、上机实习目的 理解编译程序的构造原理,掌握编译程序的构造方法与技术。通过实习,使学生既加深对 编译原理基础理论的理解,又提高动手能力,特别是提高软件设计能力。 二、上机实习要求 在理解编译原理基本思想的基础上,选择一个自己熟悉的程序设计语言,完成编译程序的 设计和实现过程。 编译程序的设计可以采用自顶向下和自底向上两种不同的方法。由于许多高级语言(如 PASCAL,C)中的语法成分都是递归定义的,所以 本实验要求学生采用递归下降分析技术 ,这是 一种自顶向下的的编译方法, 其基本思想是对语言的每个 (或若干个)语法成分编制一个处理子 程序, 从处理 程序 这个语法成分的子程序开始, 在分析过程中调用一系列过程或函数, 对源程 序进行语法和语义分析,直到整个源程序处理完毕为止。 本上机实习是为 C 语言 ( 子集 ) 设计一个编译程序,完成词法分析、语法分析、语义分析等 功能,并生成某种机器上的目标代码 ( 汇编语言 ) 或中间代码 ( 四元式 ) 。 三 、上机实习步骤 1.阅读《上机实习指导书》 。 2 .根据设计要求写算法, 画程序框图 3 .根据框图编写编译程序 4 .输入编译程序并上机调试 5 .撰写上机实习报告 四、上机实习内容 1、题目 :C语言小子集编译程序的实现 2 、C 语言小子集的文法规则: 程序 :: =main (){ 分程序 } 分程序 ::= 变量说明部分 ;语句部分 变量说明部分 ::= 变量说明 标识符表 变量说明 ::=int 标识符表 ::= 标识符表 , 标识符 标识符表 ::= 标识符 标识符 ::= 字母 标识符 ::= 标识符 字母 标识符 ::= 标识符 数字 语句部分 ::= 语句部分 ; 语句 | 语句 语句 :: =赋值语句 | 条件语句 | 循环语句 | 赋值语句 ::= 标识符 =表达式 条件 ::= 表达式 关系运算符 表达式 表达式 ::= 项 | 表达式 加法运算符 项 项 ::= 因子 | 项 乘法运算符 因子 因子 :: =标识符 | 常量 |( 表达式 ) 常量 :: =无符号整数 无符号整数 ::= 数字序列 数字序列 ::= 数字序列 数字 数字序列 ::= 数字 加法运算符 :: =+|- 乘法运算符 ::=*| / 关系运算符 :: =||!=|=|=|== 复合语句 ::={ 语句部分 } 语句 1:: =语句 | 复合语句 条件语句 ::=if (条件 )语句 1else 语句 1 循环语句 ::=while (条件 )do语句 1 字母 ::=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z 数字 ::=0|1|2|3|4|5|6|7|8|9 3、实现功能 : (1)词法分析 扫描源程序,根据词法规则,识别单词,填写相应的表。 (2)语法分析 对源程序作语法分析,确定是否属于 C 语言小子集,同时揭示出程序的内在结 构。 (3)语法错误检查 根据 C 语言小子集的文法规则设置检测手段,通过查错子程序或一些查错语句, 报告源程序出错位置、性质等,直至整个程序结束为止。 (4)语义分析与目标代码生成 在语法分析的基础上, 进行语义分析, 生成输入源程序的目标代码。 输入源

文档评论(0)

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

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

1亿VIP精品文档

相关文档