我正在阅读一本编译器书籍,并且在它说“S属性语法也是L属性语法”时感到困惑。无法理解。有人可以说清楚(一个例子应该是很棒的)。谢谢。S属性和L属性语法是什么意思?
9
A
回答
12
L-归因语法是一种特殊类型的属性语法。它们允许在抽象语法树的一个从左到右的遍历中评估属性。结果,L属性语法中的属性评估可以方便地在自顶向下的语法分析中引入。许多编程语言都属于L属性。特殊类型的编译器,狭窄的编译器,基于某种形式的L语法。这些与S属性语法相当。用于代码合成。
S-归因文法是一类属性的语法,其特征在于不具有继承的属性。在解析过程的语义分析过程中,必须从抽象语法树的父节点传递给子节点的继承属性是自下而上解析的问题,因为在自下而上的解析中,抽象语法的父节点树是在创建他们所有的孩子后创建的。 S属性语法中的属性评估可以方便地在自顶向下解析和自下而上解析中引入。 Yacc基于S属性方法。
任何S属性语法也是一个L属性语法。
在L属性语法中,属性评估可以在从左到右的遍历中执行。由于S属性语法中的属性不会被继承,所以它不会阻止你这样做。因此,您可以说S属性语法符合L语法的特征。
1
简单的S-属性文法是谁一直严格合成文法的类型意味着只有其在整个解析树
,其中作为L-属性文法可以有两条合成以及与一些继承语法Value属性语法像继承权总是从左向右转移的规则。 我认为这会帮助你。
相关问题
- 1. repr(struct.pack('L',s))是什么意思?
- 2. html属性“opts”是什么意思?
- 3. Objective-C属性 - “id”是什么意思?
- 4. 这是什么意思“预测属性”?
- 5. 下面属性(IS_AUTHENTICATED_ANONYMOUSLY)是什么意思?
- 6. LR语法和S属性语法之间有什么关系?
- 7. DOM4:弃用的属性和方法是什么意思?
- 8. 是什么[选项(...)] C#属性是什么意思?
- 9. “ulimit -l”是什么意思?
- 10. “Uncaught TypeError:无法读取属性”JS错误是什么意思?
- 11. 拉斐尔对象属性“x”和“y”是什么意思?
- 12. .vsprops文件中的'Delimiter'和'InheritsFromParent'属性是什么意思?
- 13. XSD中的属性'final'和'block'是什么意思?
- 14. 什么是“这个”类的“s”属性?
- 15. html中的jquery随机属性是什么意思? [的expando属性]
- 16. 错误是什么SCRIPT5007:无法获取属性的值...是什么意思?
- 17. ld -s是什么意思?
- 18. “::”语法是什么意思?
- 19. “域”和“持久性”是什么意思?
- 20. 什么!s || !*的意思? (S是char *)
- 21. log4j.properties中的这些属性是什么意思?
- 22. 属性错误这些代码是什么意思?
- 23. 是什么意思推断属性,Facebook的opengraph
- 24. java属性文件中的大括号是什么意思?
- 25. 在DBD :: CSV中,f_ext属性中的/ r是什么意思?
- 26. rel =“bookmark”链接属性是什么意思?
- 27. 在TypeScript中属性旁边的&(&符号)是什么意思
- 28. 用于@property时属性(弱)是什么意思?
- 29. 'function'对象没有属性'tk'是什么意思?
- 30. 需求属性中的circumflex是什么意思?