如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
2008级编译原理纲要1编程语言编程语言编程语言编程语言::::原理与范数原理与范数原理与范数原理与范数1高级语言程序执行的两种方式;(1)编译:编译器将高级语言写成的源程序整个地翻译成机器指令的目标程序,使目标程序和源程序在功能上完全等价,然后执行目标程序,得出运算结果。(2)解释:解释器把高级语言写成源程序一句一句地翻译成机器指令,每译完一句执行一句,当源程序翻译完后,目标执行完。从工作原理,可得出的特点:(1)是否生成目标代码;(2)编译比解释执行效率高;(3)解释比编译灵活;(4)解释比编译占用的内存少;2上下文文法定义是由产生式集P,终结符集合T,非终结符N集合和起始符S组成。GIteger:Iteger-digit/ItegerdigitDigit-0/1/2/3……/9试写出352的最左,最右的推导过程。最左推导过程:Iteger—integerdigit—integerdigitdigit—digitdigitdigit—3digitdigit—35digit—352最左推导过程:Iteger—integerdigit—integer2—integerdigit2—integer52—digit52—3523语法分析树:例题:用一下的文法:Expr—ExprTerm/TermTerm—TermFactor/FactorFactor—0/1/2……/9/Expr画出一下的语法分析树;(1)543(2)543答案:2008级编译原理纲要2ExprExprTermTermTermFactorFactorFactor3544给定文法求每一个非终结符的first集合S-ABA-cB/dB-aA/bSFirst集的定义;它包含全部终结符,是由给定符号推导出的最早的第一个字符。文法FirstS-ABcdA-cBA-dcdB-aAB-bSab5释头文件在c和c的用途,为什么java不使用头文件答案:(1)头文件的主要作用在于库功能对各个被调用的函数给出一个描述其本身不包含程序的逻辑实现代码它只起描述性作用告诉应用程序通过相应的途径寻找相应的功能函数的真正逻辑实现代码,用户程序只需要按照头文件中的接口声明来调用库功能,编译器会从库中提取相应的代码。2java程序的中间代码,它具有很强的自说明性。比如说,.class文件就能够知道他里面的类名包含的属性,方法等。即所有的调用接口都是已知的一个.class本身并具有了“中间代码”和“接口定义”的双重功能,所以不再需要一个单独的接口。6试分析java和c的区别答案:(1)java的内存管理是系统自带的,c程序员关心内存管理方面的问题(2)java是一种解释型的语言,c是一种编译型的语言(3)java没有指针,c有指针(4)java仅允许单一继承,c允许多重继承(5)java中没有头文件,c中有头文件7使给出一个中缀表达式,求出后缀表达式和前缀表达式已给出中缀表达式;中缀表达式:(ab)(c-d)后缀表达式:abcd-前缀表达式:ab-cd8参数传址机制2008级编译原理纲要3(1)按值的传递:(2)按引用传递:(3)按结果传递:(4)按名字传递:1、考虑下面程序...........Vari:integera:array1..2ofintegerprocedureQbVarb:integerbegini:1b:b2i:2b:b3Endbegina1:5a2:6i:1Qaiprinta1a2END.试问:若参数传递的方式分别采用传地址和传值时,程序执行后输出a1a2的值是什么9方法重载和方法覆盖区别多态有两种形式:方法的覆盖和方法的重载1)方法的覆盖①方法覆盖的概念:指在子类中重新定义父类中已有的方法。②对于重写的方法,运行时系统根据调用该方法的对象的类型来决定选择哪个方法调用。注意:在子类中重写父类已有方法时,应保持与父类完全相同的方法名,返回值和参数列表,即相同的方法签名,并且不允许降低方法的访问权限。2)方法的重载①方法重载的概念:指的是在一个类中创建多个具有相同名称,Java但使用不同参数的方法,虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。②重载的方法必须有不同个数或类型的参数。③类方法的重载包括成员方法的重载和构造方法的重载。10接口和抽象类的区别在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。接口定义:接口将常量和抽