- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理 第一章:概论 包永红 baoyh@ 主要内容 课程在专业知识体系中的位置 《编译原理》课程教学目的 翻译系统 编译系统功能分析 编译程序的生成 编译技术应用 参考资料 编译技术在计算机科学与技术专业知识体系中的位置 计算机系统 硬件系统 软件系统 编译技术在计算机科学与技术专业知识体系中的位置 从程序运行角度看知识体系 需求 =高层建模 =实现、测试 =程序、数据库 =操作系统 =硬件执行 编译技术在计算机科学与技术专业知识体系中的位置 编译技术在计算机科学与技术专业知识体系中的位置 《编译原理》课程教学目的 经典编译过程 有利于对程序设计语言的理解,可以迅速的掌握新的语言工具 蕴含计算机学科中的解决问题的基本思路、理论与实践相结合(Tiny语言编译器) 翻译系统 翻译程序(Translator) 将某种语言描述的程序(源程序source program)翻译成等价的另一种语言描述的程序(目标程序object program)。 翻译系统 编译程序(Compiler) 把源程序一次性等价地转换成另一种目标语言的程序 翻译系统 解释程序(Interpreter) 读取一句源程序翻译为目标代码并执行,依次循环。不产生目标程序,而是边翻译边执行源程序本身 编译系统功能 把英文翻译为中文 识别出句子中的一个个单词; 分析句子的语法结构; 根据句子的含义进行初步翻译; 对译文进行修饰; 写出最后的译文。 编译系统功能分析 编译系统功能分析 词法分析(Lexical Analyzer,scanner) 从左到右扫描源程序(字符串),并将字符串转换成单词(Token):同时要查词法错误,进行标识符登记。 自然语言举例: He gave me a book He gave me a book 程序设计语言举例: main(){ printf(“Hello.”); } 编译系统功能分析 语法分析(Syntax Analyzer,Parser) 在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位,构造语法树,指出语法错误,指导翻译 自然语言举例: He gave me a book. 句子 ? 主语谓语间接宾语直接宾语 主语 ? 代词 谓语 ? 动词 间接宾语 ? 代词 直接宾语 ? 冠词 名词 代词 ? He 代词 ? me 名词 ? book 冠词 ? a 动词 ? gave 程序设计语言举例: res=fact*(term1+term2); 编译系统功能分析 语义分析 自然语言: 程序设计语言:类型检查(运算合法性,取值范围等) 编译系统功能分析 中间代码生成 后缀表示、中缀表示、前缀表示、三元组、四元组 机器无关、简单规范、易于优化转换 编译系统功能分析 代码优化:对于前阶段产生的中间代码进行加工变换,以期在最后阶段产生更高效的目标代码。 机器相关 机器无关 编译系统功能分析 目标代码生成:把中间代码变换成特定机器上的目标代码。 依赖于硬件系统结构和机器指令的含义 目标代码三种形式: 绝对指令代码: 可直接运行 可重新定位指令代码: 需要连接装配 汇编指令代码: 需要进行汇编 编译系统功能分析 表格管理 管理各种符号表(常数、标号、变量、过程、结构…),查,填(登记、查找)源程序中出现的符号和编译程序生成符号,为编译各阶段提供信息 辅助语法检查、语义检查 完成静态绑定、管理编译过程 Hash表、链表等技术 编译系统功能分析 错误处理 词法:拼写… 语法:语句结构、表达式结构 … 语义:类型不匹配… Tiny编译器设计 编译前端与后端 编译前端:与源语言有关,如词法分析,语法分析,语义分析与中间代码产生,与机器无关的优化 编译后端:与目标机有关,与目标机有关的优化,目标代码产生 优点:减少对内存容量的要求,程序逻辑结构清晰; 优化更充分,有利于移植。 不足: 编译程序运行的效率低 遍(pass) 所谓遍, 就是对源程序或源程序的中间表示从头到尾扫描一次。 编译程序的生成 设计目标 目标程序小,执行速度快 编译程序小,执行速度快 诊断能力强,可靠性强 可移植性,可扩充性 编译程序的形象表示 T型图 编译程序的形象表示 A机器上有个C语言编译器,要实现新语言New的编译器 编译程序的形象表示 A机器上有个C语言编译器,可否利用此编译器实现B机器上的C语言编译器 编译程序的形象表示 直接在一个机器上实现C语言编译器 用汇编语言实现一个C子集编译程序 用汇编语言程序处理该程序 用C子集编制C语言的编译程序 … T型图测试 编译技术应用 程序设计语言编辑器 查询解释器 复杂数据的处理框架 自然语言处理 并行编译技术 反编译技术 本书源代码下载 /faculty/louden/cmpte
您可能关注的文档
最近下载
- 急性脑梗死溶栓与取栓病例救治经验分享.pptx
- 教师工作制度培训.pptx VIP
- DL/T 645—2007协议宣贯材料.doc VIP
- 基于单片机的室内天然气(煤气、液化气))浓度检测系统的设计毕业设计论文.doc VIP
- 高压开关设备和控制设备标准的共用技术要求,GB_T11022-2011.pdf
- 中小学教师工作制度规章培训.pptx VIP
- 贵州省专业技术人员继续教育-诚信能力建设答题整理.doc VIP
- CST丛书18算例05相控阵天线的RCS.pdf VIP
- BallRoom型潔淨室-節約能源園區.ppt VIP
- C3i3系列全数字交流伺服驱动器用户手册V4.24.pdf VIP
文档评论(0)