例5.1设有文法G[E]:E∷=E+EE*|(E) 步骤 栈 输入 动作 规则 (1) 冰立十立# 移入 (2) #i +立# 归约 (3) #E 立十# 移入 #E* i+i# 移入 (5) #E丬 # 归约 (6) #E*E 十i# 归约 E∴:三凇 (7) #E # 移入 (8) #E+ 1# 移入 (9) #E+i # 归约 E∴:=i (10) #E+E # 归约 E∴:=E+E (11) #E # 接受 移入:读入下一个输入符号并把它下推进栈 归约:当栈顶的(部分)符号串形成一个句柄时,对此句柄进行直接归约; 接受:当识别程序发现栈中除了栈底标志符号#外仅有识别符号,而输 入也已到达右端#,则接受 报错:当识别程序察觉一个错误,因此输入符号串不是句子而无法继续 识别工作时,调用一个出错处理子程序进行处理或停止
• 移入:读入下一个输入符号并把它下推进栈; • 归约:当栈顶的(部分)符号串形成一个句柄时,对此句柄进行直接归约; • 接受:当识别程序发现栈中除了栈底标志符号#外仅有识别符号,而输 入也已到达右端#,则接受; • 报错:当识别程序察觉一个错误,因此输入符号串不是句子而无法继续 识别工作时,调用一个出错处理子程序进行处理或停止。 步骤 栈 输入 动作 规则 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) # #i #E #E* #E*i #E*E #E #E+ #E+i #E+E #E i*i+i# *i+i# *i+i# i+i# +i# +i# +i# i# # # # 移入 归约 移入 移入 归约 归约 移入 移入 归约 归约 接受 E∷=i E∷=i E∷=E*E E∷=i E∷=E+E 例5.1 设有文法G[E]:E∷=E+E|E*E|(E)|i
第五章语法分析-自底向上分析技术 52简单优先分析技术 521优先关系与优先文法 522简单优先分析技术的实现 523简单优先分析技术的局限性及克服
5.2 简单优先分析技术 5.2.1优先关系与优先文法 5.2.2简单优先分析技术的实现 5.2.3简单优先分析技术的局限性及克服 第五章 语法分析----自底向上分析技术
第五章语法分析-自底向上分析技术 52简单优先分析技术 521优先关系与优先文法 寻找句柄的基本思想 优先关系及其应用 简单优先文法 So…S;S;S:…S;1S;S1…Sn k bI 句柄 句柄 句柄
5.2 简单优先分析技术 5.2.1优先关系与优先文法 • 寻找句柄的基本思想 • 优先关系及其应用 • 简单优先文法 第五章 语法分析----自底向上分析技术
第五章语法分析-自底向上分析技术 52简单优先分析技术 ±S1表示S与S1优先级相同, 521优先关系与优先文法它们同时成为句柄的一部分; k>S1表示S优先级大于S1,也 寻找句柄的基本思想 可称S优先于S1,Sk先于S1成为 优先关系及其应用 句柄的一部分; 简单优先文法 <S1表示Sk优先级小于S,Sk 后于S成为句柄的一部分 k bI 句柄 句柄 句柄
5.2 简单优先分析技术 5.2.1优先关系与优先文法 • 寻找句柄的基本思想 • 优先关系及其应用 • 简单优先文法 第五章 语法分析----自底向上分析技术 Sk±Sl表示Sk与Sl优先级相同, 它们同时成为句柄的一部分; Sk Sl表示Sk优先级大于Sl,也 可称Sk优先于Sl,Sk先于Sl成为 句柄的一部分; Sk Sl表示Sk优先级小于Sl,Sk 后于Sl成为句柄的一部分