网站大量收购独家精品文档,联系QQ:2885784924

辽宁大学编译原理课件part1.pptVIP

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 语义 year(年)、month(月)、day(日) 语义约束条件 0 month.value 13 0 day.value 32,31,30 0 year.value 10000 例1-1 DOS 命令 date输出格式处理 * * 习题 1. 什么叫编译程序?什么叫编译系统?设想当你是C语言的编译程序的设计师时,你希望给出什么样的系统结构。 2.试分析一个简短的 C 程序,找出几个属于语法、词法、语义的语言现象。 3.理解交叉编译/移植和自展技术 上次课主要内容 中间代码 目标代码生成器 代码优化器 语义分析与中间代码生成器 语法分析器 表 格 管 理 出 错 处 理 中间代码 目标代码 语法单位 单词符号 词法分析器 源程序 变成一个单词序列 走向目标1 一个平滑的字符流 走向目标2 走向目标3 走向目标4 走向目标5 得到语法成分! 更接近机器语言 更高的效率 达到目标 * * 编译程序 上次课主要内容 编译程序的组织 编译的扫描遍数 前端、后端 前端 后端 中间代码 中间代码 优化 中间代码 * * 上次课主要内容 T形图 源语言 表示语言 目标语言 编译程序实现技术 移植:用“C”语言写一个“C”语言编译器 现有编译器的利用:用“C”语言写一个“NEW”语言编译器 自展:找一个子集,开始滚雪球 自动生成:lex、Yacc * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1.2 翻译系统 编译程序(Compiler) 高级语言程序→汇编/机器语言程序 高级语言源程序 汇编/机器语言目标程序 编译程序 * * 1.2 翻译系统 支撑环境、运行库等 编译系统(Compiling System) 编译系统=编译程序+运行系统 SourceProgram Compiler ObjectProgram Input RunSystem Output * * 1.2 翻译系统 其它翻译系统 诊断编译程序(Diagnostic Compiler) 优化编译程序(Optimizing Compiler) 交叉编译程序(Cross Compiler) 可变目标编译程序(Retargetable Compiler) 并行编译程序(Parallelizing Compiler) 汇编程序(Assembler)、交叉汇编程序(Cross Assembler)、反汇编程序(Disassembler) * * 1.2 翻译系统—汇总 ML MLP Assembler Disassembler AL ALP Compiler Data HL HLP Interpreter Result M-Machine L-Languge P-Program A-Assemble H-High Level Translator * * 1.3 编译系统的功能分析 分析 词法、语法、语义 翻译 语句的翻译、代码生成 例如:标识符左值与右值的绑定(binding) 变量:存储单元; 名字:值 函数:目标代码序列; 名字;入口地址 * * 上次课主要内容 基本概念 翻译程序、编译程序、解释程序、汇编程序、其他 编译系统:编译程序+运行系统 1.4 编译程序总体结构 目标代码生成器 代码优化器 语义分析与中间代码生成器 语法分析器 表 格 管 理 出 错 处 理 中间代码 中间代码 目标代码 语法单位 单词符号 词法分析器 源程序 * * 1. 词法分析 例: res=fact *(term1+term2); 结果 IDN res ‘=’ IDN fact ‘*’ ‘(’ IDN term1 ‘+’ IDN term2 ‘)’ ‘;’ 在机器的眼里,这只是一个字符串! 走向目标1:变成一个单词序列! 在机器的眼里,变成一个符号序列! * * 1、词法分析 词法分析器 (Lexical Analyzer)又叫做扫描器(Scanner),完成词法分析 功能:词法分析器从左到右扫描源程序(字符串),并将其转换成单词(记号—Token)串;同时查词法错误,进行标识符登记——符号表管理 输入:字符串 输出:(种别码,属性值)——序对 属性值——token的机内表示 数据结构? * * 2.

文档评论(0)

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

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

1亿VIP精品文档

相关文档