我正在閱讀一本編譯器書籍,並且在它說「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是什麼意思?