当前位置:文档之家› 编译原理名词解释 HDU 杭州电子科技大学 90分必备

编译原理名词解释 HDU 杭州电子科技大学 90分必备

编译原理名词解释 HDU 杭州电子科技大学 90分必备
编译原理名词解释 HDU 杭州电子科技大学 90分必备

1 Lexical analysis 词法分析:从左至右读源程序,识别单词符号

2 Syntax analysis 语法分析:在词法分析的基础上将单词序列组合成各类语法短语

3 Semantic analysis 语义分析:语义检查,收集语义信息, 进行类型审查.

4 LEX 词法分析程序的自动生成工具:输入描述构词规则的一系列正规式,构建有穷自动机和驱动程序,生成词法分析程序.

5 Grammar Ambiguity 二义性文法:如果文法含有二义性的句子,则称该文法是二义性的。

6 Ambiguity二义性:如果文法G中的某个句子存在不只一棵语法树,则称该句子是二义性的

7 Viable prefixes 活前缀:若有S’?αAω?αβω是一规范推导,且γ是αβ的前缀,则称是文法G的活前缀

8 Leftmost-reduction 最左规约:最右推导的逆过程,即对最左边的可归约串进行归约

9 Leftmost-deruvation 最左推导:对句型最左非终结符进行展开

10 Sentential form 句型:从文法的开始符号出发进行零步或多于零步的推导得到的文法符号串

11 Inherited attributes继承属性:属性值是分析树中该结点的父结点和/或兄弟结点的属性值的函数

12 Synthesized attributes综合属性:属性值是分析树中该结点的子结点的属性值的函数

13 Syntax-Directed Translation语法制导翻译:根据语法分析中产生式对应的语义规则进行翻译的方法

14 Dependency Graphs 依赖图:用来表示属性之间依赖关系的有向图

15 Operator-precedence grammar 算符优先文法:如果一个算符文法G 的任意两个终结符号之间最多只有<·、·>、=·、三种关系的一种成立

16 Operator grammar 算符文法:不含形如 A → ε,A →αBCβ的产生式

17 Regular expression 正规表达式:一个表示字符串格式的模式,可以用来描述单词符号的结构

18 Nfa 不确定的有穷自动机:由状态集合,输入符号集合,转换函数,开始状态,接受状态集合组成

19 Dfa 确定的有穷自动机:没有ε边转移且一个状态面临一个输入符号时最多只转移到一个状态的NFA。

20 Static allocation 静态存储分配:编译时确定所需的全部数据空间的大小,编译时安排好每个名字的存储位置

21 Stack allocation 栈式分配:在运行空间中划分一块存储空间作为栈区,程序运行时每当调用一个过程,就将该过程的活动记录压入栈中,过程执行完毕将它的活动记录从栈中弹出

22 Code optimization 代码优化:对中间代码进行优化(提高时间与空间效率)

23 Pass 遍:对源程序或源程序中间表示的一次扫描,每一遍读入一个文件,执行一个或几个阶段的编译操作,并输出源程序的一个中间表示

24 Activation record 活动记录:是一段连续的存储区,用以存放过程的一次执行所需要的信息

25 Access link访问链(存取链):活动记录中的一个区,是一个指针

26 Symbol-table 符号表:在编译过程中,编译程序用来记录源程序中各种文字的特征信息的表。

27 Handle 句柄:最左直接短语

28 Assemblers 汇编器:处理汇编语言代码,产生可重定位的机器代码

29 SDD 语法制导定义 30 Nesting depth 嵌套深度31 Intermediate code 中间代码

编译原理习题及答案(整理后)

第一章 1、将编译程序分成若干个“遍”就是为了。 a.提高程序得执行效率 b.使程序得结构更加清晰 c.利用有限得机器内存并提高机器得执行效率 d.利用有限得机器内存但降低了机器得执行效率 2、构造编译程序应掌握。 a.源程序b.目标语言 c.编译方法d.以上三项都就是 3、变量应当。 a.持有左值b.持有右值 c.既持有左值又持有右值d.既不持有左值也不持有右值 4、编译程序绝大多数时间花在上。 a.出错处理b.词法分析 c.目标代码生成d.管理表格 5、不可能就是目标代码。 a.汇编指令代码b.可重定位指令代码 c.绝对指令代码d.中间代码 6、使用可以定义一个程序得意义。 a.语义规则b.语法规则 c.产生规则d.词法规则 7、词法分析器得输入就是。 a.单词符号串b.源程序 c.语法单位d.目标程序 8、中间代码生成时所遵循得就是- 。 a.语法规则b.词法规则 c.语义规则d.等价变换规则 9、编译程序就是对。 a.汇编程序得翻译b.高级语言程序得解释执行 c.机器语言得执行d.高级语言得翻译 10、语法分析应遵循。 a.语义规则b.语法规则 c.构词规则d.等价变换规则 二、多项选择题 1、编译程序各阶段得工作都涉及到。 a.语法分析b.表格管理c.出错处理 d.语义分析e.词法分析 2、编译程序工作时,通常有阶段。 a.词法分析b.语法分析c.中间代码生成 d.语义检查e.目标代码生成 三、填空题 1、解释程序与编译程序得区别在于。 2、编译过程通常可分为5个阶段,分别就是、语法分析、代码优化与目标代码生成。 3、编译程序工作过程中,第一段输入就是,最后阶段得输出为程序。

《马克思主义哲学经典文学》思考题

《马克思主义哲学经典文学》思考题 1、《关于费尔巴哈的提纲》是谁写的?写于那一年? 答:《关于费尔巴哈的提纲》是由恩格斯发表的稿本,写于1888年。 2、在《关于费尔巴哈的提纲》中,马克思是怎样阐述辩证唯物论的认识论和旧唯物论的认识论的区别? 答:在《关于费尔巴哈的提纲》中,马克思是从以下5个方面阐述了辩证唯物伦的认识论和旧唯物论的认识论的区别。 (1)、从客观理解上谈两者的区别,马克思说:“从前的一切唯物主义———包括费尔巴哈的唯物主义———的主要缺点是:对对象、现实、感性,只是从客体的或者直观的形式去理解,而不是把它们当作人的感性活动,当作实践去理解,不是从主体方面去理解。”这就是说在辩证唯物论的认识论看来,进入人的认识活动和实践活动范围的一切客观事物,都是与人的实践活动分不开的,它不仅仅是我们认识的对象,而且是我们实践的对象,而旧的唯物论的认识论则把人的实践活动从客体中排除出去,它仅仅把事物当作人的认识对象,而不是实践的对象。 (2)、从对认识过程的理解上来谈两者的区别,马克思说:“因此,结果竟是这样,和唯物主义相反,唯心主义却发展了能动的方面,但只是抽象地发展了,因为唯心主义当然是不知道现实的、感性的活动本身的。”这就是说在辩证唯物论看来,认识过程是一个在实践基础上由现象到本质,由感性到理性能动的反应过程,而在旧唯物论的认识看来,认识只是主体对客体的消极的直观反应。

(3)、从对实践的理解上看两者的区别,马克思说:“费尔巴哈想要研究跟思想客体确实不同的感性客体,但是他没有把人的活动本省理解为对象性的活动,因此,他在《基督教的本质》中仅仅把理论的活动看作是真正人的活动,而对于实践则只是从它的卑污的犹太人活动的表现形式去理解和确定。”这就是说在辩证唯物论看来,实践是人们有目的的改造和探索现实世界客观物质活动,而在旧唯物主义看来实践只是一种理论活动,或如犹太人经商牟利活动。(4)从对检验认知的真理性的标准上来谈两者的区别,马克思说:“人的思维是否具有客观的真理性,这并不是一个理论的问题,而是一个实践的问题。人应该在实践中证明自己思维的真理性,即自己思维的现实性和力量,亦即自己思维的此岸性。关于离开实践的思维是否具有现实性的争论,是一个纯粹的哲学问题........”这就是说在辩证唯物论看来,实践是检验真理的唯一标准,而旧唯物论的认识论则把实践排除于真理之外。 (5)从对认识目的的理解上来谈两者的区别,马克思说:”哲学家们只是用不同的方式解释世界,而问题在于改变世界。“这就是说在辩唯物论看来,认识世界的目的是改造世界,而旧唯物论主义看来,认识论只是解释世界或说明世界。 3、列宁在《谈谈辩证法问题》中是怎样阐述唯物辩证法的实质的? 答:列宁在《谈谈辩证法问题》中,一开头就提出对立统一规律是唯物辩证法实质,他说:”统一物之分为两个部分以及对它的矛盾着的部分的认识是辩证法的实质。“接着他批评了普列汉诺夫对这个问题不够重视,并列举说明这一规律的客观性和普遍性,然后列宁指出了对立统一规律的含义及其统一的相对

编译原理期末考试习题及答案

一、填空题|(每题4分,共20分) 1. 乔母斯基定义的3型文法(线性文法)产生式形式 A→Ba|a,或A→aB|a,A,B∈Vn, a,b∈Vt 。 2.语法分析程序的输入是单词符号,其输出是语法单位。 3 型为 B → .aB 的LR(0)项目被称为移进项目,型为 B → a.B 的LR(0) 项目被称为待约项目, 4.在属性文法中文法符号的两种属性分别为继承属性和综合属性。 5、运行时存贮管理方案有静态存储分配、动态存储分配和堆式存储分配和方案。 二.已知文法 G(S) (1) E → T | E+T (2) T → F | F*F (3) F →(E)| i (1)写出句型(T*F+i)的最右推到并画出语法树。(4分) (2)写出上述句型的短语,直接短语和句柄。(4分) 答:(1)最右推到(2分) E ==> T ==> F ==> (E) ==> (E+T) ==> (E+F) ==> (E+i) ==> (T+i) ==> (T*F+i) (2) 语法树(2分) (3)(4分) 短语:(T*F+i),T*F+i ,T*F , i 直接短语:T*F , i 句柄:T*F 三. 证明文法G(S) :S → SaS |ε是二义的。(6分) 答:句子aaa对应的两颗语法树为:

因此,文法是二义文法 四.给定正规文法G(S): (1) S → Sa | Ab |b (2) A → Sa 请构造与之等价的DFA。(6分) 答:对应的NFA为:(6分) 状态转换表: a b {F} Φ{S} {S} {S,A} Φ {S,A} {S,A} {S} 五. 构造识别正规语言b*a(bb*a)*b* 最小的DFA(要求写出求解过程)。(15分)答:(1)对应的NFA(5分) a b {0} {1,3} {0} {1,3} Φ{2,3} {2,3} {1,3} {2,3} (5分) 六. 已知文法G(S) : (1) S → ^ | a | (T) (2) T → T,S | S 试:(1)消除文法的左递归;(4分) (2)构造相应的first 和 follow 集合。(6分) 答:(1)消除文法的左递归后文法 G’(S)为: (1) S → ^ | a | (T)

编译原理概念_名词解释

