欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    编译原理语义分析和中间代码.ppt

    • 资源ID:6599848       资源大小:264.64KB        全文页数:8页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编译原理语义分析和中间代码.ppt

    第4章 语义分析和中间代码生成,4.1 概述 4.2 属性文法 4.3 几种常见的中间语言 4.4 表达式及赋值语句的翻译 4.5 控制语句的翻译 4.6 数组元素的翻译 4.7 过程或函数调用语句的翻译 4.8 说明语句的翻译4.9 递归下降语法制导翻译方法简介,4.1 概 述,4.1.1 语义分析的概念 源程序经过词法分析、语法分析后,表明该源程序书写正确、符合程序语言所规定的语法,但语法分析并未对程序内部的逻辑含义加以分析,因此编译程序接着进行语义分析,即审查每个语法成分的静态语义。如果静态语义正确,则生成与该语言成分等效的中间代码,或直接生成目标代码。,直接生成机器语言或汇编语言形式的目标代码的优点是编译时间短且无需中间代码到目标代码的翻译,而生成中间代码的优点是使编译结构在逻辑上更为简单明确,特别是使目标代码的优化较易实现。语义分析进行的语义检查有两类:动态语义检查和静态语义检查。动态语义检查需生成相应的目标代码,在运行时进行;静态语义检查在编译时进行。,静态语义检查涉及以下几个方面:(1)类型检查,如运算操作数的类型应相容。(2)控制流检查,用以保证控制语句有合法的 转向点。如C语言中不允许goto语句转入 case语句流;break语句需寻找包含它的最 小switch、while或for语句方可找到转向点。(3)一致性检查,如在相同作用域中标识符只 能说明一次、case语句的标号不能相同等。,语义分析阶段只产生中间代码而不生成目标代码的方法使编译程序的开发变得较为容易,但由于语义是上下文有关的,因此语义的形式化描述非常困难,目前较常见的是用属性文法作为描述语义的工具,并采用语法制导翻译法完成对语法成分的翻译。,4.1.2 语法制导翻译法 语法制导翻译法就是为每个产生式配上一个翻译子程序(称语义动作),并在语法分析的同时执行这些子程序。语义动作是为产生式赋予具体意义的手段,它一方面指出了一个产生式所产生的符号串的意义,另一方面又按这种意义规定了生成某种中间代码应做哪些基本动作。在语法分析过程中,当一个产生式获得匹配(对自上而下分析)或用于归约(对自下而上分析)时,此产生式相应的语义子程序就进入工作,完成既定的翻译任务。,语法制导翻译分为自下而上语法制导翻译和自上而下语法制导翻译,下面重点介绍自下而上语法制导翻译。假定有一个自下而上的LR分析器,可以把这个LR分析器的能力扩大,使它能在用某个产生式进行归约的同时调用相应的语义子程序进行翻译。每个产生式的语义子程序执行后,某些结果(语义信息)必须作为此产生式的左部符号的语义值暂时保存下来,以便以后语义子程序引用这些信息。此外,原LR分析器的分析栈也加以扩充,以便能存放与文法符号相对应的语义值。这样,分析栈可存放三类信息:状态、文法符号及文法符号对应的语义值。扩充后的分析栈如图41所示。,此外,原LR分析器的分析栈也加以扩充,以便能存放与文法符号相对应的语义值。这样,分析栈可存放三类信息:状态、文法符号及文法符号对应的语义值。扩充后的分析栈如图41所示。,

    注意事项

    本文(编译原理语义分析和中间代码.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开