第二编译原理模拟试卷第二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理模拟试卷(二)
一、单项选择题%13
1、使用A可以定义一个程序的意义。
a.语义规则b.词法规则
c.产生规则d.词法规则
2、词法分析器的输入是 B 。
a.单词符号串b.源程序
c.语法单位d.目标程序
3、中间代码生成时所遵循的是- C 。
a.语法规则b.词法规则
c.语义规则d.等价变换规则
4、设G为算符优先文法,G的任意终结符对a、b有以下关系成立 C 。
a. 若f(a)>g(b),则a>b
b.若f(a) c. a~b都不一定成立 d. a~b一定成立 5、如果文法G是无二义的,则它的任何句子αA。 a. 最左推导和最右推导对应的语法树必定相同 b. 最左推导和最右推导对应的语法树可能不同 c. 最左推导和最右推导必定相同 d. 可能存在两个不同的最左推导,但它们对应的语法树相同 6、由文法的开始符经0步或多步推导产生的文法符号序列是 C 。 a. 短语 b.句柄 c. 句型 d. 句子 7、文法G:E→E+T|T T→T*P|P P→(E)|I 则句型P+T+i的句柄和最左素短语为 B 。 a.P+T和i b. P和P+T c. i和P+T+i d.P和T 8、状态转换图(见图3-6-1)接受的字集为 D 。 a. 以0开头的二进制数组成的集合 b. 以0结尾的二进制数组成的集合 c. 含奇数个0的二进制数组成的集合 d. 含偶数个0的二进制数组成的集合 9、词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此, B 。 a. 词法分析器应作为独立的一遍 b. 词法分析器作为子程序较好 c. 词法分析器分解为多个过程,由语法分析器选择使用 d. 词法分析器并不作为一个独立的阶段 10、在LR(0)的ACTION子表中,如果某一行中存在标记“r j”的栏,则A。 a.该行必定填满r j b.该行未填满r j c.其他行也有r j d.goto子表中也有r j 11、程序所需的数据空间在程序运行前可确定,称为 C 管理技术。 a. 动态存储 b. 栈式存储 c. 静态存储 d. 堆式存储 12、堆式动态分配申请和释放存储空间遵守 D 原则。 a. 先请先放 b. 先请后放 c. 后请先放 d. 任意 13、静态分配允许程序出现 C 。 a. 递归过程 b. 可变体积的数据项目 c. 静态变量 d. 待定性质的名字 二、填空题%32 1、编译程序工作过程中,第一段输入是,最后阶段的输出为程序。 2、编译程序是指将程序翻译成程序的程序。 3、树代表推导过程,树代表归约过程。 4、自下而上分析法采用、归约、错误处理、等四种操作。 5、Chomsky把文法分为种类型,编译器构造中采用和文法,它们分别产生 和语言,并分别用和自动机识别所产生的语言。 6、若二个正规式所表示的相同,则认为二者是等价的。 7、一个字集是正规的,当且仅当它可由所。 8、将识别的NFA确定化,使其成为以为状态的DFA,这个DFA就是建立的基础。 9、A→α·称为项目;对文法开始符S′→α·为项目;若a为终结符,则称A→α·aβ为项 目;若B为非终结符,则称A→α·Bβ为项目。 10、LR(0)分析法的名字中“L”表示,“R”表示,“0”表示。 11、局部优化是范围内进行的一种优化。 12、在一个基本块内,可实行3种优化方法,即合并已知量、、。 13、优化就是对程序进行各种变换,使之能生成更有效的。 14、在优化中,可把循环中的提到循环外面去,这种方法称为。 三、判断题%6 1、文法S→aS|bR|ε描述的语言是(a|bc)* ( ) R→c S 2、在自下而上的语法分析中,语法树与分析树一定相同。() 3、二义文法不是上下文无关文法。() 4、语法分析时必须先消除文法中的左递归。() 5、规范归约和规范推导是互逆的两个过程。() 6、一个文法所有句型的集合形成该文法所能接受的语言。() 四、综合题%49 1、试描述下列文法产生的语言L(G[S]) S→10S0|aA A→bA|a 2、已知语言L(G)={ab n c |n≥1} 试对该语言构造相应文法 3、字母表{a,b}上的正规式R=(ba|a)*,构造R的相应DFA。 4、有文法G[S] S→a|∧|(T) T→T,S|S 该文法是否是LL(1)文法,若不是,请进行改写。并给出它的分析表。 5、文法G:S→aAcB|Bd A→AaB|c B→bScA|b (1)试求句型aAaBcbbdcc和aAcbBdcc的句柄; (2)写出句子acabcbbdcc的最左推导过程。 6、给出下列表达式的逆波兰表示(后缀式): ①a*(-b+c) ②(A∨B)∧(C∨┑D∧E) 2、写出算术表达式:A+B*(C-D)+E/(C-D)↑N的 ①四元式序列;②三元式序列;