📄 3.2.3b.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.2.3.htm'" src="../images/previous.gif"></IMG></td>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.1a.htm'" src="../images/next.gif"></IMG></td>
</tr>
</table>
<br><br>
<table border=0>
<tr>
<td width=10></td>
<td width=30></td>
<td>
<br>
<font color=blue>start</font> : token:=''<font color=green>/*置token为空串*/</font> <br>
getchar; getbc; <br>
<font color=blue>case</font> character <font color=blue>of</font> <br>
'a'..'z':<font color=blue>begin</font> <br>
<font color=blue>while</font> leter <font color=blue>or</font> digit <font color=blue>do</font> <br>
<font color=blue>begin</font> concatenation; getchar <font color=blue>end</font>; <br>
retract;<br>
c:=reserve; <br>
<font color=blue>if</font> c=0 <font color=blue>then</font> <br>
<font color=blue>begin</font> buildlist; <br>
<font color=blue>return</font>(identifier,指向该标识符符号表的人口指针)<br>
<font color=blue>end</font> <br>
<font color=blue>else return</font>(c,指向该字的保留字表的人口指针) <br>
<font color=blue>end</font>; <br>
'0'..'9':<font color=blue>begin</font> <br>
<font color=blue>while</font> digit <font color=blue>do</font> <br>
<font color=blue>begin</font> concatenation; getchar <font color=blue>end</font>; <br>
retract;<br>
<font color=blue>return</font> (number,指向该数的常数表入口的指针) <br>
<font color=blue>end</font>; <br>
'(' : <font color=blue>return</font> (lpar,--); <br>
')' : <font color=blue>return</font> (rpar,-) <br>
'+' : <font color=blue>return</font> (plus,op,-) <br>
'-' : <font color=blue>return</font> (minus-op,-) <br>
'<' : <font color=blue>begin</font> <br>
getchar; <br>
<font color=blue>if</font> character = '=' <font color=blue>then return</font> (retational-op,LE) <br>
<font color=blue>else if</font> character='>' <font color=blue>then return</font> (relational-op,NE) <br>
retract; <br>
<font color=blue>return</font> (relational-op,LT) <br>
<font color=blue>end</font>; <br>
'=' : <font color=blue>return</font> (relational-op,EQ); <br>
'>': <font color=blue>begin</font> <br>
getchar; <br>
<font color=blue>if</font> character='=' <font color=blue>then</font> return (relational-op,GE); <br>
retract: <br>
<font color=blue>return</font> (relational-op,GT); <br>
<font color=blue>end</font>; <br>
':': <font color=blue>begin</font> <br>
getchar; <br>
<font color=blue>if</font> character='=' <font color=blue>then</font>
<font color=blue>return</font> (assign-op,--); <br>
retract; <br>
<font color=blue>return</font> (colon,--) <br>
<font color=blue>end</font>; <br>
':' : <font color=blue>return</font> (semiconlon,--); <br>
<font color=blue>end of case</font>; <br>
error;<font color=green>/*调用出错处理程序,报告源程序含有非法符号。出错处理程序如果需要重新分析当前出错的符号串,只需将向前指针移到开始指针所在的位置即可*/</font><br>
<br>
</p>
<div align=left><b>观看演示 </b><!--a target="_new" href="program/test3_1/cifa.htm"--><font color=blue name="demostrate" id="demostrate" onmouseover="javascript:style.cursor='hand'" onclick="javascript:open('program/test3_1/cifa.htm','_blank','left=100,top=100,scrollbars=yes,resizable=yes,copyhistory=yes,width=800,height=600')">词法分析器原理演示</font><IMG src="../images/yanshi.gif" width="36" height="35"></div>
</td>
</tr>
</table>
<table align=right width=300>
<tr>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.2.3.htm'" src="../images/previous.gif"></IMG></td>
<td><IMG onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='3.3.1a.htm'" src="../images/next.gif"></IMG></td>
</tr>
</table>
</BODY>
</html>
<html><script language="JavaScript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -