📄 4.7.3.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.7.3.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.7.3.1.htm'"></img></td>
</tr>
</table>
<br><br>
<table><tr><td>    </td>
<td class="content">
<p>
<img class="dingyi" src="../images/dingyi.gif"></img>
<font class="definition2">定义4.11</font>我们说一个LR(1)项目[A→α·β,a]对活前缀γ=δα是有效的,如果存在一个规范推导<br>
S <img src="images/equalstar.gif" width="20" height="19"> δAw <img src="images/equal.gif"> δαβw <br>
其中或w的第一个符号为a,或w=ε而a为$。
</p>
<p><font class="example">例4.18 </font>考虑文法G:<br>
S→CC<br>
C→cC|d <br>
因为有规范推导<br>
S <img src="images/equalstar.gif" width="20" height="19"> ccCcd cccCcd <br>
故根据定义项目[C→c·C,c]对活前缀ccc有效。同理,因有规范推导 <br>
S<img src="images/equalstar.gif" width="20" height="19">CcC <img src="images/equal.gif"> <img src="images/equal.gif">CccC <br>
故项目[C→c·C,$]对活前缀Ccc有效。
</p>
<p>因为若项目[ A→α·Bβ,a]对活前缀γ=δα是有效的,这意味着存在一个规范推导 <br>
S <img src="images/equalstar.gif" width="20" height="19"> δAax <img src="images/equal.gif"> δαBβax </p>
<p>假定有规范推导βax <img src="images/equalstar.gif" width="20" height="19"> by,则对每一个形如B→η的产生式我们有规范推导 <br>
S <img src="images/equalstar.gif" width="20" height="19">δαBby <img src="images/equal.gif"> δαηby </p>
<p>于是项目[B→·η,b] 对于活前缀γ=δα 也是有效的。注意到b或者是从β推出的第一个终结符号,或者β<img src="images/equalstar.gif" width="20" height="19">ε而b=a。这两种可能性结合在一起,我们说 <br>
b∈FIRST(βa) </p>
<p>总之,若[ A→α·Bβ,a] 对活前缀γ=δα 是有效的,且B→η 是一个产生式,则对任何b∈FIRST(βa),[B→·η,b] 也是γ=δα的一个有效项目。</p>
</td></tr></table>
<br>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.7.3.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.7.3.1.htm'"></img></td>
</tr>
</table>
</BODY>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -