📄 7.6.0.htm
字号:
<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<STYLE>BODY { MARGIN: 0px}
a{color:#0000ff;text-decoration:none}
a:hover{color:orange;text-decoratin:none} a:link{color:blue;text-decoratin:none}
td{font-size:12pt;color:#000000;border-width:1;border-color:#999999}
</STYLE>
<BODY bgColor=#ffffff>
<table align=center cellpadding=0 cellspacing=1 width=728 border=0 bordercolor=#999999 style="BACKGROUND-COLOR: #ffffff">
<tr>
<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt;
WIDTH:
180px"
align=middle
>
<A href="7.5.0.htm">回到上页</A>
</td>
<td style="BACKGROUND-COLOR: #fcf4e2; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt;
WIDTH:
180px"
align=middle
>
<A href="#end">页末</A>
</td>
<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt;
WIDTH:
180px"
align=middle
>
<A href="7.6.1.htm">进入下页</A>
</td>
<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt;
WIDTH:
179px"
align=middle
>
<A href="c_7.htm">回到首页</A>
</td>
</tr>
</table>
<table width="99%" border="0">
<tr>
<td height="28">
<p align="center"><font size="5"style="COLOR: mediumblue" face=楷体_GB2312>编译原理网上教学版</font></p></td>
</td>
</tr>
<tr>
<td>
<div align="center">北京大学计算机系 </div>
</td>
</tr>
</table>
<TABLE align=center border=1 width="726">
<TBODY>
<TR>
<TD bgColor=#6699cc height=23><strong><FONT style="COLOR: #dedede;FONT-SIZE: 13pt">
7.6 回填
</font></b></td>
</tr>
<tr>
<td height="190%" colspan="2"> <blockquote>
<p> 实现7.4节中的布尔表达式和控制流语句的语法制导定义的最容易的方法是经过两遍扫描。首先,从给定的输入构造出一棵语法树;然后,对语法树按深度优先遍历,来进行定义中给出的翻译。而本节我们要讨论如何通过一遍扫描来产生布尔表达式和控制流 语句的代码。值得注意的是,这里所生成的翻译除了生成标号的方式以外,其余均与7.4节中的形式相同。
<br>
<br> 通过一遍扫描来产生布尔表达式和控制流语句的代码的主要问题在于,当生成某些转移语句时我们可能还不知道该语句将要转移到的标号究竟是什么。为此,我们可以先产生暂时没有填写目标标号的转移指令。对于每一条这样的指令作适当的记录,一旦目标标号被确定下来,再将它“回填”到相应的指令中。
<br>
<br> 为了明确起见,这里的目标代码将来用四元式代码,并把它们置于一个四元式数组中。每一个四元式代码在数组中的位置用标号来表示,即标号将是数组的索引。<br><br></p> </td>
</tr>
</table>
<p> </p>
<P align=center style="COLOR: #999999">本书由北京大学出版社1990年版《编译程序设计原理》改编,并加了大量演示程序。<BR></P>
</p>
<hr>
<br>
<table align=center cellpadding=0 cellspacing=1 width=728 border=0 bordercolor=#999999 style="BACKGROUND-COLOR: #ffffff">
<tr>
<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt;
WIDTH:
180px"
align=middle
>
<A href="7.5.0.htm">回到上页</A>
</td>
<td style="BACKGROUND-COLOR: #fcf4e2; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt;
WIDTH:
180px"
align=middle
>
<A href="#top">页首</A>
</td>
<td style="BACKGROUND-COLOR: #dedede; BORDER-BOTTOM-COLOR: #999999; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT-COLOR: #999999; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-COLOR: #999999; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-COLOR: #999999; BORDER-TOP-WIDTH: 1px; COLOR: #666666; FONT-SIZE: 12pt;
WIDTH:
180px"
align=middle
>
<A href="7.6.1.htm">进入下页</A>
</td>
</tr>
</table>
<br>
<P align=center style="FONT-SIZE: x-small">《编译程序设计原理》网上教程由<a href="http://www.cs.pku.edu.cn">北京大学计算机科学与技术系</a>制作开发。<BR>由96、97、98级部分同学在丁文魁教授的领导下共同制作完成。如果程序或页面存在问题,请与<A href="mailto:jack.stone@263.net">我们</A>联系。</P>
</body>
</html>
<html><script language="JavaScript"> </script></html>
<html><script language="JavaScript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -