我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 语义分析 >

语法制导翻译

归档日期:07-21       文本归类:语义分析      文章编辑:爱尚语录

  2. 基于规则的方法: 在构造编译器时,用手工或专门的工具来分析语义规则,确定属性值的计算顺序。

  3. 忽略语义规则的方法:在分析过程中翻译,那么计算顺序由分析方法来确定而表面上与语义规则无关。实际上,限制语法制导定义,使属性值的计算顺序能和语法分析过程同步进行。

  表示程序层次结构的树,它 把分析树中对语义无关紧要的成分去掉,是分析树的抽象形 式 , 也称作语法结构树,或结构树。

  把语法分析和翻译分开。语法分析过程中完成翻译有许多优点,但也有一些不足:1.适于语法分析的文法可能不完全反映语言成分的自然层次结构;2. 语法分析方法限制,对分析树结点的访问序和翻译需要的访问序不一致。

  语法分析过程中进行语义分析和翻译,属 性的计算顺序受到语法分析建立分析树结点顺序的限制。

  一种自然的计算属性的顺序是按深度优先访问分析树结点的顺序,它适应多种自底向上和自顶向下的翻译方法。

  定义:一个语法制导定义是L-属性定义,如果A→X1X2…XnP,其每一个语义规则中的每一个属性都是一个综合属性,或是Xj(1j n)的一个继承属性,这个继承属性仅依赖于

  翻译模式是语法制导定义的一种便于翻译的书写形式。其中属性与文法符号相对应,语义规则或语义动作用花括号{ }括起来,可被插入到产生式右部的任何合适的位置上。

  这是一种语法分析和语义动作交错的表示法,他表达在按深度优先遍历分析树的过程中何时执行语义动作。

  翻译模式给出了使用语义规则进行计算的顺序。可看成是分析过程中翻译的注释。

  1) 类型名和基本类型是类型表达式。integer、char、real、boolean是基本类型,所以它们是类型表达式。另外,void表示“无类型”,type_error表示“出错类型”,它们也是类型表达式。

  a)数组构造符ARRAY:若T是类型表达式,则ARRAY(I,T)是类型表达式。

  d)指针类型构造符POINTER:若T是类型 表达式,则POINTER(T)是类型表达式,它指称一个指针类型。

本文链接:http://furymagazine.com/yuyifenxi/192.html