a_5.13.htm
来自「建立《编译原理网络课程》的目的不仅使学生掌握构造编译程序的原理和技术」· HTM 代码 · 共 115 行
HTM
115 行
<html>
<head>
<title>5.13的解答</title>
</head>
<body background="../../images/background.gif" >
<center><font class="title2"><b>练习5.13</b></font></center><br>
<p>解答: </p>
<p>(a)</p>
<table align = center border = 1 width = "50%" cellspacing="0" cellpadding="5">
<tr>
<td width = "33%"><div align = center>产生式</div></td>
<td width = "33%"><div align = center>语义规则</div></td>
<td><div align = center>动作</div></td>
</tr>
<tr>
<td > $</td>
<td align="right" > abbb$ </td>
<td>初始</td>
</tr>
<tr>
<td > $M</td>
<td align="right" >abbb$ </td>
<td>规约 M -> ε</td>
</tr>
<tr>
<td > $MM</td>
<td align="right" >abbb$ </td>
<td>规约 M -> ε</td>
</tr>
<tr>
<td > $MMM</td>
<td align="right" >abbb$ </td>
<td>规约 M -> ε</td>
</tr>
<tr>
<td > $MMMa</td>
<td align="right" >bbb$ </td>
<td>移进</td>
</tr>
<tr>
<td > $MMML</td>
<td align="right" >bbb$ </td>
<td>规约 L -> a</td>
</tr>
<tr>
<td > $MMMLb</td>
<td align="right" >bb$ </td>
<td>移进</td>
</tr>
<tr>
<td > $MML</td>
<td align="right" >bb$ </td>
<td>规约 L -> MLb</td>
</tr>
<tr>
<td > $MMLb</td>
<td align="right" >b$ </td>
<td>移进</td>
</tr>
<tr>
<td > $ML</td>
<td align="right" >b$ </td>
<td>规约 L -> MLb</td>
</tr>
<tr>
<td > $MLb</td>
<td align="right" >$ </td>
<td>移进</td>
</tr>
<tr>
<td > $L</td>
<td align="right" >$ </td>
<td>规约 L -> MLb</td>
</tr>
<tr>
<td > </td>
<td align="right" > </td>
<td>接受</td>
</tr>
</table>
<p>(b) 构造文法的LR(1)项目的识别文法活前缀的DFA:</p>
<p align=center><img src="a_5.13.gif" width="554" height="295"></p>
<p> 在I<sub>0</sub>项目集中,存在移进-规约冲突,因此,它不是LR(1)的。</p>
</body>
<html><script language="JavaScript">
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?