编译原理-声明语句的翻译(精品·公开课件).pptVIP

  • 16
  • 0
  • 约1.16万字
  • 约 42页
  • 2018-11-05 发布于广西
  • 举报

编译原理-声明语句的翻译(精品·公开课件).ppt

* 1 过程的作用域(续3) 嵌套过程中名字作用域信息的保存,可以用具有嵌套结构的符号表来实现,每个过程可以被认为是一个子符号表,或者是符号表中的一个节点。 嵌套的节点之间可以用双向的链表连接,正向的链指示过程的嵌套关系,而逆向的链可以用来实现按作用域对名字的访问。 2 符号表中的作用域信息 * 2 符号表中的作用域信息 例4.15 忽略参数的快排序程序的符号表: 双向链表: 正向 -嵌套定义关系 逆向 -作用域与可见性关系 问题: 参数如何处理? (a,x) (i,v) (i) (i,j) * 3 语法制导翻译生成符号表 (a) 简化的过程定义文法(忽略了参数): P → D (1) D → D ; D (2) | id : T (3) | proc id ; D; S (4) 问题:如何在处理产生式(1)和(4)的语言结构时正确地填写符号表信息(双向链表)? 修改文法,使得在定义D之前生成符号表(LR分析): P → M D (1) D → D ; D (2) | id : T (3) | proc id ; N D; S (4) M →ε (5) N →ε (6) * (b) 全程量、属性与语义函数 全程量:有序对栈(tblptr, offset) 其中,tblptr保存指

文档评论(0)

1亿VIP精品文档

相关文档