编译原理资料.doc

编译原理资料.doc

ID:56252020

大小:162.50 KB

页数:10页

时间:2020-03-25

编译原理资料.doc_第1页
编译原理资料.doc_第2页
编译原理资料.doc_第3页
编译原理资料.doc_第4页
编译原理资料.doc_第5页
资源描述:

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

1、1、变量及其属性变量是对一个(或若干个)存储单元的抽象,赋值语句则是修改存储单元内容的抽象。变量除名字外,具有四个属性:作用域、生存期、值和类型1.变量的作用域:变量的作用域是指可以访问该变量的程序范围。①静态作用域绑定:按照程序的语法结构定义变量的作用域。②动态作用域绑定:按照程序的执行动态地定义变量的作用域。2.变量的生存期:一个存储区绑定于一个变量的时间区间,称为变量的生存期。数据对象:存储区和它保存的值分配:变量获得存储区的活动长度:变量所分配的存储单元的个数3.变量的值——存储区单元的内容匿名变量的访问通过指针实现变量与它的值的绑定是动态的符号常数的值不能修改变

2、量的初始化不初始化则出错;随机;缺省值0。4.变量的类型①类型:变量的类型可以看成与变量相关联的值的类,以及对这些值进行的操作的说明。类型可用来解释变量绑定的存储区的内容(二进制位串)的意义;语言定义时,类型名通常绑定于某一个值类和某一组操作;语言实现时,值和操作绑定于某种机器二进制表示。②静态绑定:通过说明语句完成如:Pascal、Fortran③动态绑定:执行时隐式说明,且动态变化如:APLA¬5整型®A标号、转到AA¬12510一维数组(A¬0)A[2:3]¬0二维数组A¬B+C2、虚拟机的概念:虚拟机是由软件实现的机器3、程序单元及单元实例1.程序单元:程序执行过

3、程中的独立调用单元。如子程序,分程序,过程等。2.单元表示编译时,一个单元的源程序。运行时,单元表示由一个代码段和一个活动记录组成,称为单元实例。3.活动记录:执行单元所需要的信息,以及该单元的局部变量所绑定的数据对象的存储区。4.非局部变量:一个程序单元可以引用未被本单元说明而被其它单元说明的变量。5.引用环境:局部变量+非局部变量。6.别名:同一单元的引用环境中有两个变量绑定于同一数据对象,称这些变量具有别名。7.副作用的产生:对绑定于一个非局部变量的对象进行修改。8.程序单元可以递归激活,从而一个单元可以有很多个实例,但代码段相同。不同的仅仅是活动记录。9.静态分配

4、和动态分配FortranPascal或C4、数据类型的作用实现了数据抽象使程序员从机器的具体特征中解脱出来提高了编程效率5、数据聚合的几种方式(6种)1.笛卡尔积N个集合A1,A2,…,An的笛卡尔积表示为A1´A2´…´An,它是一个集合,其元素为(a1,a2,…,an),aiÎAi任意正多边形可表示为integer´real2.有限映像①定义:从定义域类型DT的值的有限集合,到值域类型RT的值的有限集合的函数称为有限映像。vara:array[1..50]ofchar;表示:整数1至50到字符集的有限映像②值域对象通过下标选取。③下标越界会出错,动态检查④下标可用来选

5、取值域的多个元素⑤SNOBOL4的ARRAY构造符并不要求值域集的所有元素是同一类型的⑥DT到相应值的特定子集的绑定策略:编译时绑定(静态数组)对象建立时绑定(执行到分程序时,动态数组)对象处理时绑定(对APL,子集范围可变)3.序列①序列由任意多个数据项组成,这些数据项称为该序列的成分,且类型相同②串是序列③顺序文件的思想也是来自序列的概念,只能顺序读写4.递归若数据类型T包含属于同一类型T的成分,那么类型T称为递归类型。①允许在类型定义中使用被定义类型的名字②指针是建立递归数据对象的重要手段5.判定或判定或是一个选择对象结构的构造机制,规定在两个不同选择对象之间作出适

6、当的选择。每一选择对象结构称为变体。例如:PASCAL的变体记录;C的联合。6.幂集类型T的元素所有子集的集合,称为幂集,记为Powerset(T),T称为基类型。应用:每次的操作对象仅仅是某个集合的子集。6、类型检查及其分类1.类型检查:对数据对象的类型和使用的操作是否匹配的一致性检查称为类型检查2.静态检查和动态检查①静态检查使程序更正确更有效②动态检查使编程方便,但影响了可读性,且降低了执行效率3.强类型语言若一个语言允许所有的类型静态检查4.Pascal是非强类型语言①编译时,不能确定一个过程中的过程参数和子程序参数类型②Pascal的子界不能静态检查如:a:=b

7、+c;且a、b、c均属于子界类型1..10③变体记录的标识符可以在运行时改变④Pascal没有严格规定类型的一致性规则7、何谓类型等价:T1和T2是相容的:T1可赋给T2,T1可对应T2的形参;反之亦然。1.名字等价:两个变量的类型名相同。2.结构等价:两个变量的类型具有相同的结构。验证法:用用户定义类型的定义来代替用户定义名,重复这一过程,直到没有用户定义类型名为止。3.两种相容性实现时的比较①名字等价的实现比较简单②结构等价的实现需要的模式匹配过程可能十分复杂8、语句级控制结构控制结构:程序员用来规定程序各个成分的执行流程

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

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

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