0
A
回答
-1
解析器分为两类类别:
1.自上而下解析器:在该解析方法施工是开始于根目录(从起始符号)并朝向叶片前进(可以是令牌或终端)
自上而下解析器futher分为两种类型: -
- 递归下降解析器:它对每个生产使用递归方法定义并且具有回溯的缺点。
- 预测性解析:在此方法中,解析器能够预测要使用哪种生产。它消除了撞击问题。它使用LL(1)语法。
2。自下而上解析器: 在此分析方法中,树的构建从叶节点开始并朝向根。
自下而上解析器可进一步分成两种类型:
1.Operator优先解析器:其能够解析ambiguoas语法。
2.Shift reduce(SR)解析:语法应该是unambiguaos。
SR被进一步分为四种类型:
- SR(0)
- SLR(1)
- LALR(1)
- CLR或LR(1)
相关问题
- 1. 什么是正确的设计方法?
- 2. 正确的设计方法:解析xml
- 3. 什么是在编译时计算积分基2对数的正确方法?
- 4. C编译器编译过程中的词法和语法分析是什么?
- 5. 在PHP中解析JSON的正确方法是什么?
- 6. 什么是VS2010 F#编译器的正确Web.Config设置?
- 7. 什么是在Python中使用编解码器编码的正确方法?
- 8. 什么是正整数分解为整数的正确方法?
- 9. 在C++中设置编码的最正确方法是什么?
- 10. 在UITableView中硬编码部分的正确方法是什么?
- 11. 为什么编译器不能解析方法覆盖?
- 12. Google Closure Library:解析布尔值的“正确”方法是什么?
- 13. 解析本网站的正确方法是什么?
- 14. 解析这个json的正确方法是什么?使用ArduinoJson
- 15. 什么是一个好的C#编译器 - 编译器/解析器生成器?
- 16. 什么是“无法正确解析视频编解码器”。意思?
- 17. 什么是编译器隐式方法?
- 18. 在PHP的OOP编程中设置我的类的正确方法是什么?
- 19. 使用JavaParser分析变量的正确方法是什么?
- 20. 什么是设计'行对'关系的正确方法?
- 21. 用PyGame设计冒险游戏的正确方法是什么?
- 22. 解析数学表达式,该方法的分类是什么?
- 23. 在python中派生类方法的正确方法是什么?
- 24. 开发(设计和编码)项目的正确方法是什么?
- 25. 使用cocos2d-js设置jsbindings类的正确方法是什么?
- 26. 什么是正确的设计选择?
- 27. 什么是正确的文档设计
- 28. reactjs中的正确方法是什么?
- 29. 写解析器是解决这个编程挑战的正确方法吗?
- 30. 编译器设计 - 词法分析:不需要多少列?
那么从[tutorialspoint](https://www.tutorialspoint.com/compiler_design/compiler_design_top_down_parser.htm)这个声明是错误的。 - 递归下降是一种自顶向下的解析技术,从顶部构造解析树,输入从左到右读取。它为每个终端和非终端实体使用程序。这种解析技术递归地解析输入以生成一个解析树**,这可能需要或可能不需要回溯**。 – Siraj
据他们说,**预测解析**是一种**递归下降**解析的形式,不需要回溯。 – Siraj
仔细阅读 - 我已经将递归下降分类为自顶向下解析的一部分。而且不需要回溯。并且预测不是递归下降解析的一部分。 –