📄 9.5.3b_2.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='9.5.3b.htm'" ></td>
<td>
<img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='9.5.4.htm'" ></img></td>
</tr>
</table>
<br><br>
<font class="title2"><b>9.5.3 结构化程序的数据流分析(续)</b></font>
<br><br>
<table>
<tr>
<td>    </td>
<td class="content">
<font class = "example">例9.21</font>
<table>
<tr>
<td>    </td>
<td class="content">
<p>
<img border="0" src="images/9_25_3.gif"><p>
图9.27(2)(c)中的分支语句注销的定值集合是什么?<p>
解析:对图9.27(2)(c)的if语句,为了注销d,由d定值的变量必须在从S开始点到结束点的任何路径上都被注销,在这里就是两个分支都得注销定值,所以:
</p>
<p><b><font size="4" color="#FF0000">kill[S]=kill[S<sub>1</sub>]∩kill[S<sub>2</sub>]</font></b></td>
</tr>
</table>
<hr size=2 width=90% align=center color=red><br>
<font class = "example">例9.22</font>
<table>
<tr>
<td>    </td>
<td class="content">
<p>
<img border="0" src="images/9_25_4.gif"><p>
图9.27(2)(d)中的循环语句注销的定值集合是什么?<p>
解析:简单地说,循环不影响gen和kill。如果定值d由S<sub>1</sub>注销,那么S<sub>1</sub>和S的结束点它都不能到达。反过来,如果定值d由S注销,那么S<sub>1</sub>和S的结束点它也不能到达。所以:
</p>
<p><font color="#FF0000"><b><font size="4">kill[S]= kill[S<sub>1</sub>]</font></b></font></td>
</tr>
</table></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='9.5.3b.htm'" ></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='9.5.4.htm'" ></td>
</tr>
</table>
</BODY>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -