SlideShare una empresa de Scribd logo
PONTIFICIA UNIVERSIDAD CATÓLICA DEL
ECUADOR SEDE SANTO DOMINGO

COMPILADORES
INTEGRANTES:

Diego Balcázar
Jeremy Camacho
William Gallo

GENERADOR LEX & YACC
INTRODUCCIÓN


Como la programación dirigida por patrones es de mucha
utilidad, se introduce un lenguaje de patrón-acción,
llamado Lex, para especificar los analizadores léxicos. En
este lenguaje, los patrones se especifican por medio de
expresiones regulares, y un compilador de Lex puede
generar un reconocedor de las expresiones regulares
mediante un autómata finito eficiente.


El código Lex reconoce estas expresiones en una cadena
de input y divide este input en cadenas de caracteres que
coinciden con las expresiones. Se ejecutan las secciones de
programas proporcionados por el usuario. El fichero
fuente Lex asocia las expresiones regulares y los
fragmentos de programas.




Puesto que cada expresión aparece en el input del
programa escrito por el Lex, se ejecuta el fragmento
correspondiente. El usuario proporciona el código
adicional necesario para completar estas funciones.
El Lex convierte los patrones y acciones del usuario en un
programa C llamado yylex. Elprograma yylex reconoce
expresiones en un flujo y lleva a cabo las acciones
especificadas para cada expresión a medida que se va
detectando


Considere un programa para borrar del input todos los
espacios en blanco y todos los tabuladores de los
extremos de las líneas.
%%
[b t]+$ ;



Los corchetes indican la clase del carácter compuesto de
espacios en blanco y tabuladores; el + indica uno o más del
item anterior; y el signo de dólar ($) indica el final de la
línea. No se especifica ninguna acción, por lo tanto el
programa generado por el Lex ignorará estos caracteres.
Todo lo demás se copiará .
USO DE LEX CON YACC


Lex y Yacc (un generador de analizadores sintácticos)
suelen ser utilizados juntos. Yacc utiliza una gramática
formal para analizar un flujo de entradas, algo que Lex no
puede hacer con expresiones regulares simples (Lex se
limita a los autómatas de estados finitos simples). Sin
embargo, Yacc no puede leer en un flujo de entradas
simple - requiere una serie de símbolos. Lex se utiliza a
menudo para proporcionar a Yacc estos símbolos.
FORMATO FUENTE DEL LEX
El formato general de la fuente Lex es:
{definiciones}
%%
{órdenes}
%%
{subrutinas del usuario}



Las definiciones y las subrutinas del usuarios seomiten a
menudo. El segundo %% es opcional,pero el primero se
requiere para marcar elprincipio de las órdenes. El
programa Lexmínimo absoluto es por lo tanto
%%

(sin definiciones, ni órdenes) lo cual se traduce enun
programa que copia el input en el output sinvariar.
EXPRESIONES DEL LEX




Esta contiene caracteres de texto y caracteresoperador .
Las letras del alfabeto y los dígitos sonsiempre caracteres
de texto.
Los caracteres operador son:
´ [ ] ^ - ? . * + | ( ) $ / { } % < >



Si cualquiera de estos caracteres se va a usar literalmente,
es necesario incluirlosindividualmente entre caracteres
barra invertida(  ) o como un grupo dentro de comillas ( ´ ).




n
t
b



( ´ ) indica que siempre que esté incluido dentro de unpar de comillas
se va a tomar como un carácter detexto.
xyz”++”
Se reconocen varios escapes C normales con la barrainvertida (  ):
newline
tabulador
backspace
barra invertida
Puesto que el carácter newline es ilegal en unaexpresión, es necesario
usar n; no se requiere darescape al carácter tabulador y el backspace.
LLAMAR AL LEX






El programa Lex fuente tiene que ser convertido en un
programa regenerado en el lenguaje de propósito general.
Entonces éste programa tiene que ser compilado y cargado,
normalmente con una librería de subrutinas Lex. El programa
generado está en un fichero llamado lex.yy.c. La librería I/O está
definida en términos de la librería estándar C.
A la librería se accede por medio del flag de la carga -ll.Por lo
tanto un conjunto de comandos apropiados es:
∗ lex source
∗ cc lex.yy.c-ll
El programa resultante se pone en el fichero usual a.out para
ser ejecutado posteriormente.
ESPECIFICACIÓN DE EXPRESIONES
Especificación de clases de caracteres
Las clases de caracteres se pueden especificarusando
corchetes: [y]. La construcción:


