📄 4.1.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='4.0b.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.1b.htm'"></img></td>
</tr>
</table>
<br><br>
<center><font class="title1">第四章 语法分析</font></center><br>
<font class="content"><p>文法对于程序语言设计者,编译程序的作者和语言的使用者都具有特殊的意义。对于程序语言设计者而言,文法给出了语言的精确的语法规范说明;对于编译程序的作者而言,文法是进行正确编译的准则;对于语言的使用者而言,文法是进行程序设计的依据。</p>
<p>在第三章,用正规表达式或正规文法描述了程序语言的单词符号的结构,并研究了如何用有限自动机构造词法分析器的问题。本章将主要介绍用于程序语言的编译程序构造中的一些典型的语法分析方法及分析器的生成器Yacc。</p></font>
<hr size=2 width=90% align=center color=red><br>
<font class="title2"><b>4.1 语法分析器的作用</b></font>
<table><tr><td>    </td>
<td class="content">
<p>
<font class="emphasize">语法分析器</font>在编译器中所处的地位如图4.1所示。语法分析器的作用是:以词法分析器生成的单词符号序列作为输入,在分析过程中验证这个单词符号序列是否是该语言的文法的一个句子。若是,则以该句子的某种形式的分析树作为输出;若不是,则表明有错误,并指明错误的性质和位置。
<br><br>
</p>
</td></tr></table>
<center><img src="images/4.1.gif" width="458" height="112"></center><br>
<table ><tr><td>    </td> <br>
<td class="content">
<p>
对于一般程序语言的文法而言,有两种类型的语法分析方法是经常采用的,即<font class="emphasize">自顶向下(top-down)的分析方法</font>和<font class="emphasize">自底向上(bottom-up)的分析方法</font>。或称为自上而下的方法和自下而上的方法。正如它们的名字所表示的,自顶向下的语法分析器是从顶部(树根)到底部(树叶)来建立分析树(一棵倒立的树);而自底向上的语法分析器是从底部(树叶)到顶部(树根)来建立分析树的。在这两种情况下,对于输入给语法分析器的符号序列的扫描都是按自左至右的顺序进行的。一次读入一个单词符号。
</p>
<table align=right width=300 border=0>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.0b.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='4.1b.htm'"></img></td>
</tr>
</table>
</BODY>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -