Tema 3 · Compiladores
Test de Análisis sintáctico
19 preguntas tipo test de exámenes reales de Compiladores.
Qué entra en este tema
- Conceptos generales; Análisis LL; Análisis LR
Según la guía docente oficial.
Preguntas falladas
Aquí irán las que falles, dejes en blanco o marques para revisar, para repasarlas después.
Configura tu test
19 preguntas de Análisis sintáctico
Ejemplos de preguntas de Análisis sintáctico
8 de 19 preguntas. La respuesta correcta se ve al practicar.
- 1.
Dada la siguiente gramática G y su correspondiente tabla SLR:
text
S → V ⇐ V ; | P ; P → id V → id Estado Acción Ir-a ; ⇐ id $ P S V 0 d4 3 1 2 1 acepta 2 d5 3 d6 4 r3/r4 r4 5 d8 7 6 r2 7 d9 8 r4 r4 9 r1 sabiendo que la colección LALR incluye el conjunto I4 = { [ P → id · , ; ], [ V → id·, ⇐ ] }:- a)El conflicto en la tabla SLR se eliminaría dejando T [4, ; ] = r3.
- b)El conflicto en la tabla SLR se eliminaría dejando T [4, ; ] = r4.
- c)Ninguna de las acciones sería correcta para un análisis SLR.
- 2.
Dada la siguiente gramática G y su correspondiente tabla LALR:
text
(1) S → s ( A ) (2) A → A , B (3) | B (4) B → b Estado Acción Ir-a , ( ) b s A B S 0 d2 1 1 acepta 2 d3 3 d6 4 5 4 d8 d7 5 r3 r3 6 r4 r4 7 r1 8 d6 9 9 r2 r2- a)G es LL, LALR y LR-Canónica.
- b)G es SLR, LALR, LR-Canónica.
- c)G es LALR y LR-Canónica, pero no SLR.
- 3.
La gramática del lenguaje miniC de las prácticas:
- a)Es LALR, pues no podría procesarse en otro caso con Bison.
- b)No es LALR, ni siquiera LR-Canónica.
- c)No es SLR pues presenta conflictos en expresiones aritméticas y sentencias if/if-else. Los comandos %left de Bison, en cambio, hacen que sea LALR.
- 4.
text
Dada la siguiente gramática G con VT = {(, )} y VN = {S}, siendo P : S → ( S ) S | λ- a)G es ambigua.
- b)G es LL(1).
- c)G es recursiva por la izquierda.
- 5.
Supongamos que, durante el análisis descendente con la tabla LL(1) de una gramática G, la pila y la entrada del analizador evoluciona de la siguiente forma usando algunas de las reglas de G: Pila Entrada $S abb$ $CBa abb$ $CB bb$ $Cb bb$ $C b$ $CB b$ ¿Cuál es la forma sentencial izquierda que corresponde a la última configuración del análisis?
- a)CBb
- b)bBC
- c)abBC
- 6.
Dada la gramática
text
S → S a S b | λy la forma sentencial derecha SaSabb, ¿cual de los siguientes puede ser un prefijo viable?
- a)SaSab
- b)SaS
- c)SaSabb
- 7.
Consideramos la gramática G siguiente:
text
S → ( L ) | id L → S L′ L′ →, S L′ | λ- a)text
G es LL(1), predict(L′ → λ) = {), $}, y la tabla de análisis es NO TERMINAL TERM ( ) , id $ S S → ( L ) S → id L L → S L′ L → S L′ L′ L′ → λ L′ →, S L′ L′ → λ - b)text
G es LL(1), predict(L′ → λ) = {)}, y la tabla de análisis es NO TERMINAL TERM ( ) , id $ S S → ( L ) S → id L L → S L′ L → S L′ L′ L′ → λ L′ →, S L′ - c)G no es LL(1) puesto que predict(L′ →, S L′) ∩ predict(L′ → λ) = {, }.
- a)text
- 8.
Dada la gramática
text
E → − E | E + E | ael estado 5 de la tabla SLR presenta el siguiente conflicto:
text
Estado Acción Ir-a + - a $ E 5 r1/d4 r1Deduce los ítems que intervienen en el conflicto:
- a)[E → −E·] y [E → E · +E]
- b)[E → −E·] y [E → E + E·]
- c)[E → · − E] y [E → E + E·]