∗

[abc]

Coincide con cualquier carácter, que pueda seruna a, b, o c. .
Dentro de los corchetes, la mayoríade los operadores se
ignoran.
Especificación de un carácter arbitrario
Para hacer coincidir casi con cualquier carácter,el punto (.),
designa la clase de todos loscaracteres excepto un carácter
newline. Hacerescape en octal es posible, aunque esto no
esportable. Por ejemplo:



[  40 -  176 ]

coincidecon todos los caracteres imprimibles del conjuntode
caracteres ASCII, desde el octal 40 (espacio enblanco)
hasta el octal 176 ( la tilde).
Especificar expresiones opcionales
El operador signo de interrogación( ? )indica unelemento
opcional de una expresión.Por lo tanto


ab?c

Especificación de expresiones repetidas
Las repeticiones de clases se indican con losoperadores
asterisco ( * ) y el signo más ( + ). Porejemplo: a*

Especificación de alternación y de agrupamiento
El operador barra vertical ( | ) indica alternación. Por ejemplo:
( ab | cd )

Especificación de repetición de expresiones.
Las llaves ( { y } ) especifican o bien repeticiones ( siéstas
incluyen números) o definición de expansión (siincluyen un
nombre). Por ejemplo:{dígito}

MANEJO DE ÓRDENES FUENTES
AMBIGUAS


El Lex puede manejar especificaciones ambiguas. Cuando
más de una expresión puede coincidir con el input en
curso, el Lex selecciona de la forma siguiente:
-Se prefiere la coincidencia más larga.
-De entre las órdenes que coinciden en el mismo número de
caracteres, se prefiere la primera ordenes pecificada.

Más contenido relacionado

La actualidad más candente

Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Software
albert317
 
Shell script en linux
Shell script en linuxShell script en linux
Shell script en linux
Carlos Antonio Leal Saballos
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
judithmore16
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
aagalvisg
 
Tipos de pruebas
Tipos de pruebasTipos de pruebas
Tipos de pruebas
Carlos Alejandro Pacheco
 
clasificacion de los sistemas operativos
clasificacion de los sistemas operativosclasificacion de los sistemas operativos
clasificacion de los sistemas operativos
aleja rodriguez
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
Mayito Pdg
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
Nelson Guanipa
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientos
UCATEBA
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
nnakasone
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
sebas montes
 
Preparacion y control del centro de cómputo
Preparacion y control del centro de cómputoPreparacion y control del centro de cómputo
Preparacion y control del centro de cómputo
Manuel Montenegro
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
josecuartas
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
Abigail Rijo Morales
 
3. Análisis de Requerimientos
3. Análisis de Requerimientos3. Análisis de Requerimientos
3. Análisis de Requerimientos
Mario A Moreno Rocha
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
Lely
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
diegob1098
 
Definición e historia de las herramientas case
Definición e historia de las herramientas caseDefinición e historia de las herramientas case
Definición e historia de las herramientas case
IngenierosD
 
DETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LAN
DETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LANDETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LAN
DETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LAN
MFernanda Cabrera
 

La actualidad más candente (20)

Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Software
 
Shell script en linux
Shell script en linuxShell script en linux
Shell script en linux
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Tipos de pruebas
Tipos de pruebasTipos de pruebas
Tipos de pruebas
 
clasificacion de los sistemas operativos
clasificacion de los sistemas operativosclasificacion de los sistemas operativos
clasificacion de los sistemas operativos
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientos
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 
Preparacion y control del centro de cómputo
Preparacion y control del centro de cómputoPreparacion y control del centro de cómputo
Preparacion y control del centro de cómputo
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
3. Análisis de Requerimientos
3. Análisis de Requerimientos3. Análisis de Requerimientos
3. Análisis de Requerimientos
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 
Definición e historia de las herramientas case
Definición e historia de las herramientas caseDefinición e historia de las herramientas case
Definición e historia de las herramientas case
 
DETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LAN
DETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LANDETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LAN
DETECCIÓN Y CORRECCIÓN DE FALLAS FÍSICAS Y LÓGICAS DE UNA RED LAN
 

Similar a Lex yacc

Lex
LexLex
Lex
PauNyo
 
Lex
LexLex
Lex
PauNyo
 
Compilador2
Compilador2Compilador2
Compilador2
Calzada Meza
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
Alvaro Cedeño
 
Taller compiladores conceptos
Taller compiladores conceptosTaller compiladores conceptos
Taller compiladores conceptos
juniortroya
 
Taller de flex y bison
Taller de flex y bisonTaller de flex y bison
Taller de flex y bison
Fabricio Galárraga
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
Universidad
 
Flex bison
Flex bisonFlex bison
Flex bison
LuisMolina269
 
Articulo
ArticuloArticulo
Articulo
Raul Gomez
 
Funcion del lex
Funcion del lexFuncion del lex
Funcion del lex
Paul MG
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
perlallamas
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
FARIDROJAS
 
Analizador lexico.pdf
Analizador lexico.pdfAnalizador lexico.pdf
Analizador lexico.pdf
ShadowArt2
 
Compiladores
CompiladoresCompiladores
Compiladores
Urban Lovers InC
 
Documeto compilardorcontadorletras
Documeto compilardorcontadorletrasDocumeto compilardorcontadorletras
Documeto compilardorcontadorletras
Sebastian Ocampo Vélez
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
jose haar
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
guest5fa3fc
 
TABLA DE SIMBOLOS
TABLA DE SIMBOLOSTABLA DE SIMBOLOS
TABLA DE SIMBOLOS
Leopoldo Capa
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
Enrique Morales
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
FARIDROJAS
 

Similar a Lex yacc (20)

Lex
LexLex
Lex
 
Lex
LexLex
Lex
 
Compilador2
Compilador2Compilador2
Compilador2
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
 
Taller compiladores conceptos
Taller compiladores conceptosTaller compiladores conceptos
Taller compiladores conceptos
 
Taller de flex y bison
Taller de flex y bisonTaller de flex y bison
Taller de flex y bison
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
 
Flex bison
Flex bisonFlex bison
Flex bison
 
Articulo
ArticuloArticulo
Articulo
 
Funcion del lex
Funcion del lexFuncion del lex
Funcion del lex
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
 
Analizador lexico.pdf
Analizador lexico.pdfAnalizador lexico.pdf
Analizador lexico.pdf
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Documeto compilardorcontadorletras
Documeto compilardorcontadorletrasDocumeto compilardorcontadorletras
Documeto compilardorcontadorletras
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
 
TABLA DE SIMBOLOS
TABLA DE SIMBOLOSTABLA DE SIMBOLOS
TABLA DE SIMBOLOS
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 

Más de MARCO POLO SILVA SEGOVIA

Autoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladoresAutoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladores
MARCO POLO SILVA SEGOVIA
 
Tutorial compiladores
Tutorial compiladoresTutorial compiladores
Tutorial compiladores
MARCO POLO SILVA SEGOVIA
 
Jlex y cup en java
Jlex y cup en javaJlex y cup en java
Jlex y cup en java
MARCO POLO SILVA SEGOVIA
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
MARCO POLO SILVA SEGOVIA
 
Capitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazarCapitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazar
MARCO POLO SILVA SEGOVIA
 
Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)
MARCO POLO SILVA SEGOVIA
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
MARCO POLO SILVA SEGOVIA
 
Compiladores
CompiladoresCompiladores
Tarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompiladorTarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompilador
MARCO POLO SILVA SEGOVIA
 
Compiladores
CompiladoresCompiladores
Registro anecdótico procesos y calidad
Registro anecdótico procesos y calidadRegistro anecdótico procesos y calidad
Registro anecdótico procesos y calidad
MARCO POLO SILVA SEGOVIA
 
Autoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidadAutoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidad
MARCO POLO SILVA SEGOVIA
 
