Google的新语言“Go”说on its website:



对于这些问题,我当然不是专家,但是我认为符号表是所有使用变量的语言的编译器都通用的基本结构,而Go显然使用变量。我不明白什么?

最佳答案

解析意味着只弄清楚程序结构:将模块分为语句/声明,将表达式分解为子表达式等。最后得到的树结构称为“解析树”或“抽象语法树”( AST)。

显然,C++需要一个符号表来进行解析。

本页讨论why C++ requires a symbol table for parsing的一些原因。

当然,解析只是编译的一部分,您将需要一个符号表来进行完整的编译。

但是,解析本身在编写分析工具时很有用(例如,哪个模块导入哪个模块)。因此,简化解析过程意味着编写代码分析工具更加容易。

10-07 12:55