5
A
回答
3
「抽象語法樹」規則(這是奇怪的術語)可能會被解釋爲在解析過程中形成抽象語法的結構的那些規則。這些通常被寫,在非終結噸語法規則,如在通過解析T的子公司短語如果
T = '(' A ';' B ')' ;
產生抽象語法樹的構造是一個語法規則,對於T的AST構造可能是
T(A,B)
意味着構建一個T節點,其子節點是爲A和B子分析構建的AST。
語義規則是程序必須符合的約束條件,超越單純的語法。所以可以構造一個抽象語法樹(來自「規則」);這樣做只會證明程序在語法上是正確的。但是,抽象語法可以說的事情,只是無意義的語義,例如,
"declare s as function; ... s=7; ..."
一般要檢查這個問題的唯一辦法就是走在抽象語法樹,在當地收集的事實(例如,「s是一個功能「是從聲明語句中提取出來的一個事實;」分配一個整數「是從作業中收集的)並傳播這些事實,直到它們相遇並顯示爲(不)相容。
0
要回答第二個問題,下面是一篇將語法和語法樹的概念聯繫在一起的文章,並檢查了一些解析算法。
http://www.cs.purdue.edu/homes/xyzhang/spring11/notes/ast.pdf
從文章:
The resulting grammar is called the concrete grammar.
The corresponding derivation tree is called the parse tree.
甲具體語法樹或解析樹是表示根據一些形式文法的一個字符串的語法結構的樹。
這裏是從語法解析樹的例子推導的鏈接:
http://www.cs.rochester.edu/~nelson/courses/csc_173/grammars/parsetrees.html
這也凸顯了處理模棱兩可的語法問題。
相關問題
- 1. CodeEffects規則中嵌套的「If-else」語句規則
- 2. 句法斷言規則
- 3. 業務規則Xtext語法
- 4. PHP IF語句碰撞多個規則
- 5. 關於事件規則的SQL語句
- 6. Antlr樹重寫規則
- 7. asRules(樹)R保存規則
- 8. C#:英語語法規則引擎?
- 9. 方案:定義語法規則的模式匹配語法
- 10. ocaml的詞法/語法規則
- 11. Lexer規則的句子
- 12. Kohana的驗證規則(該規則或該規則)
- 13. ADFS聲明規則語言
- 14. 如果語言L不規則,是L *規則嗎?
- 15. Drools融合規則語言:計步器規則
- 16. 常規抽象方法
- 17. Antlr4:如何退出語法規則? 。
- 18. 關於owasp規則的語法錯誤
- 19. JavaScript語法:for/for-in循環規則?
- 20. ANTLR4片段對語法規則
- 21. drools嵌套類的規則語法
- 22. TextMate語法 - 規則的優先級
- 23. 的Xtext與規則ovewrite和語法inheretance
- 24. URL重寫規則語法問題
- 25. 野牛的if/else語法規則
- 26. ANTLR Lua長字符串語法規則
- 27. 帶重寫規則的法語字符
- 28. ISAPI重寫3規則語法
- 29. Ruby語法糖有沒有「規則」?
- 30. 否定裏面lexer-和語法規則