Procesos y calidad i parcial
Procesos y calidad i parcialProcesos y calidad i parcial
Procesos y calidad i parcial
MARCO POLO SILVA SEGOVIA
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
MARCO POLO SILVA SEGOVIA
 
Procesos itil! aviles maruri
Procesos itil! aviles maruriProcesos itil! aviles maruri
Procesos itil! aviles maruri
MARCO POLO SILVA SEGOVIA
 
prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
MARCO POLO SILVA SEGOVIA
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acs
MARCO POLO SILVA SEGOVIA
 
tecnicas de revisión del software
tecnicas de revisión del softwaretecnicas de revisión del software
tecnicas de revisión del software
MARCO POLO SILVA SEGOVIA
 
conceptos de calidad
conceptos de calidadconceptos de calidad
conceptos de calidad
MARCO POLO SILVA SEGOVIA
 
Conceptos de calidad
Conceptos de calidadConceptos de calidad
Conceptos de calidad
MARCO POLO SILVA SEGOVIA
 

Más de MARCO POLO SILVA SEGOVIA (20)

Autoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladoresAutoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladores
 
Tutorial compiladores
Tutorial compiladoresTutorial compiladores
Tutorial compiladores
 
Jlex y cup en java
Jlex y cup en javaJlex y cup en java
Jlex y cup en java
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
Capitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazarCapitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazar
 
Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Tarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompiladorTarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompilador
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Registro anecdótico procesos y calidad
Registro anecdótico procesos y calidadRegistro anecdótico procesos y calidad
Registro anecdótico procesos y calidad
 
Autoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidadAutoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidad
 
Procesos y calidad i parcial
Procesos y calidad i parcialProcesos y calidad i parcial
Procesos y calidad i parcial
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
Procesos itil! aviles maruri
Procesos itil! aviles maruriProcesos itil! aviles maruri
Procesos itil! aviles maruri
 
prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acs
 
tecnicas de revisión del software
tecnicas de revisión del softwaretecnicas de revisión del software
tecnicas de revisión del software
 
conceptos de calidad
conceptos de calidadconceptos de calidad
conceptos de calidad
 
Conceptos de calidad
Conceptos de calidadConceptos de calidad
Conceptos de calidad
 

Último

computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Festibity
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
MiguelAtencio10
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
AngelCristhianMB
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 

Último (20)

computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 

