📄 4.10.4.htm
字号:
<html>
<head>
<title>4.4的解答</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.4</b></font></center><br>
</center>
<table><tr><td> </td>
<td class="content">
解:<br>
①消除文法G[S]中的左递归:<br>
S →(L)|a <br>
L → SL' <br>
L'→ ,SL' | ε <br>
② 画出它的状态转换图<br>
<center><img src="images/ex4.4.gif" ></center><br>
③ 用类Pascal语言构造G[S]的递归下降分析器:
<p><font color="#0000FF">PROCEDURE</font> S;<br>
<font color="#0000FF">BEGIN</font><br>
<font color="#0000FF">if</font> (lookahead=='(')<br>
<font color="#0000FF">THEN BEGIN</font><br>
match ('(');<br>
L;<br>
match (')');<br>
<font color="#0000FF">END</font>;<br>
<font color="#0000FF">ELSE IF</font> (lookahead=='a')<br>
<font color="#0000FF">THEN</font> match('a')<br>
<font color="#0000FF">ELSE</font> error<br>
<font color="#0000FF">END</font>;<br>
<br>
<font color="#0000FF">PROCEDURE</font> L;<br>
<font color="#0000FF">BEGIN</font><br>
S;<br>
<font color="#0000FF">WHILE</font> (lookahead ==',');<br>
<font color="#0000FF">BEGIN</font><br>
match (',');<br>
S;<br>
<font color="#0000FF">END</font>;<br>
<font color="#0000FF">END</font>;<br>
</p>
</td></tr></table>
</body>
</html>
<html><script language="JavaScript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -