我想为一种语言实现symbolic execution engine
。我需要在Symbol Table
中存储变量的类型,值等。我在语句和操作中都有全局变量和局部变量。
如果我没有局部变量,那么这个序列似乎也是合适的:
Sequence {Map{name->'a', value <- 'A', type <- 'Member'}, Map {name->'b', value <- 'B', type <- 'Family'},...}
但在一般和本地范围内,我都没有想法。
另外,我想在程序指令图中执行Depth First Search (DFS)
。我想在条件语句中分叉执行并考虑真假路径。
我想知道应该在哪个结构中创建Symbol Table
和DFS
。
Stack
对DFS来说是一个很好的结构吗?
编辑:我使用Stack实现符号表。但是,对于DFS部分,我发现stack
是一个很好的结构。但我还不知道实施这样的DFS。