山东科技大学
- 自动机M和M′的状态数不同,则二者必不等价。 ( )
- 一个有限状态自动机中,有且仅有一个唯一终态。 ( )
- 把循环中的乘法运算用递归加法运算来替换就是一种强度削弱。( )
- 若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。( )
- 文法的二义性和语言的二义性在概念上是相同的,也就是说,对于某个语言,不可能存在两个以上的文法来描述它。( )
- 一个文法的预测分析表含有多重定义入口,说明该文法是LL(1)的。( )
- 自上而下语法分析中的“下”是指被分析的源程序串。( )
- 对任意一个右线性文法G,都存在一个DFA M,满足L(G)=L(M)。 ( )
- 如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。 ( )
- 符号表可以采用二叉树表来构造和处理,因为这种方法查找效率要高一些。( )
- 自上而下语法分析中避免回溯的办法是消除左递归。( )
- 语法分析时必须先消除文法中的左递归。 ( )
- 对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。( )
- 编译程序生成的目标程序都是可执行的程序。( )
- NFA M的非确定性表现在它有多个终态。 ( )
- 存在有左递归规则的文法是LL(1)的。 ( )
- 若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。 ( )
- 优化是指对被编译的程序进行变换,使之能生成更高效的目标代码。( )
- 优化的任务在于对前端编译所产生的中间代码进行加工和变换,以其能产生运行结果更为准确的目标代码。( )
- 支持程序设计人员进行程序计开发的工具,除了编译程序以外,还需要编辑程序、链接程序和调试程序等其他一些工具。( )
- 算符优先分析法不是一种规范归约法。 ( )
- 若一个程序语言的任何变量的存储空间大小和相互位置都能在编译时确定,则可采用静态分配策略。( )
- 在编译过程中,既可以将几个不同的逻辑阶段合为一遍,也可以把一个阶段的工作分为若干遍。( )
- 中间代码是独立于机器的,复杂性介于源语言和机器语言之间,便于进行与机器无关调换代码优化工作。( )
- 在词法分析中,能识别出 ( )。
- 编译程序工作时,通常有下列哪些阶段( )。
- 有能力描述上下文无关语言的工具为( )。
- 如果文法G存在一个句子,满足下列条件之一时,则称该文法是二义文法( )。
- 在通常的语法分析方法中,( )特别适用于表达式的分析。
- 一个上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个开始符号,以及一组( )。
- 文法G所描述的语言是( )的集合。
- https://image.zhihuishu.com/zhs/onlineexam/ansewerImg/202309/a2cdcf557f5f43368a5c2f2da6d8e3ec.png
- 如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为( )与运行两个阶段。
- 将编译程序分成若干个“遍”是为了( )。
- 语法分析识别的语言是( ).
- 从编译程序的角度说,源程序中的错误通常分为( )两大类。
- 若一个文法是递归的,则它所产生的语言的句子( )。
- 代码优化可使得生成的目标代码( )。
- ( )的任务是把优化后的中间代码变换成特定机器上的低级语言代码。
- 静态分配允许程序出现( )。
- 在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。
- 描述一个语言的文法是( )。
- 高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。
- 代码优化的目的是( ).
- 程序的基本块是指( )。
- 代码优化的主要目标是 ( )。①如何提高目标程序的运行速度;②如何减少目标程序运行所需的空间;③如何使得目标程序易读易维护;④ 如何生使生成的目标代码尽可能简短;
- 采用自顶向下分析方法时,要求文法中不含有 ( )。
- 在规范归约语法分法中,分析的关键是( )
- 文法G产生的( )的全体是该文法描述的语言。
- 编译程序中语法分析器接收以( )为单位的输入。
- 编译过程中,语法分析器的任务就是( )
- 四元式表示法的优点为( )。
- 在编译程序中,语法分析分为自顶向下分析和自底向上分析两类,自顶向下分析试图为输入符号串构造一个( ).
- 自上而下分析面临的问题中,不包括( )
- 有限状态自动机能识别( )。
- 代码生成阶段的主要任务是( ).
- 一个句型中称为句柄的是该句型的( ).
- 语义错误是指源程序中不符合语义规则的错误,不包括( )。
- 在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则( )。
- 按逻辑上划分,编译程序第一步工作是( )
A:错 B:对
答案:错
A:对 B:错
答案:错
A:对 B:错
答案:对
A:对 B:错
答案:错
A:对 B:错
答案:B:错
A:对 B:错
答案:B:错
A:错 B:对
答案:错
A:错 B:对
答案:对
A:对 B:错
答案:对
A:错 B:对
A:对 B:错
A:对 B:错
A:对 B:错
A:对 B:错
A:对 B:错
A:对 B:错
A:对 B:错
A:错 B:对
A:错 B:对
A:错 B:对
A:错 B:对
A:错 B:对
A:错 B:对
A:错 B:对
A:四元式 B:逆波兰式 C:基本字 D:常数 E:运算符
A:中间代码生成 B:语义检查 C:词法分析 D:语法分析 E:目标代码生成
A:右线性文法 B:0型文法 C:上下文无关文法 D:1型文法
A:该句子的最左推导与最右推导相同 B:该句子有两棵不同的语法树 C:该句子有两个不同的最左推导 D:该句子有两棵不同的最右推导
A:LR分析法 B:LL(1)分析法 C:算符优先分析法 D:递归下降分析法
A:字符串 B:产生式 C:开始符号 D:文法
A:文法G的字母表的闭包中的所有符号串; B:文法G的字母表中的所有符号组成的符号串; C:文法G的识别符号推出的所有终结符号串; D:文法G的识别符号推出的所有符号串;
A:if A then true else false; B:if A then false else true; C:if A then true else B; D:if A then B else false.
A:汇编 B:预处理 C:编译 D:编码
A:使程序的结构更加清晰 B:利用有限的机器内存并提高机器的执行效率 C:提高程序的执行效率 D:利用有限的机器内存但降低了机器的执行效率
A:0型语言 B:3型语言 C:1型语言 D:2型语言
A:语法错误和语义错误; B:词法错误和语义错误; C:编辑错误和诊断错误; D:词法错误和语法错误;
A:是无穷多个 B:是有穷多个 C:个数是常量 D:是可枚举的
A:运行时间短且占用存储空间小 B:运行时间较短 C:运行时间短但占用内存空间大 D:占用存储空间较小
A:语法分析 B:目标代码生成 C:词法分析 D:优化
A:递归过程 B:可变体积的数据项目 C:待定性质的名字 D:静态变量
A:活前缀 B:句柄 C:前缀 D:LR(0)项目
A:唯一的 B:无二义性的 C:不唯一的 D:个数有限的
A:自左向右 B:自右向左 C:自顶向下 D:自底向上
A:节省空间 B:节省时间 C:节省时间和空间 D:把编译程序进行等价交换
A:一个子程序 B:一组顺序执行的程序段,仅有一个入口和一个出口 C:一个没有嵌套的程序段 D:一个仅有一个入口和一个出口的语句
A:①②③④ B:①②④; C:①②③; D:①②;
A:右递归 B:直接右递归 C:左递归 D:间接右递归
A:消除递归 B:寻找句型 C:选择候选式 D:寻找句柄
A:终结符集 B:句子 C:句型 D:非终结符集
A:产生式 B:表达式 C:句子 D:单词
A:分析单词串是如何构成语句和说明的 B:分析语句和说明是如何构成程序的 C:分析单词是怎样构成的 D:分析程序的结构
A:不便于优化处理 B:便于表的改动,也节省存储空间 C:便于优化处理 D:不便于优化处理,但节省存储空间
A:最左推导 B:有向无环图 C:最右推导 D:最左归约
A:寻找可归约串 B:存在回朔 C:需消除左递归 D:多候选式的虚假匹配
A:上下文无关文法 B:正规文法 C:上下文有关文法 D:短语文法
A:把汇编语言翻译成机器语言 B:把高级语言翻译成机器语言 C:把中间代码变换成依赖具体机器的目标代码 D:把高级语言翻译成汇编语言
A:非终结符号 B:句子 C:最左直接短语 D:短语
A:作用域错误 B:运算溢出错误 C:类型不一致错误。 D:非法字符错误
A:goto子表中也有rj B:该行未填满rj C:该行必定填满rj D:其它行肯定也有rj
A:词法分析 B:代码生成 C:语法分析 D:语义分析
温馨提示支付 ¥5.00 元后可查看付费内容,请先翻页预览!