您现在的位置:网站首页答辩论文计算机毕业设计相关计算机毕业设计

哈希式符号表的组织管理

  • 简介:(论文 页数:28 字数:9363 带程序)一、 设计题目及内容 题目: 哈希式符号表的组织管理 在现代编译器中,对于符号表的组织和管理一般采用哈希表的技术,大幅度提高了符号表操作的速度。哈希技术本质上是查表时间与表中记录数量无关的一种符号表组织方式。为...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载

(论文 页数:28 字数:9363 带程序)一、 设计题目及内容
题目: 哈希式符号表的组织管理
在现代编译器中,对于符号表的组织和管理一般采用哈希表的技术,大幅度提高了符号表操作的速度。哈希技术本质上是查表时间与表中记录数量无关的一种符号表组织方式。为了充分描述哈希表的概念,这里需要引入一些新的术语:
®名字空间K是可以在程序中出现的就是名的集合。
®地址空间A是表中记录存储单元的集合{1,2,3……,m}。
®负载因子是空间利用率的重要衡量标准,它被定义为表中记录个数与记录存储单元之比。如果表中当前有n个记录,则负载因子ạ=n/m.
®哈希函数在形式上被定义为一个映射H:K —>A。即哈希函数H将一个变量名取做它的变元,并产生一个存放该变量属性的表地址。
通常名字空间中每一个元素都是由字母和数字所组成的字符串,把这个字符串变成容易利用哈希函数进行处理的形式,称作预处理。
采用得最广的哈希函数是除法,它被定义为:
H(x)=(x mod m)+1
这里假设存储单元共有m个,而且地址的编号是从1开始的。如果地址的编号是从0开始的,那么哈希函数就简化为:
H(x)=x mod m
哈希函数完成了名字空间到地址空间的映射,但是我们忽略了地址冲突的问题。哈希函数是一个多对一映射,而且一般来说名字空间要比它所映射到的地址空间在大得多。显然在这种映射中两个名字可能被转化为同样的地址,这就产生了地址冲突问题。解决这个问题的一个最简单的办法就是,让每一个存储单元可以存储若干个记录,同一个存储单元中的记录构成一个列表。这时存储单元也可以形象地称作为一个桶(bucket)。结合GJC编译器的具体实现对哈希式符号表的组织管理进行详细的设计
二、设计目的与基本要求
1、通过GJC编译器,实现对哈希式符号表的组织管理进行详细的设计,从而体会编译程序的全过程;
2、通过该课程设计要学会对于符号表的组织和管理一般采用哈希表的相关技术和原理;
3、对源程序的代码进行深入的理解和学习并能实现相关的功能和目的;

 

 

目 录


一、 设计题目及内容 ………………………………………………………3
二、 设计目的与基本要求 …………………………………………………3
三、编译器的功能 …………………………………………………………..4
四、符号表管理的设计原理 ………………………………………………..4
4.1 GJC中与符号表管理有关的类 …………………………………….4
4.2 Java语言中符号的种类 …………………………………………….5
4.3符号表的初始化 …………………………………………………….8
4.4符号的登录 …………………………………………………………9
4.5符号的查找 ………………………………………………………..11
4.6符号表中分程序结构层次的管理 …………………………………11
五、流程框图 ………………………………………………………………..16
六、参考程序清单 …………………………………………………………..17
七、程序运行结果及分析 …………………………………………………..26
八、课程设计心得 …………………………………………………………..27
九、参考资料 ……………………………………………………………...28

查看评论 已有0位网友发表了看法
  • 验证码: