NEW
Font size
WorksheetsExamen Ordinario Autómatas y Compiladores
Total questions: 40
Worksheet time: 3hrs 20mins
Fase del compilador que genera un código que no corresponde ni al lenguaje de entrada ni al lenguaje de salida del compilador.
Análisis léxico
Generador de código intermedio
Análisis sintáctico
Generador de código objeto
Fase del compilador que utiliza los tokens producidos por el analizador léxico para crear una representación en forma de árbol que describa la estructura gramatical.
Análisis léxico
Generador de código intermedio
Análisis sintáctico
Generador de código objeto
Es la fase del compilador que se encarga de leer el flujo de caracteres que componen el programa fuente y los agrupa en secuencias significativas, conocidas como tokens
Analisis léxico
Generador de código intermedio
Analisis sintáctico
Generador de código objeto
Fase del compilador que lleva a cabo la verificación en los tipos de datos y que estos se hayan declarado antes de ser utilizados.
Análisis léxico
Generador de código intermedio
Análisis sintáctico
Análisis semántico
Fase del compilador que recibe como entrada una representación intermedia del programa fuente y lo traduce inmediatamente al lenguaje objetivo.
Análisis léxico
Generador de código objeto
Optimizador de código intermedio
Análisis sintáctico
Fase del compilador que trata de mejorar el código intermedio, de modo que resulte un código más rápido de ejecutar.
Análisis léxico
Optimizador de código objeto
Optimizador de código intermedio
Generador de código intermedio
1a, 2a, 3b, 4b
1b, 2b, 3a, 4a
1a, 2a, 3b, 4a
1b, 2a, 3a, 4b
Identifica cuál de las siguiente cadenas concuerda con la expresión regular: (0|1)(00|11) (00|11)*1(0|1)(0|1)(0|1)
10000000010100000111101000011
11100111100100000000101111010
00011111111000011001111111101
111100000010101000111110111101
Dado el alfabeto ∑={a,b,c} ¿Cuál de las siguientes expresiones regulares genera el lenguaje compuesto por todas las cadenas que comiencen con ab o ac y termine con bc o ba?
(ab|ac)* (a|b|c) (bc|ba)*
(ab|ac) (a|b|c) (bc|ba)
a(b|c) (a|b|c)* b(c|a)
(ab|ac)* (a|b|c)*(bc|ba)*
A partir del alfabeto ∑={x,y,z} ¿Qué lenguaje genera la siguiente expresión regular?
(x|y) z (x|y|z)* z (x|y|z) (x|z) y
Todas las cadenas tales que el segundo símbolo sea una z, el antepenúltimo una z, y el ultimo una y
Todas las cadenas tales que comiencen con x o y, contenga dos z en su interior y su última letra es una y
Todas las cadenas que comiencen con xz o yz, terminen con xy o zy y antes del antepenúltimo símbolo sea una z
Todas las cadenas que terminen con xy o zy, cuyo segundo y antes del penúltimo símbolo sea una z
Identifica cual es la cadena más corta que se puede obtener del leguaje generado por la expresión regular:
(x*zx|z*zy*)yy*((x|y)*zx|zzxy*(z|y)*))y
zyzzxy
zyyzxy
zxyzxy
zyzxy
Durante la etapa de desarrollo de un programa se obtuvo el siguiente error. Identifica de que tipo es.
Se esperaba un ‘)’ en la línea 7, columna 21 del Proyecto Login.vb
error léxico
error sintáctico
error semántico
error lógico
¿Qué fase del compilador es el responsable de detectar un error de programación como el siguiente?
‘ClavePrincipal’ no está declarado. Puede que esté inaccesible debido a su nivel de protección.
análisis léxico
análisis semántico
análisis sintáctico
generación de código intermedio
¿Qué tipo de error es el siguiente mensaje?
“La operación aritmética ha provocado un desbordamiento”
error léxico
error sintáctico
error semántico
error en tiempo de ejecución
( (01|10) (11)* 0 )*
(10|01) (11* | 0(01|10) )
(10|01) (1|0)*
(10|01) ((11)* | 0 (01|10) )*
Indique cuales de las siguientes afirmaciones son válidas para el lenguaje generado por L={102n| n≥0 }
I.- Genera todas las cadenas con pares de 10
II.- La cadena vacía no es aceptada por el lenguaje
III.- Equivale a la expresión regular 1(00)*
IV.- La cadena más corta es 100
Solo I y IV
Solo II y III
Solo I y III
Solo II y IV
Está formado por un conjunto de estados, uno de los cuales es el estado en el que la máquina se encuentra inicialmente, recibe como entrada una palabra y según los símbolos de esta palabra la máquina puede moverse de estados hasta aceptarla o rechazarla.
autómata finito
gramática
expresión regular
árbol de derivación
Se puede considerar como una representación gráfica en forma de árbol que muestra las derivaciones realizadas para verificar que una determinada sentencia pertenece al lenguaje generado por una gramática, expandiendo sus ramas a partir del axioma de la gramática.
Arboles de análisis semántico
Arboles de análisis sintáctico
Arboles de análisis léxico
Arboles de generador de código objeto
¿Con que otro nombre se le conoce al analizador sintáctico?
Profiler
Scanner
Backend
Parser
Consta de un conjunto finito de símbolos terminales (las palabras en un lenguaje formal), un conjunto finito de símbolos no terminales, un conjunto de reglas de producción y un símbolo inicial llamado axioma
Gramática regular
Gramática libre de contexto
Gramática
Gramática sensible de contexto
De acuerdo con la jerarquía de Chomsky, ¿Cuál de las siguientes afirmaciones es cierta?
Todo lenguaje de tipo 3 es de tipo 2, todo lenguaje de tipo
2 es de tipo 1, pero no todo lenguaje es de tipo 0
Todo lenguaje de tipo 0 es de tipo 1, todo lenguaje de tipo 1 es
de tipo 2, y todo lenguaje de tipo 2 es de tipo 3
Todo lenguaje de tipo 3 no es de tipo 2, todo lenguaje de tipo
2 no es de tipo 1 pero no todo lenguaje de tipo 1 es de tipo 0
Todo lenguaje de tipo 3 es de tipo 2, todo lenguaje de tipo 2 es
de tipo 1, y todo lenguaje de tipo 1 es de tipo 0
Es la cadena de caracteres que concuerda con un patrón que
describe un componente léxico.
Autómata
Lexema
Expresión regular
Alfabeto
Se representa como una quíntupla formada por un conjunto
finito de estados, un alfabeto de símbolos de entrada, un estado inicial, cero o más estados finales y una función o tabla de transición y presenta la particularidad que no existen dos o más transiciones iguales partiendo de un mismo estado, excluyendo en toda transición a la cadena vacía.
Autómata finito determinista
Autómata finito no determinista
Gramática libre de contexto
Gramática regular
Construyen el árbol a partir del símbolo inicial de la gramática hasta llegar a los distintos tokens, que sustituyen la sentencia
analizar.
Análisis sintáctico descendente
Análisis sintáctico ascendente
Gramática en forma normal de Greibach
Gramática en forma normal de Chomsky
Las palabras reservadas en lenguaje SQL pueden escribirse
en mayúsculas, minúsculas o cualquier combinación de ambas. Selecciona la expresión regular con la que concuerden todas las formas posibles de la palabra reservada SELECT.
SELECT| SeLeCt | SeleCT | select | select | sELECt
(s|e|l|e|c|t)* (S|EL|E|C|T)*
(S|s) (E|e) (L|l) (E|e) (C|c) (T|t)
(S|s)* (E|e)* (L|l)* (E|e)* (C|c)* (T|t)*
1b, 2c, 3a, 4d
1d, 2c, 3a, 4b
1a, 2d, 3c, 4b
1c, 2d, 3c, 4b
1a, 2b, 3c
1b, 2c, 3a
1a, 2c, 3b
1b, 2a, 3c
¿Cuál de los siguientes ejemplos es una gramática de tipo 3?
S → aB
B → bAb
A → aaA | b
S → aB
B → bAb
bA→ bcD
cD → cAA
A → aaA | b
S → aS | aA
A → bA | b
S → aB | bA
A → a | aS | bAA
B → b | bS | aBB
Es una expresión regular que acepten todas las cadenas que
inicien con un par de a’s y terminen con un par de b’s.
ER= ca (a|b)* b
ER= aa* (a|b) bb*
ER= a* (ab)* bb
ER= aa (a|b)* bb
¿Cuál de las siguientes expresiones regulares acepta las
siguientes cadenas 01, 000001, 01101, 101101?
ER= 01 (0|1)*
ER= (0|1)* 01
ER= (0|1) 01
ER= (0|1) 01*
Durante la normalización a FNG, ¿Cuál es la transformacion que se obtiene al aplicar factorización por la izquierda?
S → PmR
S → PmD
P → amb
P → amd
D → d
R → r
S → PmA
A → R | D
P → amB
B → b | d
D → d
R → r
S → PAm
A → R | D
P → aBm
B → b | d
D → d
R → r
S → PA
A → Rm | mD
P → aB
B → bm | md
D → d
R → r
S → PmR | PmD
P → amb | amd
D → d
R → r
Durante la normalización a FNG, ¿Cuál es la transformación que se obtiene al eliminar recursividad por la izquierda?
S → Sab | Sbc | xyA
A → a | b
S → xyAN
N → abN | bcN
N → λ
A → a | b
S → xyN
N → abN | bcN
N → λ
A → a | b
S → Nxyab
N → abN | bcN
N → λ
S → xyAN
N → abN | bcN
A → a | b
Durante la normalización a FNG, ¿Cuál es la transformación que se obtiene al remplazar los no terminales al inicio de la producción por símbolos terminales?
S → ABC | BCA
A → x | yA
B → z
C → a | b
S → xBC | yABC | zCA
A → x | yA
B → z
C → a | b
S → BCx | BCyA | zCA
A → x | yA
B → z
C → a | b
S → xBC | yBC | zCA
A → x | yA
B → z
C → a | b
S → xABC | yABC | zCA
A → x | yA
B → z
C → a | b
¿Cuál de los siguientes conjuntos de reglas de producción cumple con la Forma Normal de Greibach?
S → aSA | bSB
A → aC | bC
B → aD | bD
C → aC | b
D → bD | a
S → aSb | bSa | A
A → aA | a
B → bB | b
S → aSD | aSC | bA | C
A → aA | a
B → bB | b
C → a
D → b
S → Sab | bAB | aB
A → aA | a
B → bB | b
Siendo S el símbolo inicial, indica cuál o cuáles reglas son inaccesibles en la siguiente gramática.
S → Aa | B
B → b
A → Aa | bA | B | cE
C → abd
E → λ
Solo A
Solo B
Solo C
Solo C y E
¿Qué fases del compilador corresponden al backend?
Léxico, sintáctico y semántico
alto nivel, nivel medio y bajo nivel
preprocesador, cargador y enlazador.
generación de código intermedio, optimización de código intermedio, generación de código objeto
Al proceso de reducir el numero de estados en un AFD se denomina
Lema de bombeo o pumping lema
Maximización de un AFD
Minimización de un AFD
Eliminación del no determinismo
Una regla léxica para escribir identificadores en cierto lenguaje está dado por el siguiente patrón:
El primer carácter debe ser una letra o bien un subrayado, arroba o # pero los caracteres subsiguientes pueden ser una letra, un digito, arroba, el dólar o bien el subrayado sin longitud fija.
¿Cuál de los siguientes lexemas no cumple con el patrón dado?
gasto_promedioAnual1.2
C@ntidadNetaPorEmbarque
#Tabla_temporal
CuotaFija$
Sean dos expresiones regulares:
ER1 = (0|1) (0|1) 1 (0|1)*
ER2 = 1* 0 1*
Determina cuántas cadenas existen tales que al ser aceptadas por ER1 también sean válidas para ER2
no hay cadenas que sean validas en común por ambos lenguajes
sólo hay 1 cadena válida en común
sólo hay 2 cadenas válidas en común
Hay 3 cadenas válidas en común o más
Es un programa informático que traduce un programa escrito en un lenguaje de programación (lenguaje fuente) a otro lenguaje de programación (lenguaje objetivo), generando un programa equivalente que la máquina será capaz de interpretar, en el que se cumple que el lenguaje fuente es de un nivel alto y el lenguaje objetivo es a nivel de máquina, aunque pero también puede ser un código intermedio (ensamblador por ejemplo).
Enlazador
Ensamblador
Compilador
Traductor
