Está en la página 1de 6

Pregunta 1 Diseñe un autómata finito que reconozca el siguiente lenguaje:

L = {0xa2k+11 | x ϵ {r,s,t}* y la longitud de x es mayor que 0 y múltiplo de 2 y


k≥0}

----------------------------------------------------------------------------------------------------------
Pregunta 2

Considere la gramática
a. ¿Cuáles son los terminales, no terminales y símbolo inicial?
b. Construya una derivación por la izquierda para x+y*x.
c. Construya una derivación por la derecha para x+y*x.
d. Encuentre un árbol de análisis sintáctico para la frase x+y*x.
e. Demuestre que la gramática es ambigua

Repuestas:
a) Terminales = {x,y,+,*}
No Terminales = {E, O}
Símbolo inicial: E
b) Derivación por izquierda:
1 2 4 1 3 5 2
𝐸 ⇒ 𝐸𝑂𝐸 ⇒ 𝑥𝑂𝐸 ⇒ 𝑥 + 𝐸 ⇒ 𝑥 + 𝐸𝑂𝐸 ⇒ 𝑥 + 𝑦𝑂𝐸 ⇒ 𝑥 + 𝑦 ∗ 𝐸 ⇒ 𝑥 + 𝑦 ∗ 𝑥
c) Derivación por derecha:
1 2 5 1 3 4 2
𝐸 ⇒ 𝐸𝑂𝐸 ⇒ 𝐸𝑂𝑥 ⇒ 𝐸 ∗ 𝑥 ⇒ 𝐸𝑂𝐸 ∗ 𝑥 ⇒ 𝐸𝑂𝑦 ∗ 𝑥 ⇒ 𝐸 + 𝑦 ∗ 𝑥 ⇒ 𝑥 + 𝑦 ∗ 𝑥
d) Árbol de análisis sintáctico:

e) Gramática es ambigua porque se pueden encontrar más de un árbol para la


misma cadena:
Árbol 1:
Árbol 2:

----------------------------------------------------------------------------------------------------------
Pregunta 3
Un autómata finito se define como una quíntupla . Dado el autómata
finito M= donde es

δ a b
S 1 {S , S }3 4 {S }
2

S 2 {S } 6 {S }
2

S 3 {S } 3 {S }
5

S 4 {S } 4 {S }
5

S 5 {S }
5

S 6 {S }6

a. ¿En qué puntos existe no determinismo?


b. Obtener el autómata finito determinístico equivalente.
c. Describir el lenguaje reconocido por los autómatas usando expresiones
regulares.

Repuestas:
a) Existe no determinismo en S1 para el símbolo a.

b)
δ a b
➔ S 1 S S 3 4 S2

S 2 S 6 S2

S S 3 4 S S 3 4 S5
(F) S 5 S 5

(F) S 6 S 6

c) ER: aa*bb* | bb*aa*

𝑤1 =∈
𝑤34 = 𝑤1 𝑎 + 𝑤34 𝑎 -> 𝑤34 = 𝑎 + 𝑤34 𝑎 -> 𝑤34 = 𝑎𝑎∗
𝑤5 = 𝑤34 𝑏 + 𝑤5 𝑏 -> 𝑤5 = 𝑎𝑎∗ 𝑏 + 𝑤5 𝑏 -> 𝑤5 = 𝑎𝑎 ∗ 𝑏𝑏∗
𝑤2 = 𝑤1 𝑏 + 𝑤2 𝑏 -> 𝑤2 = 𝑏 + 𝑤2 𝑏 -> 𝑤2 = 𝑏𝑏 ∗
𝑤6 = 𝑤2 𝑎 + 𝑤6 𝑎 -> 𝑤6 = 𝑏𝑏 ∗ 𝑎 + 𝑤𝑎 𝑎 -> 𝑤6 = 𝑏𝑏 ∗ 𝑎𝑎∗

----------------------------------------------------------------------------------------------------------
Pregunta 4 Obtenga una gramática que reconozca el siguiente lenguaje:
L = {0xa2k+11 | x ϵ {r,s,t}* y la longitud de x es múltiplo de 2 y mayor que 0 y
k≥0}
S -> 0X
X-> rR | sR | tR
R-> rX | sX | tX | rA | sA | tA
A->aB
B->aC | 1
C-> aB
----------------------------------------------------------------------------------------------------------
Pregunta 5 Limpiar la gramática, eliminar la recursividad a la izquierda y los factores
comunes a la izquierda de la gramática G=({S,R,T),{x,y,z},S,P) donde P es
S → Rx | Tz | ε
R → Sz | z
T → zx | zxy
Paso 1:

S’ → S | ε
S →Rx | Tz
R → Sz | z
T → zx | zxy

Paso 2:

S’ → S | ε
S →Rx | Tz
R → Rxz | Tzz | z
T → zx | zxy

Paso 3:
S’ → S | ε
S →Rx | Tz
R → TzzR’ | zR’
R’ → xzR’ | ε
T → zx | zxy

Paso 4 - FINAL:

S’ → S | ε
S →Rx | Tz
R → TzzR’ | zR’
R’ → xzR’ | ε
T → zxT’
T’ → y | ε
----------------------------------------------------------------------------------------------------------
Pregunta 6 Escriba una expresión regular para el siguiente lenguaje:
L = cadenas sobre {0,1} con longitud mayor o igual a 3 y que terminen con 0.

ER: (0|1)(0|1) (0|1)* 0


----------------------------------------------------------------------------------------------------------
Pregunta 7 Escriba una gramática para el lenguaje L={ 0n12n+1: n>0 }.
S → 0D11
D → 0D11 | 1
----------------------------------------------------------------------------------------------------------
Pregunta 8 Diseñe un autómata con pila para el lenguaje L={ 0n12n+1: n>0 }.
GRUPO N°:

HORIZONTALES VERTICALES

4. Conjunto de cadenas definidas sobre un alfabeto 1. Analizador que recibe cadenas de


() caracteres como entrada y produce
6. Analizador que agrupa componentes léxicos en como salida tokens o símbolos que
colecciones anidadas con un significado colectivo luego serán utilizados por el analizador
(frases gramaticales) generalmente representadas sintáctico para su traducción.
mediante árboles sintácticos. 2. De acuerdo a la estructura provista
7. Etapa dentro del proceso de generación de un por el Analizador Sintáctico, este
código objeto de un compilador en donde se intenta analizador verifica si las expresiones y
mejorar el código intermedio producido en la etapa declaraciones generadas siguen o no
anterior para que este se ejecute más rápido y/o las reglas del lenguaje de
ocupe menos espacio. programación empleado.
8. Generador de analizadores sintácticos. 3. Procedimiento para obtener una
10. Genera el código máquina, específico de una cadena a partir de otra, aplicando una
plataforma, a partir de los resultados del Front End. regla de producción.
11. Componente léxico. Cadena de caracteres que 5. Parte del compilador que analiza el
tiene un significado coherente en cierto lenguaje de código fuente, comprueba su validez,
programación. genera el árbol de derivación y
13. Conjunto de símbolos que forman parte de las completa la tabla de símbolos.
palabras de un lenguaje. 9. Es un programa que traduce código
14. Secuencia de caracteres que forman un token. escrito en un lenguaje de
15. Secuencia de símbolos del alfabeto. programación especifico (fuente) a
16. Es un programa informático capaz de analizar y otro lenguaje (objeto) generando un
ejecutar otros programas, escritos en un lenguaje de ejecutable.
alto nivel. Sólo realizan la traducción a medida que 12. Parte del modelo de compilador
sea necesaria, típicamente, instrucción por que divide al programa fuente en sus
instrucción, y normalmente no guardan el resultado elementos componentes y crea una
de dicha traducción. representación intermedia.

También podría gustarte