📄 4.10.5.htm
字号:
<html>
<head>
<title>4.5的解答</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>
<body background="../images/background2.gif">
<center>
<center><font class="title2"><b>练习4.5</b></font></center><br>
</center>
<table><tr><td> </td>
<td class="content">
解:<br>
将所给文法消除左递归得G':<br>
S →(L)|a <br>
L → SL' <br>
L'→ ,SL' | ε <br>
实现预测分析器的不含递归调用的一种有效方法是使用一张分析表和一个栈进行联合控制,下面构造预测分析表:<br>
根据文法G'有<br>
<table align=center width=500 class="content">
<tr><td>FIRST(s) = { ( , a )</td><td>FOLLOW(S) = { ) , ', ' , $ }</td></tr>
<tr><td>FIRST(L) = { ( , a )</td><td>FOLLOW(L) = { ) }</td></tr>
<tr><td>FIRST(L’) = { ', ' }</td><td>FOLLOW(L’) = { ) }</td></tr>
</table>
按以上结果,构造预测分析表M如下:<br>
<center><img src="images/ex4.51.gif" ></center><br>
文法G’是LL(1)的,因为它的LL(1)分析表不含多重定义入口。<br>
预测分析器对输入符号串(a, (a, a))做出的分析动作如下:<br>
<center><img src="images/ex4.52.gif" ></center><br>
</td></tr></table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -