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

📄 back3.3.2b.htm

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

<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>

<BODY bgColor=lavender>

<table align=right width=300>
	<tr>
		<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.2a.htm'" src="../images/previous.gif" width="65" height="27"></td>
		<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.4.1a.htm'" src="../images/next.gif" width="63" height="27"></td>
	</tr>
</table>
<br><br>
<table border=0>
	<tr>
		<td width=10></td>
		<td colspan=2>
			<p>1.<font class="definition2">根据一致性条件</font>,因为终结状态有一条到达自身的ε-道路,而非终结状态没有到达终结状态的ε-道路,故它们是可区别的。在图3.8(b)中,我们把X放在下列表项中,(q<span class="down">1</span>,q<span class="down">3</span>),(q<span class="down">2</span>,q<span class="down">3</span>),(q<span class="down">3</span>,q<span class="down">5</span>),(q<span class="down">3</span>,q<span class="down">6</span>),(q<span class="down">3</span>,q<span class="down">7</span>),(q<span class="down">3</span>,q<span class="down">8</span>)。</p> 
			<p>2.<font class="definition2">根据蔓延性条件</font>,对每一个状态对(p,q),假定还不知道它们是否可区别,则对每一个输入符号a∈Σ考虑</p> 
			<p>r=δ(p,a),s=δ(q,a)</p> 
			<p>&nbsp;&nbsp;&nbsp;&nbsp;若对每一个a∈Σ,所对应的状态r与s均等价,则易知p与q等价。若存在某个a∈Σ使r和s可区别,则p和q可区别。这是因为,若r与s通过某w∈Σ<span class="up">*</span>已知道r与s是可区别的,则通过aw可知p和q可区别。所以若表项(r,s)中有X,则X也可以放到表项(p,q)中。若表项(r,s)中还没有X,则将状态对(p,q)置入与(r,s)表项相关联的表中。等将来某个时刻,如果表项(r,s)获得一个X,那么与(r,s)表项相关联的表中的每个状态对也都将得到一个X。如图3.10所示的DFAM中有一个输入符号1,使</p> 
			<p> (δ(q<span class="down">2</span>,1),δ(q<span class="down">1</span>,1))=(q<span class="down">3</span>,q<span class="down">6</span>)  
			<br> 
			因表项(q<span class="down">3</span>,q<span class="down">6</span>)已有X,故在表项(q<span class="down">1</span>,q<span class="down">2</span>)中也放上一个X。  
			<br> 
			<br> 
			考虑表项(q<span class="down">1</span>,q<span class="down">5</span>),因为有一个输入符号O使  
			<br> 
			(δ(q<span class="down">1</span>,0),δ(q<span class="down">5</span>,0))=(q<span class="down">2</span>,q<span class="down">8</span>)</p> 
			<p>这导致(q<span class="down">1</span>,q<span class="down">5</span>)被置入与(q<span class="down">2</span>,q<span class="down">8</span>)表项相关联的表中,但因为q<span class="down">2</span>与q<span class="down">8</span>等价,故不能推出q1与q5之间有什么肯定的结论。这时还必须考虑另外一个输入符号1,由于还有  
			<br> 
			(δ(q<span class="down">1</span>,1),δ(q<span class="down">5</span>,1))=(q<span class="down">6</span>,q<span class="down">6</span>)  
			<br> 
			因此就可推出q1与q5等价。</p> 
			<p>&nbsp;&nbsp;&nbsp;&nbsp;考虑(q<span class="down">1</span>,q<span class="down">7</span>),由于对输入符号0有  
			<br> 
			(δ(q<span class="down">1</span>,0),δ(q<span class="down">7</span>,0))=(q<span class="down">2</span>,q<span class="down">7</span>)</p> 
			<p align="center"><IMG src="IMG/3.8.gif" width="687" height="268"></p> 
			<p>由于表项(q<span class="down">3</span>,q<span class="down">5</span>)已有X,故表项(q<span class="down">2</span>,q<span class="down">7</span>)也有X,进而表项(q<span class="down">1</span>,q<span class="down">0</span>)也有X。当表3.2完成之时,我们得到的结论是等价状态为:q<span class="down">1</span>与q<span class="down">5</span>,q<span class="down">2</span>与q<span class="down">8</span>,q<span class="down">4</span>与q<span class="down">6</span>。最少状态的DFA      
			M’由图3.9给出。对于上述给不等价状态做表记的形式算法,读者可编一个简单程序去实现它。</p> 
			<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;表3.2等价状态的计算  
			<br> 
			</p> 
			<table width="75%" border="0" align="center" cellspacing="0" cellpadding="3"> 
			<tr>  
			  <td width="14%" style="BORDER-RIGHT: #000000 0px double; BORDER-TOP: #000000 0px double; BORDER-LEFT: #000000 0px double; BORDER-BOTTOM: #000000 0px double" 
         >  
			    <div align="center">q<span class="down">2</span></div> 
			  </td> 
			  <td width="14%" style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td width="14%">  
			    <div align="center"></div> 
			  </td> 
			  <td width="14%">  
			    <div align="center"></div> 
			  </td> 
			  <td width="14%">  
			    <div align="center"></div> 
			  </td> 
			  <td width="15%">  
			    <div align="center"></div> 
			  </td> 
			  <td width="15%">  
			    <div align="center"></div> 
			  </td> 
			</tr> 
			<tr>  
			  <td align=middle style="BORDER-RIGHT: #000000 0px double; BORDER-TOP: #000000 0px double; BORDER-LEFT: #000000 0px double; BORDER-BOTTOM: #000000 0px double" 
         >  
			    <div align="center">q<span class="down">3</span></div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td>  
			    <div align="center"></div> 
			  </td> 
			  <td>  
			    <div align="center"></div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			</tr> 
			<tr>  
			  <td align=middle style="BORDER-RIGHT: #000000 0px double; BORDER-TOP: #000000 0px double; BORDER-LEFT: #000000 0px double; BORDER-BOTTOM: #000000 0px double" 
         >  
			    <div align="center">q<span class="down">5</span></div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">&nbsp;</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			</tr> 
			<tr>  
			  <td align=middle style="BORDER-RIGHT: #000000 0px double; BORDER-TOP: #000000 0px double; BORDER-LEFT: #000000 0px double; BORDER-BOTTOM: #000000 0px double" 
         >  
			    <div align="center">q<span class="down">6</span></div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			</tr> 
			<tr>  
			  <td align=middle style="BORDER-RIGHT: #000000 0px double; BORDER-TOP: #000000 0px double; BORDER-LEFT: #000000 0px double; BORDER-BOTTOM: #000000 0px double" 
         >  
			    <div align="center">q<span class="down">7</span></div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td >  
			    <div align="center"></div> 
			  </td> 
			</tr> 
			<tr>  
			  <td          
          style="BORDER-RIGHT: #000000 0px double; BORDER-TOP: #000000 0px double; BORDER-LEFT: #000000 0px double; BORDER-BOTTOM: #000000 0px double" 
         >  
			    <div align="center">q<span class="down">8</span></div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">&nbsp;</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			  <td          
          style="BORDER-RIGHT: #000000 1px double; BORDER-TOP: #000000 1px double; BORDER-LEFT: #000000 1px double; BORDER-BOTTOM: #000000 1px double" 
         >  
			    <div align="center">X</div> 
			  </td> 
			</tr> 
			<tr>  
			  <td align=right style="BORDER-RIGHT: #000000 0px double; BORDER-TOP: #000000 0px double; BORDER-LEFT: #000000 0px double; BORDER-BOTTOM: #000000 0px double" 
         >  
			    <div align="center"></div> 
			  </td> 
			  <td>  
			    <div align="center">q<span class="down">1</span></div> 
			  </td> 
			  <td >  
			    <div align="center">q<span class="down">2</span></div> 
			  </td> 
			  <td >  
			    <div align="center">q<span class="down">3</span></div> 
			  </td> 
			  <td >  
			    <div align="center">q<span class="down">5</span></div> 
			  </td> 
			  <td>  
			    <div align="center">q<span class="down">6</span></div> 
			  </td> 
			  <td>  
			    <div align="center">q<span class="down">7</span></div> 
			  </td> 
			</tr> 
			</table> 
			<p align="center"><br> 
			<IMG  src="IMG/3.9.gif"> </p> 
			<br> 
			</p>
			<div align=left><b>观看演示 </b><A href="program/test3_5/page1.htm" target=_new>确定的有限自动机的化简&gt;&gt;</a><IMG src="../images/yanshi.gif" width="36" height="35"></div> 
		</td>
</table>
<table align=right width=300>
	<tr>
		<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.2a.htm'" src="../images/previous.gif" width="65" height="27"></td>
		<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.4.1a.htm'" src="../images/next.gif" width="63" height="27"></td>
	</tr>
</table>
</BODY>
</html>
<html><script language="JavaScript">

⌨️ 快捷键说明

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