Compiler construction 没有退出作用域触发器时如何管理符号表

Compiler construction 没有退出作用域触发器时如何管理符号表,compiler-construction,abstract-syntax-tree,visitor,symbol-table,Compiler Construction,Abstract Syntax Tree,Visitor,Symbol Table,我正在写一种简单的编程语言。我已经创建了一个AST。我正在使用访问者模式遍历AST。现在我想做一些符号表管理。在我的例子中,AST节点仅在进入节点时触发访问者。但退出节点时不会 据我所知,要管理符号表,我需要在进入和退出时触发访问者 但问题是,现在我来不及编写逻辑来触发这两种情况下的访问者 只有在进入AST节点时触发访问者,我才能管理符号表吗?计算机程序不是用花岗岩雕刻的。如果你需要改变什么,就改变它。如果这种改变很困难,因为它会影响不相关的模块,那么您已经了解了一些关于关注点分离的知识。也许你

我正在写一种简单的编程语言。我已经创建了一个AST。我正在使用访问者模式遍历AST。现在我想做一些符号表管理。在我的例子中,AST节点仅在进入节点时触发访问者。但退出节点时不会

据我所知,要管理符号表,我需要在进入和退出时触发访问者

但问题是,现在我来不及编写逻辑来触发这两种情况下的访问者


只有在进入AST节点时触发访问者,我才能管理符号表吗?

计算机程序不是用花岗岩雕刻的。如果你需要改变什么,就改变它。如果这种改变很困难,因为它会影响不相关的模块,那么您已经了解了一些关于关注点分离的知识。也许你需要一些重构。无论如何,您会发现维护符号表并不是唯一需要进行后期排序的树遍历,这可能是进行修复的额外动机。