📄 4.5.2.0b.htm
字号:
<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>
<BODY>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.5.2.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.5.2.1.htm'"></img></td>
</tr>
</table>
<br><br>
<table><tr><td>    </td>
<td class="content">
<p>例如,对文法G[S](4.12)的句子abbcde的分析(规范归约)过程表4.7(a)给出。在表中的第3,6,8和10这四步中分别用到文法(4.12)的产生式(2),(3),(4)和(1),进行了四次归约。每一次都是把栈顶的符号串用相应产生式的左部符号来替换。乍看起来,似乎“移进一归约”很简单,其实不然。在第6步中,如果不用产生式(3)而是用产生式(2)把栈顶的b 归约为A,那么,最终就达不到归约到S 的目的。因而,我们也就无从得知符号串abbcde是一个句子。为什么知道要用产生式(3)而不用产生式(2)呢?也就是说,为什么知道此时的栈顶符号串Abc是可归约串,而b不是可归约串呢?这就需要精确定义可归约串这个直观概念。事实上,存在着不同的方法刻画可归约串。对这个概念的不同定义形成了不同的自底向上分析方法。在规范归约分析中,我们用句柄来刻画可归约串。在算符优先分析中,则将用最左素短语来刻画可归约串。但各种不同的自底向上分析法的共同特点是,在从左至右将输入符号移进栈内的过程中,一旦发现栈顶呈现可归约串就立即进行归约。</p>
</td></tr></table>
<p>
<center><img src="images/table4.7a.gif"></center><br>
</p>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.5.2.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.5.2.1.htm'"></img></td>
</tr>
</table>
</BODY>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -