- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
名字栏(Name);8.1 符号表的组织与作用;对符号表进行操作的时机:
定义性出现 int x;
使用性出现 if x100……
按名字的不同种属建立多张符号表,如常数表、变量名表、过程名表、…
符号表的组织方式:
1. 安排各项各栏的存储单元为固定长度
2. 用间接方式安排各栏存储单元;;;符号表的存放次序:
一张可容纳N项的符号表在存储器中可用下述两种不同的方式之一表示(假定每项需用K个字)
1. 把每一项置于连续K存储单元中,构成一张K*N的表
2. 把整个符号表分成m个子表,如T1,T2,…Tm,每个子表含有N项.;例: PASCAL程序段:;PROCEDURE INCWAP(M,N:INTEGER);
LABEL START;
VAR
K:INTEGER;
BEGIN
START:
K:=M+1;
M:=N+4;
N:=K;
END.;PROCEDURE INCWAP(M,N:INTEGER);
LABEL START;
VAR
K:INTEGER;
BEGIN
START:
K:=M+1;
M:=N+4;
N:=K;
END.;PROCEDURE INCWAP(M,N:INTEGER);
LABEL START;
VAR
K:INTEGER;
BEGIN
START:
K:=M+1;
M:=N+4;
N:=K;
END.;PROCEDURE INCWAP(M,N:INTEGER);
LABEL START;
VAR
K:INTEGER;
BEGIN
START:
K:=M+1;
M:=N+4;
N:=K;
END.;PROCEDURE INCWAP(M,N:INTEGER);
LABEL START;
VAR
K:INTEGER;
BEGIN
START:
K:=M+1;
M:=N+4;
N:=K;
END.;第八章 符号表;8.2 整理和查找;8.2 整理和查找;2. 二分查找
表格中的项按名字的“大小”顺序整理排列。
填表慢,查找快。
查找时间复杂度:O(Log2n)
改进:组织成二叉树。
3. 杂凑查找(HASH技术)
杂凑函数H(SYM):0~N-1
N:符号表的项数。
要求:1. 函数计算简单高效
2. 函数值分布均匀
填表快,查找快;杂凑技术(HASH技术);填入一个新的SYM的过程:
(1)先计算出H(SYM)的值h(在0与N-1之间),将HASHTABLE[h]的值赋给P(若未曾有杂凑值为h的项名填入过,则将P置空)。
(2)然后置HASHTABLE[h]=available,再把新名SYM及其链接指示 器LINK的值P填进指针available所指向的符号表位置。 ;;第八章 符号表;8.4 符号表的内容;8.4 符号表的内容;第八章 符号表;8.3 名字的作用范围;PROGRAM MAIN
…
integer X,Y
COMMON /C/A,B
…
END
SUBROUTINE SUB1
…
real X,Z
COMMON /C/A1,B1
…
END;program P;
var a,b : integer;
procedure P1(i1, j1:integer);
var c,d : integer
…
end;
procedure P2(i2, j2:integer);
var a,c : integer;
procedure P21;
var b1,b2 : boolean;
…
end;
…
end;
…
end.;1. FORTRAN的符号表组织(并列结构语言)
一个FORTRAN程序由一个主程序段和若干个辅程序段组成.
变量、数组和语句函数名的作用范围就是它们所处的那个程序段。
对于一遍扫描的编译程序,可以逐段产生其目标代码。当一程序段处理完后,它的所有的局部名均无需保存在符号表中,需要继续留在符号表总的只是全局名。
把局部名和全局名分别存在不同的地方.;PASCAL
PASCAL程序本身可以看成是一个操作系统所调用的过程,过程可以嵌套和递归。
一个PASCAL过程:
过程头;
说明段(由一系列的说明语句组成);
begin
执行体(由一系列的执行语句组成);
end;允许同一个标识符在不同的过程中代表不同的名字。
名字作用域规则--最近嵌套原则
一个在子程序B1中说明的名字X只在B1中有效(局部于B1);
如果B2是B1的一个内层子程序且B2中对
您可能关注的文档
- 分析化学教案-沉淀滴定法.doc
- 分析化学教案-酸碱滴定法.doc
- 分析化学教案-氧化还原滴定法.doc
- 分析化学教案-重量分析法.doc
- DSP原理与应用课件-C55x的片上外设.pptx
- DSP原理与应用课件-C55x的硬件扩展.pptx
- DSP原理与应用课件-C55x典型应用系统设计.pptx
- DSP原理与应用课件-TMS320C55x的硬件结构.pptx
- DSP原理与应用课件-TMS320C55x的指令系统.pptx
- DSP原理与应用课件-TMS320C55x汇编语言编程.pptx
- 2024年幼儿园党支部书记抓党建工作述职报告.docx
- 2024年度领导班子民主生活会征求意见情况报告(2个样板).docx
- 领导班子成员2024年度民主生活会对照检查范文(四个带头).docx
- 党政综合部2024年工作总结及2025年工作计划.docx
- 镇党委副书记兼派出所所长关于2024年度民主生活会个人对照查摆剖析材料.docx
- 党建引领基层治理三年实施方案.docx
- 镇纪委书记关于2024年度民主生活会个人对照查摆剖析材料.docx
- 镇人大主席关于2024年度民主生活会个人对照查摆剖析材料.docx
- 县营商环境局2024年工作总结和2025年工作计划.docx
- 市人大分管民族华侨外事委员会副主任关于2024年度民主生活会个人对照检视材料(4+1).docx
文档评论(0)