📄 1.2.0b.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='1.2.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='1.2.1.htm'"></img></td>
</tr>
</table>
<br><br>
<p>
图1.2较为详细地显示了编译的整个过程。图中虚矢量表示信息的流向,实矢量指明程序的流向。下面让我们简要地介绍一下编译程序的各个组成部分:</p>
</td></tr></table>
<table><tr><td>    </td>
<td class="content">
<p><font class="emphasize">分析</font> </p>
<p><font class="emphasize">分析阶段</font>的任务是根据源语言的定义,对源程序进行<font class="emphasize">结构分析</font>和<font class="emphasize">语义分析</font>,从而把源程序正文转换为某种内部表示。实现这种内部表示有多种方法。通常是采用树的形式来实现的。</p>
<p><font class="emphasize">结构分析</font>程序包括<font class="emphasize">词法分析</font>程序和<font class="emphasize">语法分析</font>程序,用来分析源程序的静态结构。</p>
<p><font class="emphasize">词法分析</font>程序把构成源程序的字符序列(字符串)转换为语义上关联的单词的符号序列(单词符号串)。一般说来,源程序中出现的单词可分为两类,一类是特殊的单词,如关键字、运算符、分界符等,这些都是源语言所提供的;另一类是普通单词,如用户在源程序中定义的标识符、常数、标号等。词法分析程序将把需要存放的单词放到符号表中。
</p>
<p><font class="emphasize">语法分析</font>程序将词法分析程序输出的单词看作基本单位,对单词符号串进行语法分析(根据文法的产生式进行推导或归约),输出源程序的分析树,或分析树的变形。</p>
<p><font class="emphasize">语义分析</font>程序用于决定源程序的含义。在语义分析过程中,前面得到的分析树的某些部位将被增添有关源程序的语义信息。这些信息进一步完善了源程序的树形表示。 </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='1.2.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='1.2.1.htm'"></img></td>
</tr>
</table>
</BODY>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -