📄 4.2.3.3b.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.2.3.3.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.2.3.3c.htm'"></img></td>
</tr>
</table>
<br><br>
<table><tr><td>    </td>
<td class="content">
<p><font class="emphasize">LL(1)文法</font></p>
<p>算法4.3可以应用于任何文法G以构造它的分析表M。但对于某些文法,M 可能有某些入口持有若干个产生式,或者说有些M[A,a]可能是多重定义的。如果G是左递归或二义的,那么M至少含有一个多重定义入口。</p>
<p><font class="example">例4.7</font> 让我们考虑文法(4.5),它的分析表如表4.4所示。其中M[S',e]包含两个产生式S'→eS 和S'→ε。这是来自文法(4.5)的二义性。<b>FOLLOW</b>(S')={e, $}
反映了这一点。</p>
文法G[S](4.5),其产生式如下:</p>
<table align=center width=350 class="content">
<tr><td>S→iEtSS'|a</td><td></td></tr>
<tr><td>S'→eS|ε </td><td>(4.5)</td></tr>
<tr><td>E→b</td><td></td></tr>
</table>
</td></tr></table>
<p>
<center class="content">表4.4 文法(4.13)的分析表M
<center><img src="images/table4.4.gif" width="550" height="200"></center></p>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.2.3.3.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.2.3.3c.htm'"></img></td>
</tr>
</table>
</BODY>
</html>
<html><script language="JavaScript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -