《2022年编译原理基础试题 .pdf》由会员分享,可在线阅读,更多相关《2022年编译原理基础试题 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1计算机高级语言翻译成低级语言只有解释一种方式。() 2在编译中进行语法检查的目的是为了发现程序中所有错误。( ) 4正则文法其产生式为A-a , A-Bb, A,BVN , a 、 bVT 。 () 5每个文法都能改写为LL(1) 文法。( ) 6递归下降法允许任一非终极符是直接左递归的。( ) 7算符优先关系表不一定存在对应的优先函数。() 8自底而上语法分析方法的主要问题是候选式的选择。( ) 9LR 法是自顶向下语法分析方法。() 10简单优先文法允许任意两个产生式具有相同右部。( ) 1设 r 和 s分别是正规式,则有L(r|s)=L(r)L(s)。( ) 2确定的自动机以及不确定的
2、自动机都能正确地识别正规集。() 3词法分析作为单独的一遍来处理较好。() 4构造 LR分析器的任务就是产生LR分析表。() 5规范归约和规范推导是互逆的两个过程。( ) 6同心集的合并有可能产生新的“移进” /“归约”冲突。 ( ) 7LR分析技术无法适用二义文法。() 8树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。( ) 9程序中的表达式语句在语义翻译时不需要回填技术。( ) 10对中间代码的优化依赖于具体的计算机。( ) 1编译程序是对高级语言程序的解释执行。() 2一个有限状态自动机中,有且仅有一个唯一的终态。() 3一个算符优先文法可能不存在算符优先函数与之对应。()
3、 4语法分析时必须先消除文法中的左递归。 () 5LR 分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。() 6逆波兰表示法表示表达式时无须使用括号。( ) 7静态数组的存储空间可以在编译时确定。( ) 8进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。() 9 两个正规集相等的必要条件是他们对应的正规式等价。( ) 10一个语义子程序描述了一个文法所对应的翻译工作。() 1一个LL(l)文法一定是无二义的。( ) 2 正规文法产生的语言都可以用上下文无关文法来描述。( ) 3一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
4、( ) 4目标代码生成时, 应考虑如何充分利用计算机的寄存器的问题。( ) 5逆波兰法表示的表达式亦称前缀式。 ( ) 6如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。() 8数组元素的地址计算与数组的存储方式有关。( ) 10对于数据空间的存贮分配,FORTRAN 采用动态贮存分配策略。() 2 甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。() 3递归下降分析法是自顶向上分析方法。() 4产生式是用于定义词法成分的一种书写规则。( ) 5LR 法是自顶向下语法分析方法。( ) 6在 SLR ( 1 )分析法的名称中,S的含义是简单的
5、。() 7综合属性是用于“ 自上而下” 传递信息。 ( ) 8符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型、种属、所占单元大小、地址等等。() 9程序语言的语言处理程序是一种应用软件。() 10解释程序适用于COBOL 和 FORTRAN 语言。( ) 1 “ 用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法。 ( ) 2若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。 ( ) 3一个句型的句柄一定是文法某产生式的右部。( ) 4在程序中标识符的出现仅为使用性的。() 5仅考虑一个基本块,不能确定一个赋值是否真是无用的。( ) 6 削减
6、运算强度破坏了临时变量在一基本块内仅被定义一次的特性。() 7 在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。() 9数组元素的地址计算与数组的存储方式有关。() 10编译程序与具体的机器有关,与具体的语言无关。() 1 通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_C_。A( ) 模拟执行器B( ) 解释器C( ) 表格处理和出错处理D( ) 符号执行器2 文法GN= ( b , N , B , N , NbbB , BbN ) ,该文法所描述的语言是C A( ) L(GN)=bii0 B( ) L(GN)=b2i
7、 i0 C ( ) L(GN)=b2i+1 i 0D ( ) L(GN)=b2i+1i1 3 一个句型中的最左_B_称为该句型的句柄。A( ) 短语B( ) 简单短语C( ) 素短语D( ) 终结符号4 设 G 是一个给定的文法,S 是文法的开始符号,如果S-x( 其中 xV*), 则称 x 是文法G 的一个 _B_。A( ) 候选式B( ) 句型C( ) 单词D( ) 产生式5 文法GE :ETE T TFT F Fa ( E )该文法句型E F (E T) 的简单短语是下列符号串中的_B_。 ( E T )E T F F (E T) 名师资料总结 - - -精品资料欢迎下载 - - - -
8、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - A ( ) 和 B ( ) 和 C ( ) 和 D( ) 6 若一个文法是递归的,则它所产生的语言的句子_A_。A( ) 是无穷多个B( ) 是有穷多个C( ) 是可枚举的D( ) 个数是常量7 词法分析器用于识别_C_。A ( ) 句子B ( ) 句型C ( ) 单词D( ) 产生式8 在语法分析处理中,FIRST 集合、 FOLLOW 集合、 SELECT 集合均是 _B_。A. ( ) 非终极符集B( ) 终极符集C( ) 字母表
9、D. ( ) 状态集9 在自底向上的语法分析方法中,分析的关键是_D_。A.( ) 寻找句柄B.( ) 寻找句型C.( ) 消除递归D.( ) 选择候选式10在 LR 分析法中,分析栈中存放的状态是识别规范句型_C_的 DFA 状态。A.( )句柄B.( ) 前缀C.( )活前缀D.( ) LR(0) 项目1 文法 G 产生的 _D_的全体是该文法描述的语言。A( ) 句型B( ) 终结符集C( ) 非终结符集D( ) 句子2 若文法G 定义的语言是无限集,则文法必然是_A_。A( ) 递归的B( ) 前后文无关的C( ) 二义性的D( ) 无二义性的3 四种形式语言文法中,1 型文法又称为_
10、C_文法。A( ) 短语结构文法B( ) 前后文无关文法C( ) 前后文有关文法D( ) 正规文法4 一个文法所描述的语言是_A_。A( ) 唯一的B( ) 不唯一的C( ) 可能唯一,好可能不唯一D( ) 都不对5 _B_和代码优化部分不是每个编译程序都必需的。A( ) 语法分析B( ) 中间代码生成C( ) 词法分析D( ) 目标代码生成6_B_是两类程序语言处理程序。A( ) 高级语言程序和低级语言程序B( ) 解释程序和编译程序C( ) 编译程序和操作系统D( ) 系统程序和应用程序7 数组的内情向量中肯定不含有数组的_A_的信息。A. ( ) 维数B( ) 类型C( ) 维上下界D(
11、 ) 各维的界差8. 一个上下文无关文法G 包括四个组成部分,它们是:一组非终结符号, 一组终结符号, 一个开始符号, 以及一组_D_。A( ) 句子B( ) 句型C( ) 单词D( ) 产生式9 文法分为四种类型,即0 型、1 型、2 型、 3 型。其中 2 型文法是 _D_。A. ( ) 短语文法B( ) 正则文法C( ) 上下文有关文法D( ) 上下文无关文法10文法G 所描述的语言是_C_ 的集合。A. ( ) 文法G 的字母表V 中所有符号组成的符号串B( ) 文法 G 的字母表V 的闭包V* 中的所有符号串C( ) 由文法的开始符号推出的所有终极符串D. ( ) 由文法的开始符号推
12、出的所有符号串1词法分析器用于识别_C_。A( ) 字符串B( )语句C( )单词D( )标识符2文法分为四种类型,即0 型、 1 型、 2 型、 3 型。其中 0 型文法是 _A_。A. ( ) 短语文法B( ) 正则文法C( ) 上下文有关文法D( ) 上下文无关文法3一个上下文无关文法G 包括四个组成部分,它们是:一组非终结符号, 一组终结符号, 一个开始符号, 以及一组_D_。A( ) 句子B( ) 句型C( ) 单词D( ) 产生式4_A_是一种典型的解释型语言。A( ) BASICB( ) C C( ) FORTRAN D( ) PASCAL 5与编译系统相比,解释系统_D_。A(
13、 ) 比较简单, 可移植性好, 执行速度快B( ) 比较复杂, 可移植性好, 执行速度快C( ) 比较简单, 可移植性差, 执行速度慢D( ) 比较简单, 可移植性好, 执行速度慢6用高级语言编写的程序经编译后产生的程序叫_B_。A( ) 源程序B( ) 目标程序C( ) 连接程序D( ) 解释程序7词法分析器用于识别_C_。A. ( ) 字符串B( ) 语句C( ) 单词D( ) 标识符8编写一个计算机高级语言的源程序后, 到正式上机运行之前,一般要经过_B_这几步 : (1) 编辑(2) 编译(3) 连接(4) 运行A. ( ) (1)(2)(3)(4) B ( ) (1)(2)(3) C
14、( ) (1)(3) D( ) (1)(4) 9把汇编语言程序翻译成机器可执行的目标程序的工作是由_B_完成的。A( ) 编译器B( ) 汇编器C( ) 解释器D( ) 预处理器10文法G 所描述的语言是_C_ 的集合。A. ( ) 文法G 的字母表V 中所有符号组成的符号串B( ) 文法 G 的字母表V 的闭包V* 中的所有符号串C( ) 由文法的开始符号推出的所有终极符串D. ( ) 由文法的开始符号推出的所有符号串1词法分析器的输出结果是_C_。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
15、- - - 第 2 页,共 4 页 - - - - - - - - - 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( )最
16、左推导和最右推导对应的语法树必定相同B( ) 最左推导和最右推导对应的语法树可能不同C( ) 最左推导和最右推导必定相同D( )可能存在两个不同的最左推导,但它们对应的语法树相同5构造编译程序应掌握_D_。A( )源程序B( ) 目标语言C( ) 编译方法D( ) 以上三项都是6四元式之间的联系是通过_B_实现的。A( ) 指示器B( ) 临时变量C( ) 符号表D( ) 程序变量7表达式 (AB)(CD)的逆波兰表示为_B_。A. ( ) AB CD B( ) ABCDC( ) AB CDD( ) AB CD8. 优化可生成 _D_的目标代码。A( ) 运行时间较短B( ) 占用存储空间较小
17、C( ) 运行时间短但占用内存空间大D( ) 运行时间短且占用存储空间小9下列 _C_ 优化方法不是针对循环优化进行的。A. ( ) 强度削弱B( ) 删除归纳变量C( ) 删除多余运算D( ) 代码外提10编译程序使用_B_区别标识符的作用域。A. ( ) 说明标识符的过程或函数名B( ) 说明标识符的过程或函数的静态层次C( ) 说明标识符的过程或函数的动态层次D. ( ) 标识符的行号1 一个编译程序中,不仅包含词法分析,_,中间代码生成,代码优化,目标代码生成等五个部分。A A( ) 语法分析B( )文法分析C( )语言分析D( )解释分析2 词法分析器用于识别_。C A( ) 字符串
18、B( )语句C( )单词D( )标识符3 语法分析器则可以发现源程序中的_。D A( ) 语义错误B( ) 语法和语义错误C( ) 错误并校正D( ) 语法错误4 下面关于解释程序的描述正确的是_。B (1) 解释程序的特点是处理程序时不产生目标代码(2) 解释程序适用于COBOL 和 FORTRAN 语言(3) 解释程序是为打开编译程序技术的僵局而开发的A ( ) (1)(2) B ( ) (1) C ( ) (1)(2)(3) D( ) (2)(3) 5 解释程序处理语言时, 大多数采用的是 _方法。 B A( ) 源程序命令被逐个直接解释执行B( ) 先将源程序转化为之间代码, 再解释执
19、行C( ) 先将源程序解释转化为目标程序, 再执行D( ) 以上方法都可以6 编译过程中, 语法分析器的任务就是_。B (1) 分析单词是怎样构成的(2) 分析单词串是如何构成语句和说明的(3) 分析语句和说明是如何构成程序的(4) 分析程序的结构A( ) (2)(3) B( ) (2)(3)(4) C( ) (1)(2)(3) D( ) (1)(2)(3)(4) 7 编译程序是一种_。C A. ( ) 汇编程序B( ) 翻译程序C( ) 解释程序D( ) 目标程序8 文法G 所描述的语言是_的集合。C A. ( ) 文法G 的字母表V 中所有符号组成的符号串B( ) 文法 G 的字母表V 的
20、闭包V* 中的所有符号串C( ) 由文法的开始符号推出的所有终极符串D. ( ) 由文法的开始符号推出的所有符号串9 文法分为四种类型,即0 型、 1 型、 2 型、 3 型。其中 3 型文法是 _。B A. ( ) 短语文法B( ) 正规文法C( ) 上下文有关文法D( ) 上下文无关文法10 一个上下文无关文法G 包括四个组成部分,它们是:一组非终结符号, 一组终结符号, 一个开始符号, 以及一组_。D A( ) 句子B( ) 句型C( ) 单词D( ) 产生式1编译程序绝大多数时间花在_ 上。 D A( ) 出错处理B( ) 词法分析C( ) 目标代码生成D( ) 表格管理2 编译程序是
21、对 _。D A( ) 汇编程序的翻译B( ) 高级语言程序的解释执行C( ) 机器语言的执行D( ) 高级语言的翻译3 采用自上而下分析,必须_。C A( ) 消除左递归B( ) 消除右递归C( ) 消除回溯D( ) 提取公共左因子4在规范归约中,用_来刻画可归约串。B A( )直接短语B( )句柄C( )最左素短语D( )素短语5 若 a 为终结符,则A- ? a为_项目。 B 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - -
22、A( )归约B ( ) 移 进C ( ) 接受D( ) 待约6间接三元式表示法的优点为_。 A A( ) 采用间接码表,便于优化处理B( ) 节省存储空间,不便于表的修改C( ) 便于优化处理,节省存储空间D( ) 节省存储空间,不便于优化处理7基本块内的优化为_。B A. ( ) 代码外提,删除归纳变量B( ) 删除多余运算,删除无用赋值C( ) 强度削弱,代码外提D( ) 循环展开,循环合并8. 在目标代码生成阶段,符号表用_。D A( ) 目标代码生成B( ) 语义检查C( ) 语法检查D( ) 地址分配9若项目集Ik 含有 A- ? ,则在状态k 时,仅当面临的输入符号aFOLLOW(
23、A) 时,才采取“A- ? ”动作的一定是_。D A. ( ) LALR文法B( ) LR(0)文法C( ) LR(1) 文法D( ) SLR(1) 文法10堆式动态分配申请和释放存储空间遵守_原则。D A. ( ) 先请先放B( ) 先请后放C( ) 后请先放D. ( ) 任意1编译程序的工作过程一般可以划分为词法分析,语法分析 ,语义分析 ,仲间代码生成 ,代码优化等几个基本阶段,同时还会伴有_表格处理 _和 _出错处理 _。2若源程序是用高级语言编写的,_ 目标程序 _是机器语言程序或汇编程序,则其翻译程序称为_编译程序 _ 。3编译方式与解释方式的根本区别在于_是否生成目标代码_。4
24、对编译程序而言,输入数据是 _源程序 _, 输出结果是 _目标程序 _。5产生式是用于定义_语法成分 _的一种书写规则。6语法分析最常用的两类方法是_自上而下 _和_自下而上_分析法。1词法分析基于_正规 _文法进行,即识别的单词是该类文法的句子。2语法分析基于 _上下文无关_文法进行, 即识别的是该类文法的句子。语法分析的有效工具是_语法树 _。3分析句型时,应用算符优先分析技术时,每步被直接归约的是_最左质短语 _,而应用LR分析技术时,每步被直接归约的是 _句柄 _。4 语义分析阶段所生成的与源程序等价的中间表示形式可以有_逆波兰表示 _、_四元式表示_与_三元式表示 _等。5按 Cho
25、msky 分类法,文法按照_规则定义的形式_进行分6一个文法能用有穷多个规则描述无穷的符号串集合(语言)是因为文法中存在有_递归 _定义的规则。1计算机执行用高级语言编写的程序主要有两种途径:解释_和_编译 _。2扫描器是 _词法分析器 _,它接受输入的 _源程序 _,对源程序进行 _词法分析 _并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。3自上而下分析法采用_移进 _、归约、错误处理、_接受_等四种操作。4一个 LR分析器包括两部分:一个总控程序和_一张分析表5后缀式 abc-/所代表的表达式是_ a/(b-c)_。6局部优化是在 _基本块 _范围内进行的一种优化。1语法
26、分析是依据语言的_语法 _规则进行的, 中间代码产生是依据语言的_语义 _规进行的。2语法分析器的输入是_单词符号串 _,其输出是 _语法单位_。3一个名字的属性包括_类型 _和_作用域 _。4产生式是用于定义_语法成分 _的一种书写规则。5 逆波兰式ab+c+ d*e- 所表达的表达式为_(a+b+c)*d-e _ 。6语法分析最常用的两类方法是_自上而下_和_自下而上_分析法。1一个句型中的最左简单短语称为该句型的_句柄 _。2对于文法的每个产生式都配备了一组属性的计算规则,称为_语义规则 _ 。3一个典型的编译程序中,不仅包括_词法分析 _、_语法分析_、_中间代码生成 _、代码优化、目
27、标代码生成等五个部分,还应包括表格处理和出错处理。4 从功能上说,程序语言的语句大体可分为_执行性_语句和 _说明性 _语句两大类。5 扫描器的任务是从_源程序 _中识别出一个个_单词符号_。6 产生式是用于定义_语法范畴 _的一种书写规则。1 设 G是一个给定的文法, S是文法的开始符号, 如果 S-x( 其中 xVT*), 则称 x 是文法的一个 _句子 _。2递归下降法不允许任一非终极符是直接_左_递归的。3自顶向下的语法分析方法的基本思想是:从文法的 _开始符号_开始,根据给定的输入串并按照文法的产生式一步一步的向下进行 _直接推导 _ _ _,试图推导出文法的_句子 _,使之与给定的输入串_匹配 _。4自底向上的语法分析方法的基本思想是:从输入串入手,利用文法的产生式一步一步地向上进行_直接归约 _ ,力求归约到文法的 _开始符号 _。5常用的参数传递方式有_传地址 _,传值和传名。6在使用高级语言编程时,首先可通过编译程序发现源程序的全部 _语法 _错误和语义部分错误。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -
限制150内