版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024/5/81编译原理
Compilers:Principles,Techniques,andTools年复习第1页2024/5/82第1章引论本章作为编译原理绪论,其意义在于为原本对编译一无所知人撩开一条细缝,经过本章大致了解编译程序总框架、工作原理、过程。需要了解以下概念:编译器、解释器、编译器结构、各个步骤(阶段)、编译前端与后端,符号表,“遍”概念等。不要求原原本当地记住书上解释,要求了解这些概念含义,而且能够按照自己语言对其进行准确描述。第2页2024/5/831.编译器概念编译器是一个程序,读入源程序并将其翻译成等价目标程序,而且能够向用户汇报被编译源程序中出现错误。CompilerSourceprogramTargetprogramErrormessage第3页2024/5/842.解释和编译解释以源程序作为输入,不产生目标程序,一边解释一边执行。优点:直观易懂,结构简单,易于实现人机对话缺点:效率低编译由高级语言转换为低级语言,然后对编译出来目标程序进行运行计算第4页2024/5/85翻译程序与解释程序本质区分本质区分是输出不一样:翻译程序输出是与源程序等价目标程序;解释程序实际是一台虚拟机,其输出是被执行程序所定义输出结果。第5页2024/5/863.分析-综合模型分析阶段词法分析语法分析语义分析综合中间代码生成代码优化代码生成
第6页2024/5/874.编译程序结构框图词法分析器语法分析器语义分析器源程序中间代码生成器代码优化器代码生成器目标程序犯错管理器符号表管理器第7页2024/5/885.前端、后端前端包含依赖于源语言并独立于目标机器阶段,普通包含词法分析、语法分析、语义分析、中间代码生成等。后端包含依赖于目标机器阶段。普通来说,后端完成任务不依赖于源语言而只依赖于中间语言。主要包含代码优化、代码生成等。第8页2024/5/896.遍(pass)所谓一遍是指,编译程序以一个表示形式为输入,经过处理产生下一个表示形式过程。比如,从源程序(字符序列)到单词序列能够作为一遍,从语法树到中间代码也能够作为一遍。经典编译程序普通遍数在二至三遍。遍数多一些,编译程序逻辑结构会较清楚,对机器资源要求也较低,然而,编译速度也随之降低。第9页2024/5/810第2章对本书3~6章中介绍编译技术作总结介绍。复习提议:最终复习,帮助了解第10页2024/5/811第3章词法分析本章关键点:正则表示式和有限自动机(RE,DFA,NFA三者之间转换),基本概念:词法分析器功效(或称词法分析任务):输入是源程序,输出是分析完成单词符号;状态转换图:是一张有向图,用于标识在特定输入下词法分析器应该选择分析方向。第11页2024/5/812本章考查形式:给定一正则表示式,要求给出其NFA,DFA或最小状态DFA形式给定一用状态图表示NFA,要求给出其对应DFA或最简DFA形式给定一NFA,DFA或最简DFA,要求给出其对应正则表示式给定一用自然语言描述正则语言,要求给出其对应正则表示式、NFA,DFA综合起来看,是在NFA,DFANFA和DFA之间作各种可能转换。这种转换正确是否判断标准就是转换之后内容是不是与转换之前内容等价,假如等价,我们就认为转换是正确。第12页2024/5/813第4章语法分析三个方面内容第13页2024/5/814上下文无关文法给出某语言自然语言描述方式,要求写该语言上下文无关文法表述形式;给出某语言CFG,要求用自然语言描述该语言;给出某语言CFG,要求证实该文法是否二义;给出某语言CFG,要求给出指定句子最左或最右推导;给出某语言CFG,要求给出指定句子语法分析树;给出一个含有二义性CFG,要求将其转换成非二义性。消除CFG直接左递归第14页2024/5/815自顶向下语法分析寻找输入串最左推导过程递归下降法非递归预测分析器LL(1)文法给定一文法,要求判断其是否为LL(1)文法。给定一文法,要求结构LL(1)分析表First集和Follow集结构给定一文法,先要求求解其LL(1)分析表,然后要求给出针对于某一个句子详细分析过程第15页2024/5/816自底向上语法分析寻找输入串最右推导逆过程句柄概念移进归约分析法(Shift-reduceparsing)-LRparsingSLRLR(1)LALR(合并同心项结构方法)4.7.5不要求给定一文法,判断其是否为LR文法,给出针对于某一个句子详细分析过程。第16页2024/5/817第5章语法制导翻译两个方面内容SDDSDT综合属性、继承属性、S属性定义、L属性定义按要求处理某个语义问题5.5实现L属性SDD只要求掌握5.5.4加标识方法第17页2024/5/818第6章中间代码生成中间代码形式类型表示式、申明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年微机调速器项目建议书
- 锻件、粉末冶金件项目可行性分析报告
- 雷雨读书笔记七年级5篇
- 样板间装修施工投标方案技术标
- 教学课件设计 大班社会各行各业与工具临河中心小学艺术幼儿园 张波
- 2024年湖南省衡阳市蒸湘区呆鹰岭中学、蒸湘中学、雨母山中学联合考试中考二模数学试题(无答案)
- 三年级语文期末总结8篇
- 三八教师活动方案策划7篇
- 教师培训总结及心得体会6篇
- 小学语文高学段阅读作业能力层级分析
- 第四部分运动员战术能力评价与战术特征分析教学课件
- GB∕T 24590-2021 高效换热器用 特型管
- 平面构成课程标准
- 福建省福州 中学学生学籍卡片(一)
- 腰痹病(腰椎间盘突出)中医护理常规
- 裸露土方覆盖专项方案
- 年产一万吨碳酸二甲酯车间工艺设计正稿.doc
- 全国房地产经纪人证挂靠合同协议书范本
- 路基工程课程设计计算书路堤及支挡结构设计计算书
- 二年级数学期中家长会发言稿 (1)
- 古代数学家求长方体体积的方法
评论
0/150
提交评论