语法分析是编译的第二个阶段,语法分析的主要任务是从词法分析器输出的token序列中识别出各类短语,并构造语法分析树,语法分析树描述了句子的语法结构。
例:赋值语句的分析树
例:position = initial + rate * 60 ;
序号<种别码 ,属性值 >
1 < id ,position >
2 < = , - >
3 < id ,initial >
4 < + , - >
5 < id ,rate >
6 < * , - >
7 < num ,60 >
8 < ; , - >
其中position initial rate都是标识符,60是一个常量,以上就是例句代码的语法分析树。可以看到,表达式或标识符通过运算符号链接,组成了一整个赋值语句,再来看一个例子。
例:变量声明语句的分析数
文法:
<D>—><T><IDS>;
<T>—>