语法分析的任务:
分析一个文法的句子的结构
语法分析器的功能:
按照文法的产生式(语言的语法规则) , 识别输入符号串是否为一个句子(合式程序)
语法分析器在编译原理中占主导地位
语法分析大概分为两类:
- 自下而上(Bottom-up)
- 从输入串开始,逐步进行归约,直到文法的开始符号
- 归约:根据文法的产生式规则,把串中出现的产生式的右部替换成左部符号
- 从树叶节点开始,构造语法树算符优先分析法、LR分析法
- 自上而下(Top-down)
- 从文法的开始符号出发,反复使用各种产生式,寻找"匹配"的推导
- 推导:根据文法的产生式规则,把串中出现的产生式的左部符号替换成右部
- 从树的根开始,构造语法树
- 递归下降分析法、预测分析程序
自上而下(Top-down)
假定有文法G(S):
(1) S->xAy
(2) A->**|*
分析输入串x*y(记为a)。
大致流程ÿ