analyze(2).ppt - (2 4.4 1 4.4(top-down(tokens S w lm LL(1 2...

Info icon This preview shows pages 1–14. Sign up to view the full content.

View Full Document Right Arrow Icon
1 第四章 语法分析 (2) 4.4 自顶向下语法分析
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 4.4 自顶向下语法分析 自顶向下 (top-down) 的语法分析算法是通过最左 推导来分析输入的单词序列 (tokens) 自顶向下的分析算法有两类 允许回溯的递归下降分析 LL(1) 分析:一种没有回溯的递归下降分析法。 w S lm
Image of page 2
3 4.14 id+id*id 的语法分析树构造过 对应文法 E TE E + TE | T FT T * FT | F ( E ) | id
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
4 id+id*id E TE E + TE | T FT T * FT | F ( E ) | id E=>TE’=>FT’E’=>idT’E’=>idE’=>id+ lookahead a+b*c 最左推导
Image of page 4
5 id+id*id
Image of page 5

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 4.4.1 递归下降语法分析的一般方法 为输入 tokens 寻找最左推导。 递归下降分析的基本方法 将一个非终结符 A 的文法规则看作识别 A 的过 程的定义。 A 的文法规则的右部指示过程的代码结构 匹配文法规则中出现的终结符 a match ( a ) 调用文法规则中出现的非终结符 文法 S cAd A ab | a 写出代码
Image of page 6
7 非终结符对应的典型过程
Image of page 7

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
8 考虑文法 S cAd A ab | a 为输入串 w = cad 建立分析树。 4.15 文法 cad S c d A cad S c d A a b cad S c d A a cad S c d A a b 出现问题 : 回溯 backtrack cad S c d A a
Image of page 8
9 缺点 不能处理左递归 复杂的回溯技术 回溯导致语义工作推倒重来 难以报告出错的确切位置 效率低
Image of page 9

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon