为什么需要语法分析?
前面讲到,在分析完一个一个的单词分别代表什么意思后,需要组合起来识别出语法结构。
int a = 5;
比如上面的语句,需要进行语法分析得出它代表一条声明语句。
在语法分析,需要用一种数据结构把这些单词保存起来,这里引入抽象语法树(AST)的概念。
可以参考如下资料了解AST:
AST representation in GCC (u-strasbg.fr)
4.3 Building Abstract Syntax Trees in C (uta.edu)
有了AST后,可以进行下一步的语义分析。