Rac*_*caR 11 terminology abstract-syntax-tree
我正在学习编写一种编程语言的解释器,我读过有关抽象语法树的文章.我知道它们是什么,但我看不出它们的用途.
为什么AST有用?
使用 AST 的主要好处是您可以将解析和验证逻辑与实现部分分开。作为 AST 实现的解释器确实更容易理解和维护。如果您在解析一些奇怪的语法时遇到问题,您可以查看 AST 解析器,如果一段代码没有产生预期的结果,那么您可以查看解释 AST 的代码。
另一个很大的优势是当您的语法需要“先行”时,例如,如果您的语法允许在定义子例程之前使用它,则在使用 AST 时验证子例程的存在是微不足道的 - 使用“动态”解析器。
| 归档时间: |
|
| 查看次数: |
4054 次 |
| 最近记录: |