编译原理复习1111

编译原理复习1111

ID:18295832

大小:504.50 KB

页数:12页

时间:2018-09-16

编译原理复习1111_第1页
编译原理复习1111_第2页
编译原理复习1111_第3页
编译原理复习1111_第4页
编译原理复习1111_第5页
资源描述:

《编译原理复习1111》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、简答题:1.符号表的作用是:在编译程序中符号表是用来存放语言程序中出现的有关标识符的属性信息,这些信息集中反映了标识符的语义特征属性。P2042.符号表的功能:收集符号属性;上下文语义的合法性检查的依据;作为目标代码生成阶段地址分配的依据。3.符号主要属性及作用P205(1)符号名语言中的一个标识符可是一个变量的名字、一个函数的名字或一个过程的名字。每个标识符通常由若干个字符(非空格字符)组成的字符串来表达。(2)符号的类型对于函数的数据类型指的是该函数值的数据类型。变量符号的类型属性决定了该变量的数据在存储空间的存储格式,还决定了在该变量

2、上可以施加的运算操作(3)符号在存储类别大多数语言对变量的存储类别定义采用两种方式,一种是用关键字指定,另一种是根据定义变量说明在程序中的位置来决定。(4)符号的作用域及可视性一个符号变量在程序起作用的范围称为它的作用域,一般来说,定义该符号的位置及存储类关键字决定了该符号的作用域。一个变量的作用域就是该变量可以出现的场合,也就是说在某个变量作用域范围内该变量是可引用的,这就是变量可视性的作用域规则。(5)符号变量的存储分配信息根据符号变量的存储类别定义及它们出现的位置和次序来确定每一个变量分配的存储区及在该区中的具体位置。(6)符号的其他

3、属性数组内情向量、记录结构型的成员信息、函数及过程的形参4.栈式动态存储分配P233、这种分配策略是将整个程序的数据空间设计为一个栈。每当调用一个过程时,它所需的数据空间就分配在栈顶,每当过程工作结束时就释放这部分空间。过程所需的数据空间包括两部分:一部分是生存期在本过程这次活动中的数据对象,另一部分则是用以管理过程活动的记录信息,即当一次过程调用出现时,调用该过程的那个过程的活动即被中断,当前机器的状态信息,也都必须保留在栈中。5.简述过程参数“传值”的实现原理。P244“传值”方式,这是最简单的参数传递方法。即将实参计算出它的值,然后把

4、它传给被调过程。具体来讲是这样的:1).形式参数当作过程的局部变量处理,即在被调过程的活动记录中开辟了形参的存储空间,这些存储位置即是我们所说的实参或形式单元。2).调用过程计算实参的值,并将它们的右值(r-value)放在为形式单元开辟的空间中。3).被调用过程执行时,就像使用局部变量一样使用这些形式单元。121.简述过程参数“传地址”的实现原理。P245“传地址”方式,也称作传地址,或引用调用。调用过程传给被调过程的是指针,指向实参存储位置的指针。1).如实参是一个名字或是具有左值的表达式,则左值本身传递过去。2).如实参是一个表达式,

5、比方a+b或2,而没有左值,则表达式先求值,并存入某一位置,然后该位置的地址传递过去。3).被调过程中对形式参数的任何引用和赋值都通过传递到被调过程的指针被处理成间接访问。2.一个编译程序的代码生成要着重考虑:代码生成器的设计要着重考虑目标代码的质量问题,而衡量目标代码的质量主要从占用空间和执行效率两个方面综合考虑。P2743.决定目标代码的因素有:决定目标代码的因素主要取决于具体的机器结构、指令格式、字长及寄存器的个数和种类,并与指令的语义和所用操作系统、存储管理等都密切相关。又由于目标代码的执行效率在很大程度上依赖于寄存器的使用,所以目

6、标代码与寄存器的分配算法也有关。12推导题:第三章1.作业P48第11题1.对表达式文法G[E]E→E+T

7、E-T

8、TT→T*F

9、T/F

10、FF→(E)

11、a判断符号串a1+a2*a3是否为文法的句子,并指出句型中的短语,直接短语,句柄122、正规式构造MFA,再转换成DFA(作业P72第1、7题)12第五章1、消除左递归的左公因子(10)(作业P101第7题)122、预测分析表(作业P100第2题)1212第六章1、P122第1题ch6(2)算符优先关系表12122、自下向上的分析方法12第七章1、LR(0)分析法122、LR(1)分析法P1

12、4312

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。