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

📄 7.1.1c.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='7.1.1b.htm'"></td>
    <td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'"
    onclick="vbscript:window.location.href='7.1.2.htm'"></td>
  </tr>
</table>
<br><br>

<table>
  <tr>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td class="content">
    	<p>后缀式是语法树的线性表示形式;后缀式是一列有序的树结点,其中的每个结点都是在它的所有子结点之后立即出现的,顺序是自左向右的。例如,在图7.1(a)中的语法树的后缀式是 </p>
    </td>
  </tr>
</table>

<table>
  <tr>
    <td width=150>&nbsp;</td>
    <td class="content" align=center>a b c uminus * b c uminus * +assign </td>
  </tr>
</table>

<table>
  <tr>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td class="content">
    	<p>表7.1是产生赋值语句语法树的语法制导定义,它是第5.2节关于表达式的语法制导定义的一个扩展。非终结符号S产生一个赋值语句。二目算符+和*是从运算符号集中选出的两个代表。其运算的结合律和优先次序按照通常的规定,这些规定未在文法中体现。根据表7.1,可以从输入a:= b*-c+b*-c构造出相应的图7.l(a)的语法树。</p>
     </td>
  </tr>
</table>

<table>
  <tr>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td class="content">
    	<p>若函数mkunode(op,child)和mknode(op,left,right)每当可能时就返回一个指向一个存在的结点的指针,以代替建立新的结点,那么,这个同样的语法制导定义将生成图7.1中的dag。符号<b>id</b>的属性place是一个指向符号表中该标识符表项的指针。“uminus”表示一目减。</p> 
    </td>
  </tr>
</table>

<table>
  <tr>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td class="content">
    	<p>对于图7.1(a)中的语法树,可以有两种表示法,见图7.2。在图7.2(a)中,语法树的每一个结点用一个记录来表示,该记录包括一个运算符号域和若干个指向子女结点的指针域。在图7.2(b)中,把所有的结点看成是一个记录的数组,结点的位置或索引作为指向结点的指针。从第10号位置上的根结点开始并沿着指针所指的方向进行,语法树中的所有结点都能被访问到。</p> 
    </td>
  </tr>
</table>

<p><br>
</p>

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

<html><script language="JavaScript">

⌨️ 快捷键说明

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