编译过程的六个阶段:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成 解释程序:把某种语言的源程序转换成等价的另一种语言程序——目标语言程序,然后再执行目标程序。 解释方式是接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执 行结果,然后再接受下一句。 编译程序:就是指这样一种程序,通过它能够将用高级语言编写的源程序转换成与之在逻辑上等价的低级语言形式的目标程序(机器语言程序或汇编语言程序)。 解释程序和编译程序的根本区别:是否生成目标代码 句子的二义性(这里的二义性是指语法结构上的。):文法G[S]的一个句子如果能找到两种不同的最左推导(或最右推导),或者存在两棵不同的语法树,则称这个句子是二义性的。 文法的二义性:一个文法如果包含二义性的句子,则这个文法是二义文法,否则是无二义文法。 LL(1)的含义:(LL(1)文法是无二义的; LL(1)文法不含左递归) 第1个L:从左到右扫描输入串第2个L:生成的是最左推导 1:向右看1个输入符号便可决定选择哪个产生式 某些非LL(1)文法到LL(1)文法的等价变换: 1. 提取公因子 2. 消除左递归 文法符号的属性:单词的含义,即与文法符号相关的一些信息。如,类型、值、存储地址等。 一个属性文法(attribute grammar)是一个三元组A=(G, V, F) G:上下文无关文法。 V:属性的有穷集。每个属性与文法的一个终结符或非终结符相连。属性与变量一样,可以进行计算和传递。 F:关于属性的断言或谓词(一组属性的计算规则)的有穷集。断言或语义规则与一个产生式相联,只引用该产生式左端或右端的终结符或非终结符相联的属性。 综合属性:若产生式左部的单非终结符A的属性值由右部各非终结符的属性值决定,则A的属性称为综合属继承属性:若产生式右部符号B的属性值是根据左部非终结符的属性值或者右部其它符号的属性值决定的,则B的属性为继承属性。 (1)非终结符既可有综合属性也可有继承属性,但文法开始符号没有继承属性。 (2) 终结符只有综合属性,没有继承属性,它们由词法程序提供。 在计算时:综合属性沿属性语法树向上传递;继承属性沿属性语法树向下传递。 语法制导翻译:是指在语法分析过程中,完成附加在所使用的产生式上的语义规则描述的动作。 语法制导翻译实现:对单词符号串进行语法分析,构造语法分析树,然后根据需要构造属性依赖图,遍历语法树并在语法树的各结点处按语义规则进行计算。 中间代码(中间语言) 1、是复杂性介于源程序语言和机器语言的一种表示形式。 2、一般,快速编译程序直接生成目标代码。 3、为了使编译程序结构在逻辑上更为简单明确,常采用中间代码,这样可以将与机器相关的某些实现细节置于代码生成阶段仔细处理,并且可以在中间代码一级进行优化工作,使得代码优化比较容易实现。 何谓中间代码:源程序的一种内部表示,不依赖目标机的结构,易于代码的机械生成。 为何要转换成中间代码:(1)逻辑结构清楚;利于不同目标机上实现同一种语言。 (2)便于移植,便于修改,便于进行与机器无关的优化。 中间代码的几种形式:逆波兰记号,三元式和树形表示,四元式 符号表的一般形式:一张符号表的的组成包括两项,即名字栏和信息栏。 信息栏包含许多子栏和标志位,用来记录相应名字和种种不同属性,名字栏也称主栏。主栏的内容称为关键字(key word)。 符号表的功能:(1)收集符号属性(2) 上下文语义的合法性检查的依据:检查标识符属性在上下文中的一致性和合法性。(3)作为目标代码生成阶段地址分配的依据

《编译原理》练习题

《编译原理》练习题一 一、填空题(每空1分) 1.设G [S ]是一个文法,我们把能由文法的 (1) 推导出来的符号串α称为G 的一个句型。当句型α仅由 (2) 组成时 (即α∈V T * ),则将它称为G 产生的句子。 2.从某一给定的状态q 出发,仅经过若干条 (3) 的矢线所能达到的状态所组成的集合称为ε-CLOSURE(q)。 3.设G=(V N ,V T ,P,S)是一文法,我们说G 中的一个符号X ∈V N ∪V T 是有用的,是指X 至少出现在 (4) 的推导过程中,否则,就说X 是无用的。我们将不含形如A→A 的产生式和不含无用符号及无用产生式的文法称为 (5) 。 4.我们常采用形如 (class, value)的二元式作为一个单词的 (6) 。其中,class 是一个整数,用来指示该单词的 (7) ,value 则是单词之值。 5.一个文法G[S]可表示成形如 (8) 的四元式。其中V N ,V T ,P 均为非空的有限集,分别称为非终结符号集、终结符号集和产生式集, S ∈V N 为文法的开始符号。此外,将出现在各产生式左部和右部的一切符号所组成的集合称为 (9) ,记作V 。显然,V=V N ∪V T ,V N ∩V T =?。 6.通常,可通过两种途径来构造词法分析程序。其一是根据对语言中各类单词的某种描述或定义,用 (10) 构造词法分析程序;另外一种途径是所谓词法分析程序的 (11) 。 7.设G 为一文法,A→α是G 的一个产生式,如果α具有υA δ的形式,其中υ,δ不同时为ε,则称产生式A→α是 (12) 。若存在推导δυαA A * ??,则 称产生式A→α是 (13) 。 8.设M=(K,Σ,f,S 0,Z)为一DFA ,并设s 和t 是M 的两个不同状态,我们说状态s,t 为某一输入串w (14) ,是指从s,t 中之一出发,当扫视完w 之后到达M 的终态,但从其中的另一个状态出发,当扫视完同一个w 后而进入 (15) 。 9.把最右推导称为 (16) ,而把右句型称为 (17) 。 10.如果从状态转换图的初态出发,分别沿着一切可能的路径到达 (18) ,并

马克思主义经典著作试题

马克思主义经典著作选读论述题 1、恩格斯在《社会主义从空想到科学的发展》一文中是如何论述社会主义的科学性的。 2、对比分析《共产党宣言》和《社会主义从空想到科学的发展》对两大发现的论述。 3、马克思哲学的当代性质体现在哪些方面?马克思是如何批判现代性的?这一批判对于理解和领会中国的社会现实有怎样的意义? 4、马克思在《博士论文》中是如何评价伊壁鸠鲁哲学的?重新解释“原子脱离直线而偏斜”的哲学立场是什么?这种解释具有怎样的理论意义和实践意义。 5、马克思是如何批判黑格尔的法哲学的?应当怎样来理解“政治解放”和“人类解放”的关系? 6、费尔巴哈是如何批判黑格尔思辨哲学的?这一批判对于马克思的哲学变革具有怎样的提示作用和推动作用? 7、异化劳动的四个规定性是什么?应当如何来理解异化劳动学说在马克思新世界观形成中的作用?马克思是如何由此开展出政治经济学批判的? 8、如何在存在论的高度上来理解马克思的共产主义原则?为什么说异化和异化的扬弃走的是同一条道路? 9、马克思是如何对待黑格尔辩证法的?他在黑尔格的辩证法中发现了哪些积极因素?他对黑格尔哲学的批判在何种程度上超越了费尔巴哈? 10、怎样来理解“生活决定意识”这一历史唯物主义的立脚点?在《德意志意识形态》中马克思、恩格斯所指出的“历史的现实前提”是什么?应当怎样来理解“现实的个人”? 11、马克思是如何通过“对象性的活动”来洞穿意识的内在性,从而实现哲学上的革命性变革的? 12、马克思、恩格斯在《德意志意识形态》中提出以“实证”的历史科学来取代传统哲学,这将是一门怎样的科学? 原著 一、简答题(2×10分) 1、《马克思给……》的信中关于生产力是“全部历史的基础”的思想 2、列宁在《唯批》中关于辩证唯物主义认识论的三个重要结论 二、论述题(2×40分) 1、阐述恩格斯在《路德维希?费尔巴哈和德国古典哲学的终结》中关于“动力的动力”思想及现实意义 2、阐述毛泽东《矛盾论》中矛盾特殊性思想及现实意义

编译原理期末考试题目及答案

一、填空题(每空2分,共20分) 1.编译程序首先要识别出源程序中每个单词,然后再分析每个句子并翻译其意义。 2.编译器常用的语法分析方法有自底向上和自顶向下两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的分析,中间代码生成、代码优化与目标代码的生成则是对源程序的综合。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即静态存储分配方案和动态存储分配方案。 5.对编译程序而言,输入数据是源程序,输出结果是目标程序。 1.计算机执行用高级语言编写的程序主要有两种途径:解释和编译。 2.扫描器是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。 3.自下而上分析法采用移进、归约、错误处理、接受等四种操作。 4.一个LL(1)分析程序需要用到一张分析表和符号栈。 5.后缀式abc-/所代表的表达式是a/(b-c)。 二、单项选择题(每小题2分,共20分) 1.词法分析器的输出结果是__C。 A.单词的种别编码B.单词在符号表中的位置 C.单词的种别编码和自身值D.单词自身值 2.正规式M 1 和M 2 等价是指__C_。 A.M1和M2的状态数相等 B.M1和M2的有向边条数相等 C.M1和M2所识别的语言集相等D.M1和M2状态数和有向边条数相等 3.文法G:S→xSx|y所识别的语言是_C____。 A.xyx B.(xyx)* C.xnyxn(n≥0) D.x*yx* 4.如果文法G是无二义的,则它的任何句子α_A____。 A.最左推导和最右推导对应的语法树必定相同B.最左推导和最右推导对应的语法树可能不同 C.最左推导和最右推导必定相同D.可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握____D__。 A.源程序B.目标语言C.编译方法D.以上三项都是 6.四元式之间的联系是通过__B___实现的。 A.指示器B.临时变量C.符号表D.程序变量 7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为__B___。 A.┐AB∨∧CD∨B.A┐B∨CD∨∧ C.AB∨┐CD∨∧D.A┐B∨∧CD∨ 8. 优化可生成__D___的目标代码。 A.运行时间较短 B.占用存储空间较小 C.运行时间短但占用内存空间大D.运行时间短且占用存储空间小 9.下列___C___优化方法不是针对循环优化进行的。 A. 强度削弱B.删除归纳变量C.删除多余运算D.代码外提 10.编译程序使用_B_区别标识符的作用域。 A. 说明标识符的过程或函数名B.说明标识符的过程或函数的静态层次 C.说明标识符的过程或函数的动态层次 D. 标识符的行号 三、判断题(对的打√,错的打×,每小题1分,共10分) 2.一个有限状态自动机中,有且仅有一个唯一的终态。x

编译原理习题

一、名词解释 1.正规文法 2. 编译程序 3. 文法的推导 4.子树 5. LL(1)文法 6. 文法的句子 7. LR (0)文法 8. 请写出四种参数传递的方式 二综合题 1. 请写出编译程序的五个步骤。 2. 给定文法G :(0)S →aAcBe (1)A →b (2)A →Ab (3)B →d 若有句型 aAbcde ,试问b 是它的直接短语吗?它的短语是什么?句柄是什么? 3. 设有文法:S->aSbS|bSaS|ε 通过为句子abab 建立两个最左推导来说明该文法是二义文法。 4. 写出下列语言的上下文无关文法:{}0,|)(≥=m n G L c b a m n n 5. 写出下列语言的上下文无关文法:L(G)={a n b n c m d m , n, m ≥0}。 6. 令文法G :S → aS S →a | b 给出句子aaaab 的最左推导。 7. 证明下面的文法是有二义性的。 E →-EE E →-E E →a|b|c 8. 文法G 为: E→E+T|T T→T*F|F F→(E)|i (1)画出句型(E+F)*i 的语法树; (2)给出句型(E+F)*i 短语,简单(直接)短语,句柄。 9. 设字母表∑={a,b},给出∑上的正则式R=(a | ba )* (1)构造NFA M ,使得L (M )=L (R )。 (2)将NFA M 确定化、最小化,得到minDFA M 。 (3)求右线形文法G ,使得L (G )=L (M ) 10. 设字母表∑={0,1},给出∑上的正则式R=0(0 | 1)*1 (1)构造NFA M ,使得L (M )=L (R )。 (2)将NFA M 确定化,最小化,得到minDFA M 。 11. 设字母表∑={0,1},给出∑上的正则式R=(a|b)*a (a|b) (1)构造NFA M ,使得L (M )=L (R )。

编译原理习题及答案(整理后)

第一章 1、将编译程序分成若干个“遍”是为了。 b.使程序的结构更加清晰 2、构造编译程序应掌握。 a.源程序b.目标语言 c.编译方法 3、变量应当。 c.既持有左值又持有右值 4、编译程序绝大多数时间花在上。 d.管理表格 5、不可能是目标代码。 d.中间代码 6、使用可以定义一个程序的意义。 a.语义规则 7、词法分析器的输入是。 b.源程序 8、中间代码生成时所遵循的是- 。 c.语义规则 9、编译程序是对。 d.高级语言的翻译 10、语法分析应遵循。 c.构词规则 二、多项选择题 1、编译程序各阶段的工作都涉及到。 b.表格管理c.出错处理 2、编译程序工作时,通常有阶段。 a.词法分析b.语法分析c.中间代码生成e.目标代码生成 三、填空题 1、解释程序和编译程序的区别在于是否生成目标程序。 2、编译过程通常可分为5个阶段,分别是词法分析、语法分析中间代码生成、代码优化和目标代码生成。 3、编译程序工作过程中,第一段输入是源程序,最后阶段的输出为标代码生成程序。 4、编译程序是指将源程序程序翻译成目标语言程序的程序。

一、单项选择题 1、文法G:S→xSx|y所识别的语言是。 a. xyx b. (xyx)* c. x n yx n(n≥0) d. x*yx* 2、文法G描述的语言L(G)是指。 a. L(G)={α|S+?α , α∈V T*} b. L(G)={α|S*?α, α∈V T*} c. L(G)={α|S*?α,α∈(V T∪V N*)} d. L(G)={α|S+?α, α∈(V T∪V N*)} 3、有限状态自动机能识别。 a. 上下文无关文法 b. 上下文有关文法 c.正规文法 d. 短语文法 4、设G为算符优先文法,G的任意终结符对a、b有以下关系成立。 a. 若f(a)>g(b),则a>b b.若f(a)

马克思主义经典著作选读练习题与答案

第一章《关于费尔巴哈的提纲》 一、简答题 1、如何理解“人的本质不是单个人所固有的抽象物,在其现实性上,它是一切社会关系的总和”这一论断? 首先,人的本质是具体的、现实的、不是抽象的,它是由人的建立在实践基础上的社会关系所决定 的。(2 分)其次,人的本质不是由他所处的某一种社会关系所决定的,而是由一切社会关系的总和 决定的。其中占主导地位的社会关系是生产关系。(2分)最后,人的本质也不是凝固不变的,而是 不断发展变化着的,是具体的历史的。(1 分) 2、从前的一切唯物主义(包括费尔巴哈的唯物主义)的主要缺点是什么? 从前的一切唯物主义(包括费尔巴哈的唯物主义)的主要缺点是:对对象、现实、感性,(1 分)只是从客体的或者直观的形式去理解,( 1 分)而不是把它们当作感性的人的活动,当作实践去理解, (1 分)不是从主体方面去理解。(1 分)唯心主义是不知道现实的、感性的活动本身的,能动的方 面被唯心主义抽象地发展了,他们不了解革命的、实践批判的活动的意义。(1 分) 3、简述对“旧唯物主义的立脚点是市民社会”这一论断的理解。 这句话是说旧唯物主义立足于对市民社会的直观,市民社会是指将私人利益关系作为总和的社会。 (1 分)旧唯物主义以它为基础,用关于个人功利的观点来说明结成政治社会的必要。(1分)新唯物主义不仅承认市民社会决定国家,而且认为人既在国家这个政治共同体中过着社会生活,又在社 会关系中生活。( 1 分)因此,“新唯物主义的立脚点则是人类社会或社会化的人类。(”1 分)其涵义是指历史唯物主义的立脚点是人的实践活动所创造的社会,或是一定社会关系所制约的从事实践活动 的人。( 1 分) 4、简述《关于费尔巴哈的提纲》的核心思想。 马克思以未展开的形式第一次将实践作为哲学理论的基本范畴,(1 分)提出了新世界观,特别是新 唯物主义历史观的一些基本观点,(1 分)指出了马克思主义哲学同一切旧哲学的根本区别,(1分)实现了哲学史上的伟大变革。( 1 分)贯穿《提纲》的中心线索是实践观点,它是《提纲》的核心思 想和灵魂。(1 分) 5、如何理解“宗教上的自我异化”? “宗教上的自我异化”是指一切宗教都把整个世界分成两部分:一是人们生活其中的人间世俗世界,( 1

编译原理试题(卷)汇总-编译原理期末试题(卷)(8套含答案解析-大题集)

编译原理考试题及答案汇总 一、选择 1.将编译程序分成若干个“遍”是为了_B__。 A . 提高程序的执行效率 B.使程序的结构更加清晰 C. 利用有限的机器内存并提高机器的执行效率 D.利用有限的机器内存但降低了机器的执行效率 2.正规式 MI 和 M2 等价是指__C__。 A . MI 和 M2 的状态数相等 B.Ml 和 M2 的有向弧条数相等。 C .M1 和 M2 所识别的语言集相等 D. Ml 和 M2 状态数和有向弧条数相等 3.中间代码生成时所依据的是 _C_。 A.语法规则 B.词法规则 C.语义规则 D.等价变换规则 4.后缀式 ab+cd+/可用表达式__B_来表示。 A. a+b/c+d B.(a+b)/(c+d) C. a+b/(c+d) D. a+b+c/d 6.一个编译程序中,不仅包含词法分析,_A____,中间代码生成,代码优化,目标代码生成等五个部分。 A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析 7.词法分析器用于识别__C___。 A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符 8.语法分析器则可以发现源程序中的___D__。 A.( ) 语义错误 B.( ) 语法和语义错误 C.( ) 错误并校正 D.( ) 语法错误 9.下面关于解释程序的描述正确的是__B___。 (1) 解释程序的特点是处理程序时不产生目标代码 (2) 解释程序适用于 COBOL 和 FORTRAN 语言 (3) 解释程序是为打开编译程序技术的僵局而开发的 A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3) 10.解释程序处理语言时 , 大多数采用的是__B___方法。 A.( ) 源程序命令被逐个直接解释执行 B.( ) 先将源程序转化为中间代码 , 再解释执行 C.( ) 先将源程序解释转化为目标程序 , 再执行 D.( ) 以上方法都可以 11.编译过程中 , 语法分析器的任务就是__B___。 (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构 A.( ) (2)(3) B.( ) (2)(3)(4)C.( ) (1)(2)(3) D.( ) (1)(2)(3)(4) 12.编译程序是一种___C__。 A. ( ) 汇编程序 B.( ) 翻译程序 C.( ) 解释程序 D.( ) 目标程序 13.文法 G 所描述的语言是_C____的集合。 A. ( ) 文法 G 的字母表 V 中所有符号组成的符号串 B.( ) 文法 G 的字母表 V 的闭包 V* 中的所有符号串 C.( ) 由文法的开始符号推出的所有终极符串 D. ( ) 由文法的开始符号推出的所有符号串 14.文法分为四种类型,即 0 型、1 型、2 型、3 型。其中 3 型文法是___B__。 A. ( ) 短语文法 B.( ) 正则文法 C.( ) 上下文有关文法 D.( ) 上下文无关文法15.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 __D___。 A.( ) 句子 B.( ) 句型 C.( ) 单词 D.( ) 产生式 16.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_C____。

编译原理课后习题答案

第1 章 1、编译过程包括哪几个主要阶段及每个 阶段的功能。 答案:编译过程包括词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成5 个阶段。词法分析的功能是对输入的高级语言源程序进行词法分析,识别其中的单词符号,确定它们的种类,交给语法分析器,即把字符串形式的源程序分解为单词符号串形式。语法分析的功能是在词法分析结果的基础上,运用语言的语法规则,对程序进行语法分析,识别构成程序的各类语法范畴及它们之间的层次关系,并把这种层次关系表达成语法树的形式。词义分析和中间代码生成的功能是在语法分析的基础上,对程序进行语义分析,“理解”其含义,产生出表达程序语义的内部表达形式(中间代码)。优化的功能是按照等价变换的原则,对语义分析器产生的中间代码序列进行等价变换,删除其中多余的操作,对耗时耗空间的代码进行优化,以期最后得到高效的可执行代码。目标代码生成的功能是把优化后的中间代码变换成机器指令代码,得到可在目标机器上执行的机器语言程序。 第2 章 1、写一上下文无关文法G,它能产生配 对的圆括号串(如:(),(()),()(())等,甚至 包括0 对括号) 文法为:S→(L)|LS|L L→S| ε 2 、已知文法G :E→E+T|E-T|T T→T*F|T/F|F F→(E) |i (1)给出i+i*i,i*(i-i)的最左推导,最右推导以及语法树。 (2)i-i+i 哪个算符优先。 【解答】 (1)最左推导:E?E+T?T+T? F+T ? i+T ? i+T*F ? i+F*F ?i+i*F ?i+i*i E?T?T*F? F*F ? i*F ? i*(E) ? i*(E-T) ? i*(T-T) ? i*(F-T) ? i*(i-T) ? i*(i-F) ?i*(i-i) 最右推导:E?E+T?E+T*F? E+T*i ? E+F*i ? E+i*i ? T+i*i ? F+i*i ? i+i*i E?T?T*F? T*(E) ? T*(E-T) ? T*(E-F) ? T*(E-i) ? T*(T-i) ? T*(F-i) ?T*(i-i) ? F*(i-i) ?i*(i-i) i+i*i 以及i*(i-i)的语法树如下所示: (2)i-i+i 的语法树如下图所示。 从上图的语法树可知:“-”的位置位 于“+”的下层,也就是前面两个i 先进 行“-”运算,再与后面的i 进行“+” 运算,所以“-”的优先级高于“+”的 优先级。 3 、文法G: E→ET+|T T→TF*|F F→FP↑|P P→E|i (1)试证明符号串TET+*i↑是G 的一 个句型(要求画出语法树). (2)写出该句型的所有短语,直接短语和句柄. 【解答】(1)采用最右推导: E?T?F? FP↑? Fi↑? Pi↑? Ei↑ ? Ti↑? TF*i↑? TP*i↑? TE*i↑? TET+*i↑ 语法树如下图所示。 从文法G 的起始符号出发,能够推导 出符号串TET+*i↑,所以给定符号串是文法G的句型。 (2) 该句型的短语有: ET+,TET+*,i ,TET+*i↑ 直接短语有:ET+, i 句柄是:ET+ 4、已知文法G:S→iSeS|iS|i ,该文法 是二义文法吗?为什么? 【解答】该文法是二义文法。 因为对于句子iiiei 存在两种不同的最 左推导: 第 1 种推导:S? iSeS? iiSeS? iiieS? iiiei 第2种推导:S?iS?iiSeS?iiieS?iiiei 第3 章 1、用正规式描述下列正规集: (1)C 语言的十六进制整数; (2)以ex 开始或以ex 结束的所有小写字母构成的符号串; (3)十进制的偶数。 【解答】 (1)C 语言十六进制整数以0x 或者0X 开头,所以一般形式应该为(+|-|ε) (0x|0X)AA*,其中前面括号表示符号, 可以有正号、负号,也可以省略(用ε表示)默认是正数,A 表示有资格出现在十六进制整数数位上的数字,AA*表示一位或者多位(一个或者多个数字的

考研政治马哲部分经典选择题汇总

1把世界的本原归结为“宇宙之砖”、“万物的始基”、“原初物质”的哲学是A.古代朴素唯物主义B.庸俗唯物主义 C.近代唯物主义D.宗教哲学 答案:(A) 2马克思主义哲学实现了唯物主义自然观和唯物主义历史观的统一的关键是A.发现了阶级斗争在历史发展中的作用 B.肯定了人民群众在历史上的作用 C.探讨了人与自然的关系 D.把实践理解为对象性活动答案:(D) 3 马克思主义哲学的根本特征是 A.理论和实践的统一 B.唯物主义和辩证法的统一、唯物主义自然观和唯物主义历史观的统一 C.科学的世界观和方法论的同意 D.实践性、革命性和科学性的统一 答案:(D) 4.马克思主义哲学是 A.从物质第一性,精神第二性出发解决哲学基本问题的 B.从理论和实践的关系出发解决哲学基本问题的 C.从实践出发解决哲学基本问题的 D.从自然和社会的关系出发解决哲学基本问题的 答案:(C) 5.恩格斯提出的哲学基本问题的重要方面是 A.思维对存在的能动作用问题 B.思维和存在何者为第一性的问题 C.思维主体和思维客体的关系问题 D.思维和存在发展的不平衡性问题 答案:(B) 6. 孔子提出“畏天命”,“获罪于天,无所祷也”。这是 A.机械唯物主义观点B.主观唯心主义观点 C.朴素唯物主义观点D.客观唯心主义观点 答案:(D) 7.我国古代哲人提出“土与金、木、火、水杂,以成百物”,“和实生物”,这是A.多元论观点B.机械唯物主义观点 C.主张矛盾调和的形而上学观点D.朴素唯物论观点 答案:(D) 8.主观唯心主义和客观唯心主义的区别是 A.对物质和意识关系的两种不同回答 B.对精神决定世界的两种不同理解 C.对世界是否可知的两种不同的认识 D.对世界怎样存在的两种不同观点 答案:(B) 9.否认思维和存在具有同一性的哲学是 A.唯心主义B.经验主义 C.不可知论D.二元论

编译原理试卷

课程名称:编译原理专业班级:【本科】 备注: 学生不得在试题纸上答题(含填空题、选择题等客观题) 一、单项选择题(本题共10道小题,每小题2分,共20分) 1、在产生式中,符号“→”(“::=”)表示(D )。 A. 等于 B. 恒等于 C. 取决于 D. 定义为 2、编译程序是对(D )程序进行翻译。 A. 汇编语言 B.机器语言 C.自然语言 D. 高级语言 3、合并表达式中的常量运算的目的是(C )。 A.合并常量,使表达式中的常量尽可能少 B.合并常量,使表达式尽可能简短 C.将可在编译时刻计算的运算在编译时刻计算出来,用所计算出来的值替换表达式中出现的所有这种运算,使得生成的代码指令尽可能少 D.以上都不是 4、对应Chomsky四种文法的四种语言之间的关系是(B )。 A.L0?L1?L2?L3 B.L3?L2?L1?L0 C.L3=L2?L1?L0D.L0?L1?L2=L3 5、在状态转换图中,结点代表(D ),用圆圈表示。 A.输入缓冲区B.向前搜索C.字符串D.状态 6、编译程序前三个阶段完成的工作是(C )。 A.词法分析、语法分析和代码优化 B.代码生成、代码优化和词法分析 C.词法分析、语法分析、语义分析和中间代码生成 D.词法分析、语法分析和代码生成 7、自底向上语法分析法的原理是(C )。 A. “移进——推导法” B. “最左推导法” C. “移进——归约法” D. “推导——归约法” 8、无符号常数的识别与拼数工作通常在(C )阶段完成。 A. 语法分析 B. 语义分析 C. 词法分析 D. 代码优化 9、下述方法中,(C )不是自底向上的语法分析方法。 A. 规范归约 B.算符优先分析法 C.递归下降分析法 D.LR分析法 10、算符优先分析法从左到右扫描输入串,当栈顶出现(D )时进行归约。 A. 素短语 B. 直接短语 C.句柄 D. 最左素短语 二、判断题(本题共10道小题,每小题2分,共20分)正确的画“√”,错误的画“X” 1、( 错) 对任何一个编译程序来说,产生中间代码是不可缺少的。 2、( 错) 符号表的内容在词法分析阶段填入并在以后各阶段得到使用。 3、( 错) 设有一个LR(0)项目集I={X→α.Bβ, A→α.},该项目集含有“归约-归约”冲突。 4、( 错) 对文法G中的一个句子,如果能够找到两种以上的推导,则该句子是二义性的。 5、( 对) 一个句型的句柄一定是文法某产生式的右部。 6、( 对) 设有一个LR(0)项目集Ii={X→α.,A→α.},该项目集含有“归约-归约冲

编译原理一些习题答案

第2章形式语言基础 2.2 设有文法G[N]: N -> D | ND D -> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 (1)G[N]定义的语言是什么? (2)给出句子0123和268的最左推导和最右推导。 解答: (1)L(G[N])={(0|1|2|3|4|5|6|7|8|9)+} 或L(G[N])={α| α为可带前导0的正整数} (2) 0123的最左推导:N ? ND ? NDD ? NDDD ? DDDD ? 0DDD ? 01DD ? 012D ? 0123 0123的最右推导:N ? ND ? N3 ? ND3 ? N23 ? ND23 ? N123 ? D123 ? 0123 268的最左推导:N ? ND ? NDD ? DDD ? 2DDD ? 26D ? 268 268的最右推导:N ? ND ? N8 ? ND8 ? N68 ? D68 ? 268 2.4 写一个文法,使其语言是奇数的集合,且每个奇数不以0开头。 解答: 首先分析题意,本题是希望构造一个文法,由它产生的句子是奇数,并且不以0开头,也就是说它的每个句子都是以1、3、5、7、9中的某个数结尾。如果数字只有一位,则1、3、5、7、9就满足要求,如果有多位,则要求第1位不能是0,而中间有多少位,每位是什么数字(必须是数字)则没什么要求,因此,我们可以把这个文法分3部分来完成。分别用3个非终结符来产生句子的第1位、中间部分和最后一位。引入几个非终结符,其中,一个用作产生句子的开头,可以是1-9之间的数,不包括0,一个用来产生句子的结尾,为奇数,另一个则用来产生以非0整数开头后面跟任意多个数字的数字串,进行分解之后,这个文法就很好写了。 N -> 1 | 3 | 5 | 7 | 9 | BN B -> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | B0 2.7 下面文法生成的语言是什么? G1: S->AB A->aA| εB->bc|bBc G2: S->aA|a A->aS 解答: B ? bc B ? bBc? bbcc B ? bBc? bbBcc ? bbbccc …… A ?ε A ? aA ? a A ? aA ? aaA ? aa …… ∴S ? AB ? a m b n c n , 其中m≥0,n≥1即L(G1)={ a m b n c n | m≥0,n≥1} S ? a S ? aA ? aaS ? aaa S ? aA ? aaS ? aaaA ?aaaaS ? aaaaa …… ∴S ? a2n+1 , 其中n≥0 即L(G2)={ a2n+1 | n≥0} 2.11 已知文法G[S]: S->(AS)|(b) A->(SaA)|(a) 请找出符号串(a)和(A((SaA)(b)))的短语、简单短语和句柄。

马克思主义经典著作试题doc

运城学院政法系 2010-2011学年毕业清考 《马克思主义经典著作导读》试题适用范围:思想政治教育专业 命题人:薛俊丽 审核人 一、填空题(每空2分,共10分) 1、马克思是在( )年去世的。 2、马克思的两大发现()和()。 3、(《 》)是科学社会主义诞生的标志。 4、在俄国,官僚主义的主要集中在( )。 二、判断题(每小题2分,共20分) 1、林木盗窃案是促使马克思研究经济学的根本原因。( ) 2、“环境、教育对人有作用,人也可以改造环境、革新教育”是马克思主义的观点。( ) 3、列宁认为,在俄国对待资本家要实行和平赎买。( ) 4、解剖资产阶级经济为研究古代社会经济提供了钥匙。( ) 5、列宁认为,小资产阶级是一种最不定形、最不肯定、最不觉悟的势力,成不了气候,所以不用理会小资产阶级。( ) 6、合作社在不同社会制度里有不同的性质和作用。( ) 7、合作社理论是列宁首先提出的。( ) 8、青年黑格尔派中许多人最后转向了唯物主义。( ) 9、马克思的历史唯物主义思想主要来源是费尔巴哈。( ) 10、反驳不可知论的最好的方法是实践。( ) 三、简答题(每小题10分,共30分) 1、《马克思主义的三个来源和三个组成部分》中谈到马克思主义的特点有哪些? 2、为什么说“辩证法是马克思主义的认识论”? 3、列宁谈到个别和一般的辩证关系有哪些内容?

四、材料分析题(共10分) 材料一: 1871年3月18日清晨,巴黎被“公社万岁!”的雷鸣般的呼声惊醒了。公社,这个使资产阶级的头脑怎么也捉摸不透的怪物,究竟是什么呢? 中央委员会在它的3月18日宣言中写道:“巴黎的无产者,目睹统治阶级的无能和叛卖,已经懂得:由他们自己亲手掌握公共事务的领导以挽救时局的时刻已经到来……他们已经懂得:夺取政府权力以掌握自己的命运,是他们无可推卸的职责和绝对权利。” 但是,工人阶级不能简单地掌握现成的国家机器,并运用它来达到自己的目的。 材料二:公社是由巴黎各区通过普选选出的市政委员组成的。这些委员是负责任的,随时可以罢免。其中大多数自然都是工人或公认的工人阶级代表。公社是一个实干的而不是议会式的机构,它既是行政机关,同时也是立法机关。警察不再是中央政府的工具,他们立刻被免除了政治职能,而变为公社的负责任的、随时可以罢免的工作人员。所有其它各行政部门的官员也是一样。从公社委员起,自上至下一切公职人员,都只能领取相当于工人工资的报酬。从前国家的高官显宦所享有的一切特权以及公务津贴,都随着这些人物本身的消失而消失了。社会公职已不再是中央政府走卒们的私有物。不仅城市的管理,而且连先前由国家行使的全部创议权也都转归公社。 1、根据材料一、二:巴黎公式是一个什么性质的政权?(4分) 2、根据材料一:如何理解 “工人阶级不能简单地掌握现成的国家机器,并运用它来达到自己的目的”这句话?(6分) 五、论述题(共30分) 根据《共产党宣言》一文,谈一谈:资产阶级对共产主义有哪些诬蔑?共产党人对资产阶级的诬蔑是如何反驳的?

完整版编译原理名词解释

1. 源语言:书写源程序所使用的语言 2. 源程序:用程序设计语言书写的程序 3. 目标语言:计算机的机器指令。目标语言可以是机器语言,也可以是汇编语言, 或者是其他中间语言,但最终结果必是机器语言。 4. 目标程序:由机器指令构成的程序。目标程序是经过翻译程序加工后用目标语言 表示的程序。 5. 翻译程序:能够把某一种语言程序(源程序)改造成另一种语言程序(目标程序)将 源程序译成逻辑上等价的目标程序的程序。翻译程序有两种工作方式:编译和解释。 6. 编译程序:也称翻译程序 7. 解释程序:有些翻译程序在翻译过程中并不产生完整的目标程序,而是翻译一句, 解释执行一句,这样的称为解释程序。 8. 汇编程序:由汇编语言写成的程序 9. 词法分析:执行词法分析的程序成为词法分析器,词法分析依据的是语言构词规 则。词法分析器从文件读入源程序,由字符拼接单词。每当识别出一个单词,词法分析器就输出这个单词的内部码。 10. 语法分析:执行语法分析的程序叫做语法分析器。语法分析的任务就是根据语言 的规则,将词法分析器所提供的单词种别分成各类语法范畴。 11. 中间代码生成:中间代码产生有时称为语义分析,执行中间代码产生的程序称为 中间代码生成器。他的任务时按照语法分析器所识别出的语法范畴产生相应的中间代码,并建立符号表、常数表,等各种表格。 12. 目标代码生成:执行目标代码生成的程序称为目标代码生成器。他的任务是根据 中间代码和表格信息,确定各类数据在内存中的位置,选择合适的指令代码,将中间代码翻译成汇编语言或机器指令,这部分工作与计算机硬件有关。 13. 符号表:用于记录源程序中出现的标识符,一个标识符往往具有一系列的语义 值,她包括标识符的名称、种属、类型、值存放的地址等等。 14. 常数表:用于记录在源程序中出现的常数。 15. 编译程序前端:是由词法分析器、语法分析器和中间代码产生器组成的。她的特 点是依赖于被编译的源程序,输出结果用中间代码描述,和目标机器无关。16. 编译程序后端:是由目标代码生成器组成,他的特点是和源程序无关,以中间代 码形式的源程序为输入进行处理,输出结果依赖于目标机器。 17. 文本文件:文本文件的内容由94个图形字符‘!‘-' ~ '(33-126)和4个 控制字符换行(10)、回车(13)、空格(32)、TAB( 9)构成,文本文件又称为 ASCII码文件,扩展名通常为TXT,文件尾用控制字符EOF( 26)指示。 18. 二进制文件:由机器指令即二进制数构成,因二进制数可能是26 (文件结束控制 符),故文件尾用文件长度(文件的字节数)指示,扩展名通常为EX E。 19. 源代码(source code)—预处理器(preprocessor) —编译器(compiler) —汇编程序 (assembler)—目标代码(object code)—链接器(Linker) —可执行程序 (executables) 20. 编译程序的流程是: 源程序―》词法分析―》语法分析―》语义分析(中间代码产生)―》目标 代码生成-》目标程序

相关主题
文本预览
相关文档 最新文档