编译原理——符号表

符号表的组织与查找

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
间接的方式存储是名字中存储的是指针
在这里插入图片描述
在这里插入图片描述
为了合理的使用空间,大部分情况是用的分成M个子表的方式

符号表的整理和查找

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

符号表的内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
tx 指向符号表下一个插入的位置
name 名字标识符 (是主栏目,查找的时候都是根据名字来索引)
kind 名字种类,可以是常量,变量,类型过程
lev 名字所在程序体的静态层次,规定主程序的层次为1,主程序中定义层次为2,以此类推
typ 名字类型,整形,字符型,布尔型,数组,对于没有类型的名字填入notype
normal 是布尔量,表示变量是否为变量形参名,当名字是变量形参填入false其他情况填入true或者不填(因为变量形参需要传地址,所以用这个栏目进行标记)
ref 当名字为数组变量或者数组变量名时,ref指向该数组在数组信息表中的位置
当名字为过程名时,ref指向该过程在程序体表中的位置;
其他情况ref为0

adr/val/size: 这三个使用同一个存储空间,不同名字选用不同参数在这里插入图片描述

link:
在这里插入图片描述

在这里插入图片描述
bx指向他下一个空闲的位置

lastpar:
是个指针
在这里插入图片描述
last:
在这里插入图片描述
psize:
在这里插入图片描述
vsize:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ax指向表格下一个填入位置
多维数组的存储是把他看做是一维数组,每一维度用一行进行存储
在这里插入图片描述
在这里插入图片描述

符号表的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新城里的旧少年^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值