0
我对编译器没有太多经验,但我终于必须编写一个。我正在使用FParsec作为解析器,现在正在使用评估器。我正在服用(我认为)是一种非常典型的方法。我有一个需要环境和AST节点的eval
函数。环境是一种持久性类型,因为它因范围而异。这需要eval
及其帮助者返回env * node
,所有环境传递开始变得笨拙。如何跟踪编译环境
处理这个问题的标准方法是什么?我开始认为让每个范围发生变化的共享环境会更清洁,但如果可能的话,我想避免这种情况。
你认为这会简化编译器中的东西吗? – Daniel 2012-02-21 19:45:05
我没有足够的经验尝试两种方式来获得强烈的意见。 – Brian 2012-02-21 20:12:44
我认为工作流程有一些语法限制,但不记得它们是什么。 – Daniel 2012-02-21 20:32:45