MiniC编译器得设计与实现.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MiniC编译器得设计与实现

Mini C编译器的设计与实现 电子科技大学 《编译原理》课程组 涉及主要知识点 有限状态自动机、下推自动机模型 词法分析原理和技术 语法分析原理和技术 语义分析原理和技术 目标代码生成原理和技术 项目主要实验内容 利用有限自动机生成词法分析程序 利用下推自动机生成语法分析程序 语法制导翻译方法进行语义分析 生成目标机系统的汇编代码 项目进度安排 Mini C语言的设计 实现词法分析程序 语法分析程序 语义分析程序 目标代码生成程序 项目集成 Mini C语言的设计 MINI C语言是本实验设计并实现的简化的C语言。 MINI C语言的程序结构简单, 语法与C相同,规模小于C语言。 MINI C语言的源程序是一个由分号分隔开的语句序列。 Mini C语言的设计 MINI C 语言只有两个控制语句:if语句和while 语句 , if语句有一个可选的else部分。 除此之外,还有I/O语句(输入语句一次只读入一个变量,输出语句一次只输出一个表达式的值)。 Mini C语言的设计 MINI C语言的表达式也局限于布尔表达式和算术表达式。 布尔表达式由对两个算术表达式的比较组成 所有比较使用 和 == 运算符。 Mini C语言的设计 算术表达式可以包括常数、变量、以及4个算术运算符+、-、*、/。 使用( )改变运算的默认顺序; 布尔表达式通常只作为测试条件出现在控制语句中。 Mini C语言的设计 作为一次完整的编译开发实践, MINI C 语言已经足够体现出一个编译器的开发过程了。 MINI C语言的词法规则 MINI C语言的记号分为3种典型的类型:关键字、特殊符号和“其它”记号。 关键字一共有8个,它们的含义与C语言中的相应关键字相同。 if、else、while、goto、do、void、continue、break MINI C语言的词法规则 特殊符号共有12种: 4种基本的算术运算符号 +、-、*、/ 2种比较符号 、 == 和 {、}、(、)、;、= MINI C语言的词法规则 “其他”记号就是常数和标识符 常数是一个或多个数字的序列 标识符是一个或多个字母的序列。 MINI C语言的词法规则 MINI C语言的源程序还要遵循以下的词法规则: 代码应是自由书写格式; 空白符有空格、制表位和空行 MINI C语言的词法规则 所有的记号都可以用DFA的识别 MINI C语言的语法规则的BNF描述 program → stmt-sequence stmt-sequence→stmt-sequence ; statement | statement statement → if-stmt | while-stmt | assign-stmt |input-stmt |output-stmt assign-stmt → identifier = exp; MINI C语言的语法规则的BNF描述 if-stmt → if exp stmt-sequence | if exp stmt-sequence else stmt- sequence while-stmt → while exp stmt-sequence input-stmt → read identifier output-stmt → write exp exp →simple-exp comparison-op simple- exp | simple-exp comparison-op → | == MINI C语言的语法规则的BNF描述 simple-exp → simple-exp addop term | term addop → + | - term → term mulop factor | factor mulop → * | / factor → (exp) | number | identifier MINI C语言的语义规则 MINI C语言包括的语法单位的语义规则与C语言中对应的语义规则相同。 实验内容一:词法分析程序 实验目标: 设计和实现一个词法分析程序 熟悉词法分析的原理与技术 实验内容一:词法分析程序 实验重点: 掌握各种单词符号的形成规则 和 单词符号的输出格式(二元式)。 实验难点: 状态

您可能关注的文档

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档