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

📄 2.2.2d.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>

<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='2.2.2c.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='2.2.2e.htm'"></img></td>
</tr>
</table>
<br><br>

<table><tr><td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>
一个上下文无关文法如何定义一个语言呢?其中心思想是,从文法的开始符号出发,反复连续使用产生式,对非终结符号施行替换和展开。例如,考虑文法(2.1)(文法G)。我们可以从开始符号E出发,进行一系列的推导,推出种种不同的算术表达式来。例如,根据规则 :<br> 
<center> E→E+T </center> 
我们可以说:从“E"可直接(一步地)推出“E+T”。如果用“<img src="IMG/equal.gif"></img>”表示“直接推出”,那么这句话就可以表示为: 
<center> E <img src="IMG/equal.gif"></img> E+T </center> 
若对右端的E使用规则E→T,就有: 
<center> E+T <img src="IMG/equal.gif"></img> T+T </center> 
即从“E+T”可直接推出“T+T”。把上述两步合并起来,就有: 
<center> E <img src="IMG/equal.gif"></img> E+T <img src="IMG/equal.gif"></img> T+T </center> 
再对“T+T”中的两个T相继两次使用规则T→F和F→a之后,我们就有: 
<center> E <img src="IMG/equal.gif"></img> E+T <img src="IMG/equal.gif"></img> T+T <img src="IMG/equal.gif"></img> F+T <img src="IMG/equal.gif"></img> a+T <img src="IMG/equal.gif"></img> a+F <img src="IMG/equal.gif"></img> a+a </center>     
</p> 
<p> 
我们称这样的一串替换序列是从E到a+a的推导。这个推导提供了一个证明,证明a+a是该文法所定义的表达式。注意,推导每前进一步总是引用一条规则(产生式),而符号“ <img src="IMG/equal.gif"></img> ”仅指推导一步的意思。下面我们将给出直接推导和推导的定义。 
</p> 
<p> 
<img class="dingyi" src="../images/dingyi.gif"> 
<font class="definition2">定义2.3&nbsp</font>令G=(V<sub>T</sub>,V<sub>N</sub>,S,P),若A→γ∈P,且α,β∈(V<sub>T</sub>∪V<sub>N</sub>)<sup>*</sup>,则称<font class="definition2">αAβ直接推出αγβ</font>,表示成: 
<center>αAβ <img src="IMG/equal.gif"></img> αγβ</center> 
αAβ直接推出αγβ,也可以说αγβ是αAβ的<font class="definition2">直接推导</font>,或说αγβ直接归约到αAβ。 
</p> 

</td></tr></table> 
 
<br> 
<table align=right width=300> 
<tr> 
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='2.2.2c.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='2.2.2e.htm'"></img></td>
</tr> 
</table> 
 
</BODY> 
</html>

⌨️ 快捷键说明

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