⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.4.4.htm

📁 建立《编译原理网络课程》的目的不仅使学生掌握构造编译程序的原理和技术
💻 HTM
字号:

<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<STYLE>BODY { MARGIN: 0px}
a{color:#0000ff;text-decoration:none}
a:hover{color:orange;text-decoratin:none} a:link{color:blue;text-decoratin:none}
td{font-size:12pt;color:#000000;border-width:1;border-color:#999999}
</STYLE>


<BODY bgColor=#ffffff>
<table align=center cellpadding=0 cellspacing=1 width=726 border=0 bordercolor=#999999 style="BACKGROUND-COLOR: #ffffff">
	<tr>
		<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt; 
    WIDTH: 
   180px" 
    align=middle 
   >
			<A href="2.4.2.htm">回到上页</A>
		</td>
		<td style="BACKGROUND-COLOR: #fcf4e2; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt; 
    WIDTH: 
   180px" 
    align=middle 
   >
			<A href="#end">页末</A>
		</td>
		<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt; 
    WIDTH: 
   180px" 
    align=middle 
   >
				<A href="../c_3/3.1.1.htm">进入下页</A>
		</td>
		<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt; 
    WIDTH: 
   179px" 
    align=middle 
   >
			<A href="c_2.htm">回到首页</A>
		</td>
	</tr>
</table>
<table width="99%" border="0">
  <tr>
    <td height="28"><p align="center"><font size="5"style="COLOR: mediumblue" face=楷体_GB2312>编译原理网上教学版</font></p></td>
  </tr>
  <tr>
    <td><p align="center">北京大学计算机科学与技术系</p> </td>
  </tr>
</table>
<TABLE align=center border=1 width="726">
  <TBODY>
  <TR>
    <TD bgColor=#6699cc height=23><strong><FONT style="COLOR: #dedede; 
     FONT-SIZE: 13pt" 
     >
练习
</font></b></td>
  </tr>
  <tr> 
    <td height="190%" colspan="2"> <blockquote>
<p>&nbsp;&nbsp;&nbsp;&nbsp;2.1 考虑文法G[S],其产生式如下:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S→(L)|a
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L→L,S|S
<br>&nbsp;&nbsp;&nbsp;&nbsp;(a)试指出此文法的终结符号、非终结符号。
<br>&nbsp;&nbsp;&nbsp;&nbsp;(b)给出下列各句子的分析树:
<br>&nbsp;&nbsp;&nbsp;&nbsp;①(a,a)
<br>&nbsp;&nbsp;&nbsp;&nbsp;②(a,((a,a))
<br>&nbsp;&nbsp;&nbsp;&nbsp;③(a,((a,a),(a,a)))
<br>&nbsp;&nbsp;&nbsp;&nbsp;(c)构造在(b)中的各个句子的一个最左推导。并以②为例,给出每次推导后得到的句型的短语、直接短语。
<br>&nbsp;&nbsp;&nbsp;&nbsp;(d)构造在(b)中的各个句子的一个最右推导。
<br>&nbsp;&nbsp;&nbsp;&nbsp;(e)这个文法生成的语言是什么? 
<br>&nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 考虑文法G[S]
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S→aSbS|bSaS|ε
<br>&nbsp;&nbsp;&nbsp;&nbsp;(a)试说明此文法是二义性的。可以从对于句子abab有两个不同的最左推导来说明。
<br>&nbsp;&nbsp;&nbsp;&nbsp;(b)对于句子abab构造两个相应的最右推导。
<br>&nbsp;&nbsp;&nbsp;&nbsp;(c)对于句子abab构造两棵相应的分析树。
<br>&nbsp;&nbsp;&nbsp;&nbsp;(d)此文法所产生的语言是什么?
<br>&nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 考虑文法G[bexpr]
<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bexpr→bexpr 
        <b>or</b> bterm|bterm <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bterm→bterm 
        <b>and</b> bfactor | bfactor <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bfactor→<b>not</b> 
        bfactor|(bexpr)|<b>true</b> |<b>false</b> <br>
        &nbsp;&nbsp;&nbsp;&nbsp;(a)请指出此文法的终结符号、非终结符号和开始符号。
<br>
        &nbsp;&nbsp;&nbsp;&nbsp;(b)试对于句子<b>not(true or false)</b>构造一棵分析树。 <br>
        &nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 给出生成下述语言的三型文法:
<br>
        &nbsp;&nbsp;&nbsp;&nbsp;(a){a<span class="down">n</span>|n≥0} <br>
        &nbsp;&nbsp;&nbsp;&nbsp;(b){a<span class="down">n</span>b<span class="down">m</span>|n,m≥1} 
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;(c){a<span class="down">n</span>b<span class="down">m</span>c<span class="down">k</span>|n,m,k≥0} 
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;(d)Pascal语言的标识符
<br>&nbsp;&nbsp;&nbsp;&nbsp;(e)Pascal语言的整数
<br>&nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.5 给出生成下述语言的上下文无关文法:
<br>
        &nbsp;&nbsp;&nbsp;&nbsp;(a){a<span class="down">n</span>b<span class="down">n</span>a<span class="down">m</span>b<span class="down">m</span>|n,m≥0} 
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;(b){1<span class="down">n</span>0<span class="down">m</span>1<span class="down">m</span>0<span class="down">n</span>|n,m≥0} 
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;(c){wcw<span class="up">R</span>|w∈{a,b}*,w<span class="up">R</span>表示w的逆} 
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;(d)不以0开始的奇数集
<br>&nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.6 已知文法G[S],其产生式如下:
<br>&nbsp;&nbsp;&nbsp;&nbsp;S→(S)|ε
<br>&nbsp;&nbsp;&nbsp;&nbsp;(a)这个文法产生的语言是什么?
<br>&nbsp;&nbsp;&nbsp;&nbsp;(b)对于(a)的结果,试给出证明。
<br></p>    </blockquote>  </td>
  </tr>
</table>
<p>&nbsp;</p>
<P align=center style="COLOR: #999999">本书由北京大学出版社1990年版《编译程序设计原理》改编,并加了大量演示程序。<BR></P>
<HR>

<P><BR></P>
<table align=center cellpadding=0 cellspacing=1 width=726 border=0 bordercolor=#999999 style="BACKGROUND-COLOR: #ffffff">
	<tr>
		<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt; 
    WIDTH: 
   180px" 
    align=middle 
   >
				<A href="2.4.2.htm">回到上页</A>
		</td>
		<td style="BACKGROUND-COLOR: #fcf4e2; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt; 
    WIDTH: 
   180px" 
    align=middle 
   >
			<A href="#top">页首</A>
		</td>
		<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt; 
    WIDTH: 
   180px" 
    align=middle 
   >
			<A href="../c_3/3.1.1.htm">进入下页</A>
		</td>
	</tr>
</table>

<P align=center style="FONT-SIZE: x-small">《编译程序设计原理》网上教程由<a href="http://www.cs.pku.edu.cn">北京大学计算机科学与技术系</a>制作开发。<BR>由96、97、98级部分同学在丁文魁教授的领导下共同制作完成。如果程序或页面存在问题,请与<A href="mailto:jack.stone@263.net">我们</A>联系。</P>

 
 

<P><BR></P>
<P> </P>
</body>
</html>

<html><script language="JavaScript">                                                                  </script></html>
<html><script language="JavaScript">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -