📄 4.10.14.htm
字号:
<html>
<head>
<title>4.14的解答</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.14</b></font></center><br>
</center>
<table><tr><td> </td>
<td class="content">
解:<br>
(1) 构造其拓广文法G'的产生式为
<table align=center width=450 class="content">
<tr><td>(0) S' → S</td><td>(1) S → A</td></tr>
<tr><td>(2) A → BA</td><td>(3) A → ε</td></tr>
<tr><td>(4) B → aB</td><td>(5) B → b</td></tr>
</table>
构造其LR(0)项目集规范族和goto函数(识别活前缀的DFA)如下:<br>
I<sub>0</sub> = { [S'→·S, $], [S→·A, $], [A→·BA, $], [A→·, $],<br>
<b> <b> [B→·aB, a/b/$], [B→·b, a/b/$]}
<br>
I<sub>1</sub> = {[S'→S·, $]}<br>
I<sub>2</sub> = {[S→A·, $]}<br>
I<sub>3</sub> = {[A→B·A, $], [A→·BA, $], [A→·, $],<br>
<b> <b> [B→·aB, a/b/$], [B→·b, a/b/$]}<br>
I<sub>4</sub> = {[B→b·, a/b/$]}<br>
I<sub>5</sub> = {[B→a·B, a/b/$], [B→·aB, a/b/$], <br>
<b> <b> [B→·b, a/b/$]}<br>
I<sub>6</sub> = {[A→BA·, $]}<br>
I<sub>7</sub> = {[B→aB·, a/b/$]}<br>
<center><img src="images/ex4.141.gif"></center><br>
该文法的LR(1)项目集规范族中没有冲突,所以该文法是LR(1)文法。<br>
<br>
(2)构造LR(1)分析表如下:<br>
<center><img src="images/ex4.142.gif" ></center><br>
以上分析表无多的定义入口,所以该文法为LR(1)文法。<br>
<br>
(3)对于输入串abab,其分析过程如下:
<center><img src="images/ex4.143.gif" ></center><br>
</td></tr></table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -