【发布时间】:2015-08-29 17:30:56
【问题描述】:
我在一个编译器类中,我们必须在其中用 OCaml 编写一个编译器,我一直听说一个必要的步骤是“遍历抽象语法树”。这在理论上和实际编写代码方面意味着什么?
【问题讨论】:
-
@Thomas 因为它是一个编译器类,而不是解释器类,所以我不希望任何东西被评估。除了评估它之外,您还想通过 AST 进行测试的原因有很多。
-
在此上下文中与“遍历”同义:您需要遍历 AST。这样做的一个原因可能是用类型来装饰 AST。就实际编写代码而言,可能会涉及到对抽象语法结构进行模式匹配的递归函数。
标签: ocaml abstract-syntax-tree