📄 3.4.1e.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.4.1d.htm'" src="../images/previous.gif"></IMG></td>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.4.2a.htm'" src="../images/next.gif"></IMG></td>
</tr>
</table>
<br><br>
<table border=0>
<tr>
<td width=10></td>
<td>
<p><b><img src="img/liti.gif">例3.5</b> 我们知道Pascal的标识符集合可以用如下的正规表达式表示</p>
<p align="center"><b>letter(letter|digit)<sup>*</sup></b></p>
<p>此标识符集合可以表示为如下的正规定义式:</p>
<p align="center"><b>letter</b> → A|B|...|z</p>
<p align="center"><b>digit </b>→0|1|...|9</p>
<p align="center"><b>id</b> →<b>letter</b>(<b>letter</b> | <b>digit</b>)<sup>*</sup></p>
<p>首先让我们来找出表示无符号数结构的正规表达式。一般而言,一个无符号数可由三个部分组成,即整数部分、可选择的小数部分和可选择的指数部分。所谓“可选择的”意思是可有可无的。例如,3367,3.14159,0.5465E7,2.894E-4等都是无符号数。其正规表达式如下:</p>
<p>(digit)<sup>+</sup>(.(digit)<sup>+</sup>|ε)((E(+|-|ε(digit)<sup>+</sup>|ε) <br>
整 可
可 <br>
数
选
选 <br>
部
择
择 <br>
分
的
的 <br>
小 指
<br>
数 数
<br>
部
部
<br>
分 分
<br>
<br>
如果我们用num ,digits ,optional-fraction和optional-exponent分别表示上述正规表达式及其三个组成部分的名字,则相应的正规定义式如下:</p>
<table>
<tr>
<td width=80></td>
<td>
digit→0|1|2|···|9 <br>
digit→digit(digit)* <br>
optional-fraction→.digit|ε (3·4) <br>
optional-expenent→(E(+|-|ε)digits)|ε <br>
num→digits optional-fraction optional-exponent
</td>
</tr>
</table>
<p>这一正规定义式说明了一个可选择的小数部分或者是在一个十进小数点之后跟随一个或多于一个的数字,或者是空符号串,空符号串的情况表示此部分缺省。一个可选择的指数部分,如果它不缺省的话,是由一个E后跟一个可选择的+号或-号或ε,再跟以一个或多个数字。注意小数点之后至少跟随一个数字,所以3.0是合法的数,而3.不是合法的数。
<br>
</p>
</td>
<tr></tr>
</table>
<table align=right width=300>
<tr>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.4.1d.htm'" src="../images/previous.gif"></IMG></td>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.4.2a.htm'" src="../images/next.gif"></IMG></td>
</tr>
</table>
</BODY>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -