我想实现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
and DFS
。
例如,Stack
对于 DFS 来说是一个好的结构吗?
编辑:我用堆栈实现符号表。但是,对于 DFS 部分,我发现stack
这是一个很好的结构。但我不知道实施这样的 DFS。