title: 符号表和抽象语法树是什么关系？两者在编译器设计中是否必需？
desc: 最近读了两本书，差异比较大。希望大神给予一些帮助啊。<br><br>一：
topic: 编译原理
content: 我刚刚写的一个小编译器 Xiang1993jack-compiler GitHub 一般的编译器可能包含下面这些模块 1， 词法分析器 输入 源代码 输出 token 2， 语法分析器 输入 token 输出 AST 在这个过程中， 可以识别出不符合语法规则的语句， 就可以报syntax错误， 如果有syntax错误， 编译结束 3， 语义分析器 输入 AST 输出 无 在这个过程中， 根据语言的语义规则来识别语义错误， 要识别语义错误 就必须编译AST， 因为是树的遍历， 假如你先