您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 编译原理-第1、2、3、4章复习(期末)
1编译原理第1、2章复习一、选择题1、词法分析所依据的是B。A.语义规则B.构词规则C.语法规则D.等价变换规则2、词法分析器的输出结果是C。A.单词的种别编码B.单词在符号表中的位置C.单词的种别编码和自身值D.单词自身值3、正规式M1和M2等价是指C。A.M1和M2的状态数相等B.M1和M2的有向弧条数相等C.M1和M2所识别的语言集相等D.M1和M2状态数和有向弧条数相等4、C语言中表达式a+++++=1词法分析后,能识别的单词个数是A个。A.5B.6C.7D.85、将识别各类单词的有限自动机合并后得到的有限自动机是A。A.可能是NFA也可能是DFAB.一定是DFAC.一定是NFAD.是最小的DFA6、中间代码生成时所遵循的是D。A.语法规则B.词法规则C.语义规则D.等价变换规则7、语法分析应遵循B。A.语义规则B.语法规则C.构词规则D.等价变换规则8、编译程序各阶段的工作都涉及到BC。A.语法分析B.表格管理C.出错处理D.语义分析E.词法分析29、编译过程中扫描器的任务包括ABCDE(多选):A.按词法规则分割单词,识别出其属性,并转换成token串输出;B.删除注释、空格C.行计数、列计数D.发现并定位词法错误E.建立符号表10、令∑={a,b},则∑上所有以b开头,后跟若干个ab的字的全体对应的正规式为_ABCD______(多选)。A.b(ab)*B.b(ab)+C.(ba)*bD.(ba)+bE.b(a|b)11、将编译程序分成若干个“遍”是为了B。A.提高程序的执行效率B.使程序的结构更加清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率12、D不可能是目标代码。A.汇编指令代码B.可重定位指令代码C.绝对指令代码D.中间代码13、使用A可以定义一个程序的意义。A.语义规则B.词法规则C.产生规则D.词法规则14、词法分析器的输入是B。A.单词符号串B.源程序C.语法单位D.目标程序15、状态转换图(见图)接受的字集为D。010YX3A.以0开头的二进制数组成的集合B.以0结尾的二进制数组成的集合C.含奇数个0的二进制数组成的集合D.含偶数个0的二进制数组成的集合二、填空题1、确定有限自动机DFA是NFA的一个特例。2、若二个正规式所表示的正规集相同,则认为二者是等价的。3、一个字集是正规的,当且仅当它可由FA所识别。4、编译过程通常可分为5个阶段,分别是词法分析、语法分析中间代码生成、代码优化和目标代码生成。5、确定有穷自动机DFA的化简,是将多余状态消除而形成一个最小的等价的DFA。化简包括:消除多余状态、合并等价状态。三、判断题1、一个有限状态自动机中,有且仅有一个唯一终态。(错)2、设r和s分别是正规式,则有L(r|s)=L(r)|L(s)。(对)3、自动机M和M′的状态数不同,则二者必不等价。(错)4、确定的自动机以及不确定的自动机都能正确地识别正规集。(对)5、对任何正规表达式e,都存在一个NFAM,满足L(G)=L(e)。(对)编译原理第3、4章复习一、选择题1、文法G:S→xSx|y所识别的语言是C。A.xyxB.(xyx)*C.xnyxn(n≥0)D.x*yx*2、设G为算符优先文法,G的任意终结符对a、b有以下关系成立C。A.若f(a)g(b),则abB.若f(a)g(b),则abC.a~b都不一定成立D.a~b一定成立43、如果文法G是无二义的,则它的任何句子αA。A.最左推导和最右推导对应的语法树必定相同B.最左推导和最右推导对应的语法树可能不同C.最左推导和最右推导必定相同D.可能存在两个不同的最左推导,但它们对应的语法树相同4、由文法的开始符经0步或多步推导产生的文法符号序列是C。A.短语B.句柄C.句型D.句子5、文法G:E→E+T|TT→T*P|PP→(E)|i则句型P+T+i的句柄和最左素短语为B。A.P+T和iB.P和P+TC.i和P+T+iD.P和T6、设文法为:S→SA|AA→a|b则对句子aba,下面D是规范推导。A.SSASAAAAAaAAabAabaB.SSASAAAAAAAaAbaabaC.SSASAASAaSbaAbaabaD.SSASaSAaSbaAbaaba7、文法G:S→b|∧(T)T→T,S|S则FIRSTVT(T)C。A.{b,∧,(}B.{b,∧,)}C.{b,∧,(,,}D.{b,∧,),,}8、产生正规语言的文法为D。A.0型B.1型C.2型D.3型9、采用自上而下分析,必须A。A.消除左递归、消除回溯B.消除右递归C.提取公共左因子10、在规范归约中,用B来刻画可归约串。A.直接短语B.句柄C.最左素短语D.素短语EE+FE+TPTiP#·+·+·i·#句型P+T+i的语法及优先关系511、规范归约指B。A.最左推导的逆过程B.最右推导的逆过程C.规范推导D.最左归约的逆过程12、若a为终结符,则A→α·aβ为B项目A.归约B.移进C.接受D.待约13、若项目集Ik含有A→α·,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A→α·”动作的一定是D。A.LALR文法B.LR(0)文法C.LR(1)文法D.SLR(1)文法14、在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则A。A.该行必定填满rjB.该行未填满rjC.其他行也有rjD.goto子表中也有rj15、一个A指明了在分析过程中的某时刻所能看到产生式多大一部分。A.活前缀B.前缀C.项目D.项目集16、自上而下的语法分析方法是B。A.算符优先分析法B.LL(1)分析法C.SLR(1)分析法D.LR(0)分析法E.LALR(1)分析法17、中间代码生成所依据的是D。A.语法规则B.词法规则C.语义规则D.等价变换规则18、四元式之间的联系是通过B实现的。A.指示器B.临时变量C.符号表D.程序变量19、后缀式ab+cd+/可用表达式B来表示。A.a+b/c+dB.(a+b)/(c+d)C.a+b/(c+d)D.a+b+c/d20、表达式(┓A∨B)∧(C∨D)的逆波兰表示为B。A.┓AB∨∧CD∨B.A┓B∨CD∨∧C.AB∨┓CD∨∧D.A┓B∨∧CD∨21、四元式表示法的优点为C。A.不便于优化处理,但便于表的更动B.不便于优化处理,但节省存储空间C.便于优化处理,也便于表的更动D.便于表的更动,也节省存储空间22、终结符具有D属性。A.传递B.继承C.抽象D.综合6二、填空题1、对于一个文法,如果能够构造LR分析表。使得它的每个入口均是唯一确定的,则称该文法为LR文法。2、字的前缀是指该字的任意首部。3、每一项ACTION[S,a]所规定的动作包括移进、归约、接收、出错。4、对LR分析器来说,存在LR(0)、SLR(1)、LR(1)、LALR(1)表的构造方法。5、将识别活前缀的NFA确定化,使其成为以项目集为状态的DFA,这个DFA就是建立LR分析表的基础。6、A→α·称为归约项目;对文法开始符S′→α·为接收项目;若a为终结符,则称A→α·aβ为移进项目;若B为非终结符,则称A→α·Bβ为待约项目。7、LR(1)分析法的名字中“L”表示自左到右扫描输入串,“R”表示最右推导的逆过程,“1”表示向前展望1个字符。8、在条件、循环结构的语法制导翻译中,采用拉链-回填技术。9、中间代码有逆波兰记号、树形表示、三元式、四元式等形式,生成中间代码主要是为了使目标代码的优化容易实现。10、语法制导翻译既可以用来产生中间代码代码,也可以用来产生机器指令,甚至可用来对输入串进行解释执行。11、文法符号的属性有两种,一种称为综合,另一种称为继承。12、后缀式abc-/所代表的表达式是a/(b-c),表达式(a-b)*c可用后缀式ab-c*表示。13、在语法分析中,最常见的两种方法是top-down分析法,另一是bottom-up分析法。14、采用top-down语法分析时,必须消除文法的左递归。15、Chomsky把文法分为4种类型,编译器构造中采用2型和3型文法,它们分别产生上下无关`语言和正规语言,并分别用PDA和DFA自动机识别所产生的语言。三、判断题1、在自下而上的语法分析中,语法树与分析树一定相同。(错)72、二义文法不是上下文无关文法。(错)3、语法分析时必须先消除文法中的左递归。(错)4、规范归约和规范推导是互逆的两个过程。(对)5、一个文法所有句型的集合形成该文法所能接受的语言。(错)
本文标题:编译原理-第1、2、3、4章复习(期末)
链接地址:https://www.777doc.com/doc-4972569 .html