编译原理 [0x03][0x00] ==(4.1) 语法分析——语法分析前提
语法分析前提
对语言的语法结构进行描述
采用正规式和有限自动机描述和识别语言的单词符号
- 用上下文无关文法来描述语法规则
语法分析的任务
分析一个文法的句子的结构
语法分析器的功能
按照文法的产生式(语言的语法规则),识别输入符号串是否为一个句子(合式程序)
语法分析器在编译器中的地位
语法分析的方法
自下而上(Bottom-up)
- 从输入串开始,逐步进行归约,直到文法的开始符号
- 归约:根据文法的产生式规则,把串中出现的产生式的右部替换成左部符号
- 从树叶节点开始,构造语法树
- 算符优先分析法、LR分析法
自上而下(Top-down)
- 从文法的开始符号出发,反复使用各种产生式,寻找"匹配"的推导
- 推导:根据文法的产生式规则,把串中出现的产生式的左部符号替换成右部
- 从树的根开始,构造语法树
- 递归下降分析法、预测分析程序