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

📄

📁 《编译原理》课程设计报告
💻
📖 第 1 页 / 共 5 页
字号:
    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>&nbsp;</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>&nbsp;</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">&nbsp;&nbsp;</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">&nbsp; </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">&nbsp; </SPAN><SPAN class=GramE>while</SPAN> ( <SPAN 
class=SpellE>i</SPAN> )<SPAN style="mso-spacerun: yes">&nbsp; </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>&nbsp;</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'>&nbsp;</span>SHAPE<spanstyle='mso-spacerun:yes'>&nbsp; </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 + -