2010-03-16 114 views

回答

12

L-attributed grammar

L-归因语法是一种特殊类型的属性语法。它们允许在抽象语法树的一个从左到右的遍历中评估属性。结果,L属性语法中的属性评估可以方便地在自顶向下的语法分析中引入。许多编程语言都属于L属性。特殊类型的编译器,狭窄的编译器,基于某种形式的L语法。这些与S属性语法相当。用于代码合成。

S-attributed grammar

S-归因文法是一类属性的语法,其特征在于不具有继承的属性。在解析过程的语义分析过程中,必须从抽象语法树的父节点传递给子节点的继承属性是自下而上解析的问题,因为在自下而上的解析中,抽象语法的父节点树是在创建他们所有的孩子后创建的。 S属性语法中的属性评估可以方便地在自顶向下解析和自下而上解析中引入。 Yacc基于S属性方法。

任何S属性语法也是一个L属性语法。

在L属性语法中,属性评估可以在从左到右的遍历中执行。由于S属性语法中的属性不会被继承,所以它不会阻止你这样做。因此,您可以说S属性语法符合L语法的特征。

1

简单的S-属性文法是谁一直严格合成文法的类型意味着只有其在整个解析树

,其中作为L-属性文法可以有两条合成以及与一些继承语法Value属性语法像继承权总是从左向右转移的规则。 我认为这会帮助你。

相关问题