Conceptos básicos de los principios de compilación.

1. Preguntas de juicio

× 1. El no determinismo de NFA M se manifiesta en que tiene múltiples estados finales.

2. El lenguaje aceptado por los autómatas finitos es el lenguaje regular.

3. Si r1 y r2 son expresiones normales en Σ, entonces r1|r2 también es normal.

× 4. Supongamos que M es un NFA y L(M)={x, y, z}, entonces el número de estados de M es al menos 4.

× . Sea Σ={a, b}, entonces la fórmula normal del conjunto normal compuesto por todos los caracteres que comienzan con b en Σ es b*(a|b)*.

6. Para cualquier NFA M, existe un DFA M' tal que L(M')=L(M).

7. Para una gramática lineal derecha G, debe haber una gramática lineal izquierda G' tal que L(G)=L(G'), y viceversa.

8. Para cualquier gramática lineal recta G, existe un NFA M que satisface L(G)=L(M).

9. Para cualquier gramática lineal recta G, existe un DFA M que satisface L(G)=L(M).

10. Para cualquier expresión regular r, existe un NFA M que satisface L(M)=L(r).

11. Para cualquier expresión regular r, existe un DFA M que satisface L(M)=L(r).

× 12. Un diagrama de transición contiene solo un número limitado de estados, uno de los cuales se considera el estado inicial y como máximo un estado final.

× 13. Una expresión formal sólo puede corresponder a un autómata de estados finitos;

14. En el diagrama de transición de estado del análisis léxico, algunos nodos están marcados con asteriscos y estos nodos deben ser nodos de estado final.

× 15. El tamaño adecuado del búfer de escaneo (por ejemplo, para acomodar 256 caracteres) garantiza que los símbolos de palabras no se vean interrumpidos por sus límites.

2. Preguntas de opción múltiple

1. Entre los símbolos de palabras del lenguaje de programación, ( B ) generalmente no requiere búsqueda avanzada. 

A. Palabras clave      B. Identificadores      C. Constantes D. Operadores y delimitadores

2. En la implementación del diagrama de transición de estado, ( B ) generalmente corresponde a una declaración de bucle.

A. Nodo de bifurcación sin bucle        B. Nodo de estado con bucle

C. Nodo de estado final D. Ninguno de ellos

3. Al construir un autómata finito a partir de una gramática lineal por la izquierda, el número de estados del autómata suele ser mayor ( D ) que el número de símbolos no terminales de la gramática. 

A. 4 B. 2 C. 0            D. 1

4. El conjunto representado por la expresión regular (ε|a|b) 2 es ( D ).

A. {ε,ab,ba,aa,bb} B. {ab,ba,aa,bb}

C. {a,b,ab,aa,ba,bb}      D. {ε,a,b,aa,bb,ab,ba}

5. Un autómata de estados finitos puede describirse mediante una tupla de cinco (VT, Q, δ, q0, Qf). Un autómata de estados finitos M se define de la siguiente manera:

 VT={0, 1}, Q={q0, q1, q2}, Qf= {q2}, δ se define como:

δ(q0,0)=q1, δ(q1,0)=q2, δ(q2,1)=q2, δ(q2,0)=q2

El lenguaje aceptado por M se puede expresar como ( B ) usando expresiones regulares. 

A. (0|1)*       B. 00(0|1)*      C. (0|1)*00 D. 0(0|1)*0

6. Un autómata de estados finitos puede describirse mediante una tupla de cinco (VT, Q, δ, q0, Qf). Un autómata de estados finitos M se define de la siguiente manera:

VT={0, 1}, Q={q0, q1, q2}, Qf={q2}, δ se define como:

δ(q0,0)=q1, δ(q1,0)=q2, δ(q2,1)=q2, δ(q2,0)=q2

El lenguaje aceptable para M es ( D  ).

A. Una colección de cadenas de símbolos compuestas por 0 y 1.

B. Un conjunto de cadenas de símbolos compuestas por 0 y 1, con 0 como símbolo principal y símbolo final.

C. Una colección de cadenas de símbolos que consisten en 0 y 1 que terminan con dos 0.

D. Una colección de cadenas de símbolos que consta de 0 y 1 que comienzan con dos 0.

7. En términos de la capacidad de aceptar el lenguaje, los autómatas finitos no deterministas y ( B  ) son equivalentes.

A. ⅰ. Forma regular; ⅱ. Gramática libre de contexto; ⅲ. Autómata finito determinista;

B. ⅰ. Gramática regular lineal izquierda; ⅱ. Gramática regular lineal derecha; ⅲ. Autómatas finitos deterministas;

C. ⅰ. Forma regular; ⅱ. Gramática libre de contexto; ⅲ. Gramática regular;

D. ⅰ.Forma formal, ⅱ.Autómata finito determinista, ⅲ.Autómata pushdown;

