COMPILADORES PROYECTO 1 Prof. M.C. Yolanda Moyao Martnez 18.septiembre .2014 Parte I Por equipo (de 3 integrantes) se entregarn los siguientes programas hechos en LEX, FLEX, o cualquier generador de anlisis lxico automtico. 1. Hacer un programa LEX que reconozca nmeros mltiplos de dos. No utilizar la funcin mdulo de C. 2. Hacer un programa en LEX, de manera que se cifre el texto de entrada. a) Si una palabra tiene 4 o menos letras, cambiarla por su inversa en bloques de dos caracteres. Ej.: nio --> oni. b) Si tiene 5 6 letras, cambiarla por su inversa en bloques de tres caracteres. Ej.: comida --> idacom. c) Si tiene 7, 8 9 letras, cambiarla por su inversa en bloques de cuatro caracteres. Ej.: botelln --> llnbote. d) Si tiene ms de 9 letras, cambiarla por su inversa en bloques de 5 caracteres. Ej.: ferretera --> teraferre. 3. Hacer un programa LEX que tras leer su entrada, nos indique el nmero de palabras ledas que poseen un diptongo cuya primera letra es u, y la segunda no es una a. No se considerar diptongo aquella subcadena que forme parte de un triptongo. De hecho, en espaol slo existen estos triptongos: -uai-, uei-, -iai-, -iei-. Del total de palabras ledas con el diptongo indicado decir cuantas son de cada forma: -ue-, -ui-, -uo-, -uu-. Si una cadena posee ms de uno de estos diptongos se contabilizar una vez para cada diptongo diferente que posea. 4. Hacer programa en Lex que contenga las expresiones regulares de la prctica 2. Parte II Implementar el anlisis lxico para analizar expresiones regulares considerando la sintaxis aceptada por: RE2, PERL y VIM. Checa las pginas http://code.google.com/p/re2/wiki/Syntax https://support.google.com/a/answer/1371417?hl=es Cada equipo deber entregar un documento que contenga: 1. Marco terico 2. Planteamiento del problema 3. Expresiones Regulares 4. Diagrama de Transicin 5. Tabla de Transicin 6. Implementacin del analizador lxico en el lenguaje de programacin de tu eleccin. Recuerda no usar generador automtico de analizadores lxicos. Notas: Aplica a las dos partes 1. Si algn integrante falta el da de la revisin, no se le tomar en cuenta el proyecto (solo al que falte). 2. La revisin se realizar en el cubculo en horario de clase. 3. Cada equipo deber llevar una impresin del cdigo fuente y los programas ejecutables. 4. Cada equipo debe llevar 2 0 3 ejemplos para las pruebas.
Fecha de entrega Parte I: jueves 25 de septiembre
Fecha de entrega Parte II: jueves 2 de octubre Fecha para examen: martes 30 de septiembre