📄
字号:
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>-</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>23</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>==</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>39</SPAN></P></TD></TR>
<TR style="HEIGHT: 16.05pt; mso-yfti-irow: 13">
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>*</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>24</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>!=</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>40</SPAN></P></TD></TR>
<TR style="HEIGHT: 16.05pt; mso-yfti-irow: 14">
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>/</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>25</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>‘\<st1:chmetcnv w:st="on" UnitName="’"
SourceValue="0" HasSpace="False" Negative="False" NumberType="1"
TCSC="0">0’</st1:chmetcnv></SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>1000</SPAN></P></TD></TR>
<TR style="HEIGHT: 16.05pt; mso-yfti-irow: 15">
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>(</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>26</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>ERROR</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>-1</SPAN></P></TD></TR>
<TR style="HEIGHT: 16.05pt; mso-yfti-irow: 16; mso-yfti-lastrow: yes">
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>)</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US>27</SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 121.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.05pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=162>
<P class=MsoNormal><SPAN
lang=EN-US><o:p> </o:p></SPAN></P></TD></TR></TBODY></TABLE></DIV>
<P class=MsoNormal><st1:chsdate w:st="on" Year="1899" Month="12" Day="30"
IsLunarDate="False" IsROCDate="False"><SPAN
lang=EN-US>1.2.3</SPAN></st1:chsdate><SPAN lang=EN-US> </SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">词法分析程序的功能</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入:所给文法的源程序字符串</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出:二元组(</SPAN><SPAN
class=SpellE><SPAN lang=EN-US>syn</SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,</SPAN><SPAN
lang=EN-US>token </SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</SPAN><SPAN
lang=EN-US> sum</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">)构成的序列。其中</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
class=SpellE><SPAN lang=EN-US>i</SPAN></SPAN><SPAN lang=EN-US> <SPAN
style="mso-spacerun: yes"> </SPAN><SPAN class=SpellE>syn</SPAN>
</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为单词种别码</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
lang=EN-US>ii<SPAN style="mso-spacerun: yes"> </SPAN>token </SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为存放单词自身字符串</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN lang=EN-US>iii
sum </SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为整型常量</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具体实现时,可以将单词的二元组用结构进行处理。</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例如,对源程序</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN class=GramE><SPAN
lang=EN-US>main(</SPAN></SPAN><SPAN lang=EN-US> )</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN class=GramE><SPAN
lang=EN-US>{ <SPAN class=SpellE>int</SPAN></SPAN></SPAN><SPAN lang=EN-US> I =
10;</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN lang=EN-US><SPAN
style="mso-spacerun: yes"> </SPAN><SPAN class=GramE>while</SPAN> ( <SPAN
class=SpellE>i</SPAN> )<SPAN style="mso-spacerun: yes"> </SPAN>I = I –
1;</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
lang=EN-US>}</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的源文件,经过词法分析后输出如下序列</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN lang=EN-US>(1,
main) (26<SPAN class=GramE>,(</SPAN> ) (27, ) ) (30<SPAN class=GramE>,{</SPAN> )
(2,int) (10,i) (21,=) (20,10) (34,;) (7<SPAN class=GramE>,while</SPAN>) (26<SPAN
class=GramE>,(</SPAN> ) (10,i)</SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 26.25pt; mso-char-indent-count: 2.5"><SPAN
lang=EN-US>(21<SPAN class=GramE>,=</SPAN>) (10<SPAN class=GramE>,i</SPAN>)
(23,-) (20<SPAN class=GramE>,1</SPAN>) (34,;) (31,})</SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>1.3 </SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">词法分析程序主要算法思想</SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想是跟据扫描到的单词符号的第一个字符的种类,拼出相应的单词符号。</SPAN></P>
<P class=MsoNormal><st1:chsdate w:st="on" Year="1899" Month="12" Day="30"
IsLunarDate="False" IsROCDate="False"><SPAN
lang=EN-US>1.3.1</SPAN></st1:chsdate><SPAN lang=EN-US>. </SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主程序示意图</SPAN></P>
<P class=MsoNormal><!--[if mso & !supportInlineShapes & supportFields]><spanlang=EN-US><span style='mso-element:field-begin;mso-field-lock:yes'></span><spanstyle='mso-spacerun:yes'> </span>SHAPE<spanstyle='mso-spacerun:yes'> </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><SPAN
lang=EN-US><!--[if gte vml 1]><v:group id=_x0000_s1030
style="WIDTH: 414pt; HEIGHT: 273pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line"
editas="canvas" coordsize = "7200,4756" coordorigin = "2362,6093"><o:lock
aspectratio="t" v:ext="edit"></o:lock><v:shapetype id=_x0000_t75 coordsize =
"21600,21600" o:preferrelative = "t" o:spt = "75" filled = "f" stroked = "f"
path = " m@4@5 l@4@11@9@11@9@5 xe"><v:stroke joinstyle =
"miter"></v:stroke><v:formulas><v:f eqn =
"if lineDrawn pixelLineWidth 0 "></v:f><v:f eqn = "sum @0 1 0 "></v:f><v:f eqn =
"sum 0 0 @1 "></v:f><v:f eqn = "prod @2 1 2 "></v:f><v:f eqn =
"prod @3 21600 pixelWidth "></v:f><v:f eqn =
"prod @3 21600 pixelHeight "></v:f><v:f eqn = "sum @0 0 1 "></v:f><v:f eqn =
"prod @6 1 2 "></v:f><v:f eqn = "prod @7 21600 pixelWidth "></v:f><v:f eqn =
"sum @8 21600 0 "></v:f><v:f eqn = "prod @7 21600 pixelHeight "></v:f><v:f eqn =
"sum @10 21600 0 "></v:f></
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -