编译原理符号表14概述.pptxVIP

  • 12
  • 0
  • 约4.02千字
  • 约 37页
  • 2018-11-11 发布于福建
  • 举报
编译原理符号表14概述

嵌套结构型程序设计语言(Pascal)的特点 可采用的办法之一: 将其符号表设计为栈符号表,当新的名字出现总是从栈顶填入。 查找操作从符号表的栈顶往底部查(保证先查最近出现的名字)。 因为程序是分层的,并且一个过程结束时将释放相应的子符号表,因此查找范围与线性表比相对要小一些。 * 嵌套结构型程序设计语言(Pascal)的特点 可采用的办法之二: 引入一个显示(DISPLAY)层次关系表,称为过程的嵌套层次表。其作用是为了描述过程的嵌套层次,指出当前正在活动着的各嵌套的过程(或函数)相应的子符号表在栈符号表中的起始位置(相对地址)。DISPLAY表也是一个栈,栈顶指针为level。当进入一个新过程时,level增加1;每当退出一个过程时,level减1。DISPLAY[level]总是指向当前正在处理的最内层的过程的子符号表在栈符号表中的起始位置。 * 嵌套结构型程序设计语言(Pascal)的特点 可采用的办法之三: 在符号表的信息栏中引入一个指针域(previous)用以链接它在同一过程内的前一域名字在表中的下标(相对位置)。每一层的最后一个域名字,其previous之值为0。这样,每当需要查找一个新名字时,就能通过DISPLAY找出当前正在处理的最内层的过程及所有外层的子符号表在栈符号表中的位置。然后,通过previous可以找到同一过程内的所有被

文档评论(0)

1亿VIP精品文档

相关文档