Lex yacc

  • 1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO COMPILADORES INTEGRANTES: Diego Balcázar Jeremy Camacho William Gallo GENERADOR LEX & YACC
  • 2. INTRODUCCIÓN  Como la programación dirigida por patrones es de mucha utilidad, se introduce un lenguaje de patrón-acción, llamado Lex, para especificar los analizadores léxicos. En este lenguaje, los patrones se especifican por medio de expresiones regulares, y un compilador de Lex puede generar un reconocedor de las expresiones regulares mediante un autómata finito eficiente.
  • 3.  El código Lex reconoce estas expresiones en una cadena de input y divide este input en cadenas de caracteres que coinciden con las expresiones. Se ejecutan las secciones de programas proporcionados por el usuario. El fichero fuente Lex asocia las expresiones regulares y los fragmentos de programas.
  • 4.   Puesto que cada expresión aparece en el input del programa escrito por el Lex, se ejecuta el fragmento correspondiente. El usuario proporciona el código adicional necesario para completar estas funciones. El Lex convierte los patrones y acciones del usuario en un programa C llamado yylex. Elprograma yylex reconoce expresiones en un flujo y lleva a cabo las acciones especificadas para cada expresión a medida que se va detectando
  • 5.  Considere un programa para borrar del input todos los espacios en blanco y todos los tabuladores de los extremos de las líneas. %% [b t]+$ ;  Los corchetes indican la clase del carácter compuesto de espacios en blanco y tabuladores; el + indica uno o más del item anterior; y el signo de dólar ($) indica el final de la línea. No se especifica ninguna acción, por lo tanto el programa generado por el Lex ignorará estos caracteres. Todo lo demás se copiará .
  • 6. USO DE LEX CON YACC  Lex y Yacc (un generador de analizadores sintácticos) suelen ser utilizados juntos. Yacc utiliza una gramática formal para analizar un flujo de entradas, algo que Lex no puede hacer con expresiones regulares simples (Lex se limita a los autómatas de estados finitos simples). Sin embargo, Yacc no puede leer en un flujo de entradas simple - requiere una serie de símbolos. Lex se utiliza a menudo para proporcionar a Yacc estos símbolos.
  • 7. FORMATO FUENTE DEL LEX El formato general de la fuente Lex es: {definiciones} %% {órdenes} %% {subrutinas del usuario} 
  • 8.  Las definiciones y las subrutinas del usuarios seomiten a menudo. El segundo %% es opcional,pero el primero se requiere para marcar elprincipio de las órdenes. El programa Lexmínimo absoluto es por lo tanto %% (sin definiciones, ni órdenes) lo cual se traduce enun programa que copia el input en el output sinvariar.
  • 9. EXPRESIONES DEL LEX   Esta contiene caracteres de texto y caracteresoperador . Las letras del alfabeto y los dígitos sonsiempre caracteres de texto. Los caracteres operador son: ´ [ ] ^ - ? . * + | ( ) $ / { } % < >  Si cualquiera de estos caracteres se va a usar literalmente, es necesario incluirlosindividualmente entre caracteres barra invertida( ) o como un grupo dentro de comillas ( ´ ).
  • 10.   n t b  ( ´ ) indica que siempre que esté incluido dentro de unpar de comillas se va a tomar como un carácter detexto. xyz”++” Se reconocen varios escapes C normales con la barrainvertida ( ): newline tabulador backspace barra invertida Puesto que el carácter newline es ilegal en unaexpresión, es necesario usar n; no se requiere darescape al carácter tabulador y el backspace.
  • 11. LLAMAR AL LEX    El programa Lex fuente tiene que ser convertido en un programa regenerado en el lenguaje de propósito general. Entonces éste programa tiene que ser compilado y cargado, normalmente con una librería de subrutinas Lex. El programa generado está en un fichero llamado lex.yy.c. La librería I/O está definida en términos de la librería estándar C. A la librería se accede por medio del flag de la carga -ll.Por lo tanto un conjunto de comandos apropiados es: ∗ lex source ∗ cc lex.yy.c-ll El programa resultante se pone en el fichero usual a.out para ser ejecutado posteriormente.
  • 12. ESPECIFICACIÓN DE EXPRESIONES Especificación de clases de caracteres Las clases de caracteres se pueden especificarusando corchetes: [y]. La construcción:  ∗ [abc] Coincide con cualquier carácter, que pueda seruna a, b, o c. . Dentro de los corchetes, la mayoríade los operadores se ignoran.
  • 13. Especificación de un carácter arbitrario Para hacer coincidir casi con cualquier carácter,el punto (.), designa la clase de todos loscaracteres excepto un carácter newline. Hacerescape en octal es posible, aunque esto no esportable. Por ejemplo:  [ 40 - 176 ] coincidecon todos los caracteres imprimibles del conjuntode caracteres ASCII, desde el octal 40 (espacio enblanco) hasta el octal 176 ( la tilde).
  • 14. Especificar expresiones opcionales El operador signo de interrogación( ? )indica unelemento opcional de una expresión.Por lo tanto  ab?c Especificación de expresiones repetidas Las repeticiones de clases se indican con losoperadores asterisco ( * ) y el signo más ( + ). Porejemplo: a* 
  • 15. Especificación de alternación y de agrupamiento El operador barra vertical ( | ) indica alternación. Por ejemplo: ( ab | cd )  Especificación de repetición de expresiones. Las llaves ( { y } ) especifican o bien repeticiones ( siéstas incluyen números) o definición de expansión (siincluyen un nombre). Por ejemplo:{dígito} 
  • 16. MANEJO DE ÓRDENES FUENTES AMBIGUAS  El Lex puede manejar especificaciones ambiguas. Cuando más de una expresión puede coincidir con el input en curso, el Lex selecciona de la forma siguiente: -Se prefiere la coincidencia más larga. -De entre las órdenes que coinciden en el mismo número de caracteres, se prefiere la primera ordenes pecificada.