- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mini C编译器的设计与实现
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语言中对应的语义规则相同。 实验内容一:词法分析程序 实验目标: 设计和实现一个词法分析程序 熟悉词法分析的原理与技术 实验内容一:词法分析程序 实验重点: 掌握各种单词符号的形成规则 和 单词符号的输出格式(二元式)。 实验难点: 状态
您可能关注的文档
- 在边长为5的正方形中.doc
- 在此祝福您.doc
- Infinitives(不定式).ppt
- 在地球仪上寻找我们生活的地方(地球的自转和.doc
- 在第一周升旗.doc
- interactions相互作用.ppt
- 在地生活黄金海岸时尚6日(全程5HOTEL).doc
- 在二季度思想政 治工作和工会工作.doc
- 杂环芳烃.doc
- 在古代的黄河流域的自然环境是优越的0470.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)