📄 2.2.2b.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.2.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='2.2.2c.htm'"></img></td>
</tr>
</table>
<br><br>
<table><tr><td>    </td>
<td class="content">
<p>
<img class="dingyi" src="../images/dingyi.gif"></img><font class="definition2">定义2.2</font> 一个上下文无关文法G是一个四元组(V<sub>T</sub>,V<SUB>N</SUB>,S,P ),其中:<br>
     V<sub>T</sub>是一个非空有穷集合,它的每个元素称为终结符号。<br>
    V<sub>N</sub>是一个非空有穷集合,它的每个元素称为非终结符号,并且V<sub>T</sub>∩V<sub>N</sub>=Φ,即V<sub>T</sub>与V<sub>N</sub>之交集为空集。 <br>
     S是一个非终结符号,称为开始符号。 <br>
     P是一个产生式的非空有穷集合,每个产生式的形式是A→α(或A::=α),其中A∈V<sub>N</sub>,α∈(V<sub>T</sub>∪V<sub>N</sub>)<sup>*</sup>。开始符号S至少必须在某个产生式的左部出现一次。
</p>
<p>
为了书写方便,对于若干个左部相同的产生式,如 <br>
<table align=center width=100>
<tr><td>A→α<sub>1</sub> </td></tr>
<tr><td>A→α<sub>2</sub> </td></tr>
<tr><td> …… </td></tr>
<tr><td>A→α<sub>n</sub> </td></tr>
</table>
可以把它们缩写为: <br>
<center>A→α<sub>1</sub>|α<sub>2</sub>|…|α<sub>n</sub> </center>
</p>
<p>
这里要提到的是,上下文无关文法的每一个产生式具有形式A→α,其中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.2.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='2.2.2c.htm'"></img></td>
</tr>
</table>
</BODY>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -