Ingeniería Técnica en Informática de Sistemas Teoría de Autómatas y Lenguajes Formales La Rábida 28 de Junio de 2002 NOMBRE: Ejercicio 1.- (2 puntos) Dada la gramática regular:: S 1A | 1B A 0A | 0C | 1C | 1 B 1A | 1C | 1 C0 Obtener: 1) el AFND correspondiente a la gramática dada. 2) el AFD equivalente al del apartado 1). 3) El AFD mínimo equivalente al del apartado 2) 4) la expresión regular del lenguaje generado por ella. Ejercicio 2.- (1 punto) Determinar el AFDmínimo para la siguiente expresión regular: = 0* ( 10*10* )* ) Ejercicio 3.- (3 puntos) Dada la siguiente gramática: S(I)|x II,S|S Se pide: a) Eliminar la recursividad por la izquierda y comprobar si es LL(1) mediante el cálculo de los conjuntos Primero y Siguiente. b) A partir de la tabla LL(1) especifica el pseudocódigo de análisis sintáctico descendente y realizar el análisis para la entrada: ( x, (x,x)) Ejercicio 4.- (3 puntos) Dado el lenguaje {xnymzn / n >=0,m>0} U {xnvzn /n>=0} Se pide: a) Construir una gramática LR(1) que lo reconozca. Pág 1/8 b) Construir la tabla LR y especificar el pseudocódigo para el análisis sintáctico ascendente. c) Analizar si es correcta sintácticamente la entrada: “xxyzz” “xxvvzz” Ejercicio 5.- (1 punto) Convertir la siguiente gramática en forma normal de Chomsky. S AaB A bA A B cB B Duración del examen: 9:00 a 11:30 Pág 2/8 Ingeniería Técnica en Informática de Sistemas Teoría de Autómatas y Lenguajes Formales La Rábida 4 de septiembre de 2002 NOMBRE: Ejercicio 1.(2 puntos) Sea el autómata finito no determinista definido por la tabla siguiente : p q r *s a q p,r,s b p,r p,s s r,s r Obtener: a) El AFD equivalente b) El AFD minnimo del apartado a). c) La gramática correspondiente al autómata del apartado b). d) la expresión regular del lenguaje generado por ella. Ejercicio 2.- (1 punto) Determinar el AFDmínimo para la siguiente expresión regular: = a + ( b a* )* Ejercicio 3.- (3 puntos) Dada la siguiente gramática: S S a X | X XYbZ YYc|d Zd|eRZ RRc|d c) Eliminar la recursividad por la izquierda y comprobar si es LL(1) mediante el cálculo de los conjuntos Primero y Siguiente. d) A partir de la tabla LL(1) especificar el pseudocódigo de análisis sintáctico descendente y realizar el análisis para la entrada: “ddbd” Pág 3/8 e) Escribir el analizador descendente predictivo recursivo. Ejercicio 4.- (3 puntos) Dado el lenguaje {x y x z /n,p,q>=0} n n+p+q p q Se pide: d) Construir una gramática LR(1) que lo reconozca. e) Construir la tabla LR y especificar el pseudocódigo para el análisis sintáctico ascendente. f) Analizar si son correctas sintácticamente las entradas: “xyyxz”, “xyyyxz” Ejercicio 5.- (1 punto) Convertir la siguiente gramática en forma normal de Chomsky: S AB / 0E A 0AS / A0 / B B1 / 1 D B1 / 1F / E E1 F 0D Pág 4/8 Ingeniería Técnica en Informática de Sistemas Tª de Autómatas y Lenguajes Formales La Rábida 3 de Septiembre de 2003 NOMBRE(nota de prácticas): Ejercicio 1.puntos) (1.5 Responder brevemente a las siguientes cuestiones: a) Definir formalmente las producciones de una gramática tipo 1. b) Definir formalmente un autómata a pila. c) Definir formalmente el lenguaje aceptado por un autómata a pila en los dos casos: por estados finales y por pila vacía Ejercicio 2.puntos) (2 Dada la expresión regular: R= (ba*b + a*)*ab Obtener: a) El AFD mínimo asociado a la expresión regular. b) La gramática regular asociada al AFD del apartado a). Ejercicio 3.puntos) Definir una gramática en Forma Normal de Chomsky equivalente a la siguiente: (2 S cBa | cAb A cbBa | cAba | BS | aC B cBbb | C abCb Ejercicio 4.puntos) Dada la gramática: SAB (2.5 A f i [ C ] Pág 5/8 BbDe Ci| C,i DE | D,E Ei=F Fi | i+i Se pide: f) Factorizar, eliminar la recursividad por la izquierda y comprobar si es LL(1) mediante el cálculo de los conjuntos Primero y Siguiente. g) A partir de la tabla LL(1) especificar el pseudocódigo de análisis sintáctico descendente y realizar el análisis para la entrada: f i[i,i] b i = i + i e Ejercicio 5.- (2 puntos) Dada la gramática: B{L} LL;S| S S B|V=E V i | i [ E ] E E + T | T T V|(E) Se pide: a) Construir la tabla LR y especificar el pseudocódigo para el análisis sintáctico ascendente. b) Realizar el análisis para la entrada: “ { i [i] = i } “ Duración del examen: 16:00 a 18:30 Pág 6/8 Ingeniería Técnica en Informática de Sistemas Teoría de Autómatas y Lenguajes Formales La Rábida 5 de Septiembre de 2001 Ejercicio 1.(1.5 puntos) Un sumador binario es un dispositivo que suma dos números codificados en binario y da el resultado en binario. En el sumador serie los bits de los sumandos se presentan secuencialmente y por parejas, es decir, primero se presentan los dos bits de menor peso, el sumador los suma y obtiene el bit de menor peso del resultado (y toma nota del arrastre, si lo hay), luego los siguientes,etc. Encontrar para este sumador serie: a) La máquina secuencial de Mealy. b) La máquina de Moore equivalente a la del apartado a). c) Comprobar la suma en binario de 01010 + 01000 = 10010 Ejercicio 2.(2 puntos) Dada la expresión regular = aa*+ba*b* obtener un AFD mínimo del correspondiente lenguaje y una gramática regular que lo genere. Ejercicio 3.Dada la siguiente gramática: (3.5 puntos) <programa> PROGRAM ( ) BEGIN <cuerpo> END <cuerpo> <cuerpo> <instruc> | <instruc> ID = <expr> | WHILE <expr> DO <instruc> | BEGIN cuerpo END <expr> <expr> OPARI <expr> | <expr> OPLOG <expr> | ID | NUM h) Eliminar la recursividad por la izquierda y comprobar si es LL(1) mediante el cálculo de los conjuntos Primero y Siguiente. i) A partir de la tabla LL(1) especificar el pseudocódigo de análisis sintáctico descendente y realizar el análisis para la entrada: “PROGRAM ( ) BEGIN WHILE ID DO ID = NUM END” Ejercicio 4.(3 puntos) Dada la gramática: S01A; A01A|E EE-P|P P 0 | (0 ; 0) | (A) g) Construir la tabla LR y especificar el pseudocódigo para el análisis sintáctico ascendente. Pág 7/8 h) Analizar si es correcta sintácticamente la entrada: “ 0 1 0 1 ( 0 ; 0 ) ; ” Duración del examen: 9:00 a 11:30 EXAMEN DE PRÁCTICAS: MARTES 25/9/01 A LAS 10. LABOR. DE INFORMÁTICA II Pág 8/8