# 编译原理判断题
计算机高级语言翻译成低级语言只有解释一种方式。
在编译中进行语法检查的目的是为了发现程序中所有错误。
“用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行” 这种说法。
编译程序与具体的机器有关,与具体的语言无关。
编译程序是对高级语言程序的解释执行。
程序语言的语言处理程序是一种应用软件。
正则文法其产生式为 A->a,A->Bb, A,B∈VN,a,b∈VT。
若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。
一个句型的句柄一定是文法某产生式的右部。
产生式是用于定义词法成分的一种书写规则。
如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。
正规文法产生的语言都可以用上下文无关文法来描述。
归约和规范推导是互逆的两个过程。
一个上下文无关文法的开始符,可以是终结符或非终结符。
一个句型的直接短语是唯一的。
一个句型一定句子。
如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。
从一个句型到另一个句型的推导过程是唯一的。
二义文法不是上下文无关文法。
文法是描述语言的语法结构的形式规则。
一个有限状态自动机中,有且仅有一个唯一的终态。
两个正规集相等的必要条件是他们对应的正规式等价。
r 和 s 分别是正规式,则有 L (r|s)=L (r) L (s)。
确定的自动机以及不确定的自动机都能正确地识别正规集
正规文法产生的语言都可以用上下文无关文法来描述。
编译过程中,语法分析器的任务是分析单词是怎样构成的。
一个确定有限状态自动机中,有且仅有一个唯一的终态。
设 R 和 S 分别是字母表∑上的正规式,则有 L (R|S)=L (R)∪L (S)。
自动机 M1 和 M2 的状态数不同,则二者必不等价。
对任何正规式 e,都存在一个 NFA M,满足 L (M)=L (e)。
每个文法都能改写为 LL (1) 文法。
递归下降法不允许任一非终极符是直接左递归的。
递归下降分析法是自顶向下分析方法。
一个 LL (l) 文法一定是无二义的。
语法分析时必须先消除文法中的左递归 。
并不是每个文法都能改写成 LL (1) 文法。
要构造行之有效的自上而下的分析器,则必须消除左递归。
自底而上语法分析方法的主要问题是候选式的选择。
简单优先文法允许任意两个产生式具有相同右部。
算符优先分析法每次都是对句柄进行归约。
LR 分析法是自顶向下语法分析方法。
LR 分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。
LR 分析器的任务就是产生 LR 分析表。
lR 分析技术无法适用二义文法。
综合属性是用于 “自上而下” 传递信息。
一个语义子程序描述了一个文法所对应的翻译工作。
程序中的表达式语句在语义翻译时不需要回填技术。
树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。
进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。
仅考虑一个基本块,不能确定一个赋值是否真是无用的。
削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。
在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。