8. En la declaración sobre NFA, lo siguiente ( B ) es incorrecto. 

A. Hay un alfabeto finito               B. Hay múltiples estados iniciales

C. Hay múltiples estados terminales D. Hay múltiples estados finitos

9. La base teórica del análisis léxico es ( A ). 

A. Teoría de los autómatas finitos                B. Teoría de la máquina de Turing

C. 图论                          D. 无穷自动机理论

10. 设有两个状态S和T,如果从S出发能读出某个字w而停于终态,那么从T出发也能读出同样的字而停于终态;反之,果从T出发能读出某个字w而停于终态,那么从S出发也能读出同样的字而停于终态。则我们称状态S和状态T是(B )。

A. 可区分的;     B. 等价的;    C. 多余的;     D. 无用的。

11. 词法分析器的输出结果是(D )。

A、单词自身值                    B、单词在符号表中的位置

C、单词的种别编码                D、单词的种别编码和自身值

12. 编译过程中扫描器的任务包括( D)。

①组织源程序的输入

②按词法规则分割出单词,识别出其属性,并转换成属性字的形式输出

③删除注解

④删除空格及无用字符

⑤行计数、列计数

⑥发现并定位词法错误

⑦建立符号表

A. ②③④⑦                      B. ②③④⑥⑦

C. ①②③④⑥⑦                  D. ①②③④⑤⑥⑦

13.下述正则表达式中(D )与(a*+b)*(c+d)等价(即有相同符号串集)。(x+y亦可写作x|y)

①a*(c+d)+b(c+d)

②a*(c+d)*+b(c+d)*

③a*(c+d)+b(c+d)

④(a+b)*c+(a+b)*d

⑤(a*+b)*c+(a*+b)*d

A. ①③          B. ③④⑤        C. ③         D. ④⑤

14. 正则式的“*”读作(D )。

A. 并且       B. 或者       C. 连接         D. 闭包

15. 在状态转换图中,结点代表( C),用圆圈表示。

A. 输入缓冲区      B. 向前搜索      C. 状态        D. 字符串

16. 与(a|b)*(a|b)等价的正规式是(C )。

A. a*| b*        B. (ab)*(a|b)*   C. (a|b)(a|b)*     D. (a|b)*

17. 无符号常数的识别和拼数工作通常都在(A ) 阶段完成。

A. 词法分析    B. 语法分析     C. 语义分析       D. 代码生成

三、填空题

1. 词法分析器对扫描缓冲区进行扫描时一般用两个指示器,一个指向当前正在识别的单词符号的【开始位置】;另一个用于向前搜索以寻找单词符号的【终点】。

2. 一个确定性有限自动机DFA M的化简是指:寻找一个状态数比M少的DFA M’,使得【L(M)=L(M】。

3. 词法分析器所的输出常表示成如下形式的二元式:(【单词种别】,【单词符号的属性值)。

4. 一个状态转换图只包含有限个状态,其中有一个被认为是【初态】,而且实际上至少有一个【终态】。

5. 把状态转换图用程序实现时,对于含有回路的状态结点来说,可以让它对应一个由【while】和【if】语句构成的程序段。

6. 词法分析阶段的任务式从左到右扫描【源程序】,从而逐个识别【单词】。

7. 如果一个种别只含有一个单词符号,那么,对于这个单词符号,【种别编码】就可以完全代表它自身了。

8. 单词符号的属性值是指单词符号的特性或特征,其属性值则是反映特性或特征的值。比如,对于某个标识符,常将存放它的有关信息的【符号表项的指针】作为其属性值。

9. 单词符号的属性值是指单词符号的特性或特征,其属性值则是反映特性或特征的值。比如,对于常数,常将存放它的【常熟表项的指针】作为其属性值。

10. 如果一个种别含有多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出有关单词符号的【属性信息】(【属性值】)。

11. 如果【两个正规式】所表示的正规集相同,则认为这两个正规式等价。

12. 对于Σ中的任何符号串α,如果存在一条从初态结点到某一终态结点的通路,且这条通路上【所有弧】的标记符号连接起来形成的【符号串】等于α,则称α被该自动机所接受(识别)。

13. 一个Lex源程序主要包括两部分,一部分是【正规定义式】,另一部分是【识别规则】。

14. 一个DFA可用一个矩阵表示,该矩阵的行表示【状态】,列表示【输入字符】,矩阵元素表示【转换函数】(或δ(s, a))的值,这个矩阵叫状态转换矩阵。

15. 对于词法分析程序来说,当程序到达“错误处理”时,意味着现行状态i和当前所面临的输入串不匹配。如果后面还有状态图,出现在这个地方的代码应该为:将【搜索器】回退一个位置,并令下一个【状态图】开始工作。

Supongo que te gusta

Origin blog.csdn.net/m0_70711364/article/details/131747095
Recomendado
Clasificación