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

📄 6.3.0c.htm

📁 建立《编译原理网络课程》的目的不仅使学生掌握构造编译程序的原理和技术
💻 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='6.3.0b.htm'"></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='6.3.2.htm'"></img></td>
</tr>
</table>
<br><br>

<table>
<tr>
<td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">

<table><tr><td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>
<b>例6.4</b> 图6.8中的Fortran程序依赖于通过过程活动保留下来的局部名字的值。Fortran 77中的一个SAVE语句指明:局部名字的值在一个活动的开始和上次活动结束时必须是相同的。这些局部名字的初始值可由一个DATA语句来说明。   
</td></tr></table>

<table><tr><td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>
过程PRCUDE中第(18)行上的语句每次将正文的一行读入到缓冲区BUFFER中。这个过程的每次活动都传递相继的字符。主程序CNSUME也有一个缓冲区BUF,它用于收集字符直到出现一个空格为止。例如,对于输入 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello world  
<BR>由过程PRDUCE的活动所返回的各个字符在图6.10中给出;程序的输出为 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello
<BR>用于存放PRDUCE读入的正文行的缓冲区BUFFER必须在两次活动之间保留着它的值。第(15)行的SAVE语句确保当控制再回到PRDUCE时,局部名字BUFFER和NEXT的值与上次控制离开PRDUCE时是一样的。第一次控制到达PRDUCE时,局部名字NEXT的值是从第(16)行的DATA语句中得到的。这样,NEXT被初始化为8l。 
</td></tr></table>


<br>
<center><img src="images/6_10.gif" ></center>
<p align=center>图6.10 由过程PRDUCE的活动所返回的各个字符</p>

<br>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='6.3.0b.htm'"></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='6.3.2.htm'"></img></td>
</tr>
</table>

</BODY>

<html><script language="JavaScript">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -