超前自学网

 找回密码
 立即注册

奥鹏在线作业,2元一门,先做后付,微信424329

查看: 98|回复: 0

西交《编译原理》在线作业

[复制链接]

3万

主题

3万

帖子

9万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
95816
发表于 2020-8-8 19:07:24 | 显示全部楼层 |阅读模式
微信公众号:超前自学网
点击这里
(  )不可能是目标代码。
A:汇编指令代码
B:可重定位指令代码
C:绝对指令代码
D:中间代码

语言的词法规则一般用Chomsky的(  )型文法来描述
A:0
B:1
C:2
D:3

编译程序绝大多数时间花在(  )上。
A:出错处理
B:词法分析
C:目标代码生成
D:管理表

Fortran语言的编译程序采用_______分配策略。
A:静态;
B:最佳;
C:堆式动态;
D:栈式动态;

有文法G[S]:S→aA|a|bC A→aS|bB B→aC|bA|b C→aB|bS则( )为L(G)中的句子。
A:a100b50ab100
B:a1000b500aba
C:a500b50aab2a
D:a100b40ab10aa

在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则(  )。
A:该行必定填满rj
B:该行未填满rj
C:其他行也有rj
D:goto子表中也有rj

Pascal中过程说明的局部变量地址分配在(  )。
A:调用者的数据区中
B:被调用者的数据区中
C:主程序的数据区中
D:公共数据区中

文法G产生的(  )的全体是该文法描述的语言。
A:句型
B:终结符集
C:非终结符集
D:句子

算符优先分析法每次都是对(  )进行归约:
A:句柄
B:最左素短语
C:素短语
D:简单短语

如果文法G是无二义的,则它的任何句子(  )
A:最左推导和最右推导对应的语法树必定相同
B:最左推导和最右推导对应的语法树可能不同
C:最左推导和最右推导必定相同
D:可能存在两个不同的最左推导,但它们对应的语法树相同

从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多
A:4
B:2
C:0
D:1

( )是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。
A:语义错误
B:语法错误
C:短语错误
D:短句错误

文法:G:S→xSx | y所识别的语言是(  )。
A:xyx
B:(xyx)*
C:x*yx*
D:xnyxn (n≥0)

设有文法G[S]:S→S1|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有(  )
A:ab0
B:a0c01
C:a0b0a
D:bc10

两个不同过程的活动,其生存期是(  )。
A:重叠的,不嵌套的
B:不重叠的,嵌套的
C:重叠的,嵌套的
D:不重叠的,不嵌套的

编译过程中,语法分析器的任务就是(  )
A:分析单词是怎样构成的
B:分析单词串是如何构成语句和说明的
C:分析语句和说明是如何构成程序的
D:分析程序的结构

采用自上而下分析,必须(  )。
A:消除回溯
B:消除左递归
C:消除右递归
D:提取公共左因子

将编译程序分成若干个“遍”是为了(  )。
A:提高程序的执行效率
B:使程序的结构更加清晰
C:利用有限的机器内存并提高机器的执行效率
D:利用有限的机器内存但降低了机器的执行效率

表达式-a+b*(-c+d)的逆波兰式是
A:ab+-cd+-*;
B:a-b+c-d+*;
C:a-b+c-d+*;
D:a-bc-d+*+;

编译程序使用(  )区别标识符的作用域。
A:说明标识符的过程或函数名
B:说明标识符的过程或函数的静态层次
C:说明标识符的过程或函数的动态层次
D:标识符的行号

为了便于优化处理,三地址代码可以表示成(  )。
A:三元式
B:四元式
C:后缀式
D:间接三元式

由文法的开始符经0步或多步推导产生的文法符号序列是(  )。
A:短语
B:句柄
C:句型
D:句子

在下述的编译方法中,自顶向下的分析方法有 (  ) 。
A:简单优先分析
B:算符优先分析
C:递归下降分析
D:预测分析技术
E:LR(K)分析
F:SLR(k)分析
G:LL(k)分析
H:LALR(K)分析

若文法G定义的语言是无限集,则文法必然是()
A:前后文无关文法
B:正规文法
C:二义性文法
D:递归文法

程序所需的数据空间在程序运行前可确定,称为(  )管理技术。
A:动态存储
B:栈式存储
C:静态存储
D:堆式存储

现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个      把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A:重定位程序;
B:解释程序;
C:连接装配程序;
D:诊断程序;

一个文法所描述的语言是()。
A:唯一的
B:不唯一的
C:可能唯一,好可能不唯一

正规表达式(ε|a|b)2表示的集合是(  )
A:{ε,ab,ba,aa,bb}
B:{ab,ba,aa,bb}
C:{a,b,ab,aa,ba,bb}
D:{ε,a,b,aa,bb,ab,ba}

以绝对机器代码为输出,所有地址均已定位,这种代码的优点是(  )。
A:可立即执行
B:可进一步优化
C:目标代码简短
D:目标代码执行效率高

布尔表达式计算时可以采用某种优化措施,比如A and B用if-then-else可解释为(    )。
A:if A then true else B;
B:if A then B else false;
C:if A then false else true;
D:if A then true else false;

任何一种算法,不能判定任何上下文无关文法是否是LL(1)的。(  )
A:错误
B:正确

算符优先文法中任何两个相邻的终结符号之间至少满足三种关系(<?,?>,=?)之一。(  )
A:错误
B:正确

在不含嵌套过程的词法作用域中,若一个过程中有对名字a的非局部引用,则a必须在任何过程(或函数)外被说明。(  )
A:错误
B:正确

正则文法一定不是二义的。(  )
A:错误
B:正确

设M是一个NFA,并且L(M)={x,y,z},则M的状态数至少为4个。(  )
A:错误
B:正确

编译程序在优化时可能要用到源程序中的注释。(  )
A:错误
B:正确

语法分析时必须先消除文法中的左递归。(  )
A:错误
B:正确

中间代码是独立于机器的,复杂性介于源语言和机器语言之间,便于进行与机器无关调换代码优化工作。(  )
A:对
B:错

若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。(  )
A:错误
B:正确

任何算符优先文法的句型中都会有两个相邻的非终结符号。(  )
A:错误
B:正确

确定的自动机以及不确定的自动机都能正确地识别正规集。(  )
A:错误
B:正确

任何一个LL(1)文法都是一个LR(1)文法,反之亦然。(  )
A:错误
B:正确

强度削弱是指把程序中执行时间较长的运算替换为执行时间较短的运算。(  )
A:错误
B:正确

对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。
A:错误
B:正确

对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。(  )
A:错误
B:正确

在编译过程中,既可以将几个不同的阶段合为一遍,也可以把一个阶段的工作分为若干遍。(  )
A:对
B:错

一个二义性文法可以是SLR文法或LALR文法。(  )
A:对
B:错

仅考虑一个基本块,不能确定一个赋值是否真是无用的。
A:错误
B:正确

语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。(  )
A:错误
B:正确

编译程序生成的目标程序都是可执行的程序。(  )
A:错误
B:正确

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|超前自学网 ( 皖ICP备20014425号-1 )|网站地图

GMT+8, 2025-5-1 14:57

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表