SlideShare una empresa de Scribd logo
PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR
SEDE SANTO DOMINGO
Capítulo 2

Análisis Lexicográfico
Concepto de analizador léxico
Se encarga de buscar los componentes léxicos o palabras que componen el programa fuente,
según unas reglas o patrones.

Funciones del analizador léxico
El analizador léxico es la primera fase de un compilador. Su principal función consiste en leer
los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que
utiliza el analizador sintáctico para hacer el análisis.

Simplificación del diseño
U n diseño sencillo es quizás la ventaja más importante. Separar el análisis léxico del análisis
sintáctico a menudo permite simplificar una, otra o ambas fases. Normalmente añadir un
analizador léxico permite simplificar notablemente el analizador sintáctico. Aún más, la
simplificación obtenida se hace especialmente patente cuando es necesario realizar
modificaciones o extensiones al lenguaje inicialmente idead o; en otras palabras, se facilita
el mantenimiento del compilador a medida que el lenguaje evoluciona.

Eficiencia
La división entre análisis léxico y sintáctico también mejora la eficiencia del compilador. Gran
parte del tiempo de compilación se invierte en leer el programa fuente y dividirlo en
componentes léxicos.
Con técnicas especializadas de manejo de buffers para la lectura de caracteres de entrada y
procesamiento de patrones se puede mejorar significativamente el rendimiento de un
compilador.

Portabilidad
Se mejora la portabilidad del compilador, ya que las peculiaridades del alfabeto de
partida, del juego de caracteres base y otras anomalías propias de los dispositivos de entrada
pueden limitarse al analizador léxico.
COMPILADORES
Boris Chungandro
Willian Gallo
PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR
SEDE SANTO DOMINGO

Token, patrón y lexema
Patrón: es una expresión regular.
Token: es la categoría léxica asociada a un patrón. Cada token se convierte en un número o
código identificador único. En algunos casos, cada número tiene asociada información
adicional necesaria para las fases posteriores de la etapa de análisis. El concepto de token
coincide directamente con el concepto de terminal desde el punto de vista de la gramática
utilizada por el analizador sintáctico.
Lexema: Es cada secuencia de caracteres concreta que encaja con un patrón.
P.ej: “8", “23" y “50" son algunos lexemas que encajan con el patrón (‘0'|’1'|’2'| ... |’9')+. E l
número de lexemas que puede encajar con un patrón puede ser finito o infinito, p.ej. en el
patrón ‘W ’‘H ’‘I’‘L’‘E ’ sólo encaja el lexema “W H ILE ”.

El generador de analizadores lexicográficos: PCLex
Enestasecciónsedescribelaherramientaactualmentemásextendida,llamada
laespecificacióndeanalizadoresléxicosengeneral

Lex,para

Creacióndeunanalizadorléxico
PCLextienesupropiolenguaje,alquellamaremos
Lexyquepermiteespecificarlaestructuraabstractade unanalizadorléxico

Lospasosparacrearunanalizadorléxicoconestaherramientason
ConstruirunficherodetextoenlenguajeLexquecontienelaestructura
abstractadelanalizador.
Metacompilarelficheroanteriorcon
PCLex.Asíseobtendráunfichero
fuenteenCestándar.Algunasveceshayqueefectuarmodificacionesdirectas
enestecódigo,aunquelasúltimasversionesdePCLexhandisminuidoal
máximoestassituaciones.
CompilarelfuenteenCgeneradoporPCLexconuncompiladorC,conlo
queobtendremosunejecutablequesiguelospasosdescritosenelepígrafe

COMPILADORES
Boris Chungandro
Willian Gallo
PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR
SEDE SANTO DOMINGO

Premisas deLexparareconocerlexemas
Elyylex()generadoporPCLexsiguedosdirectricesfundamentalespara reconocer lexemas
en caso de ambigüedad. Estas directrices son, por orden de prioridad:
1. Entrarsiempreporel patrónquereconoceellexemamáslargoposible.
2. Encasodeconflictousaelpatrónqueapareceenprimeraposición.

CcaracteresespecialesdeLex
Sirveparaencerrarcualquiercadenadeliterales.
Haceliteralalsiguientecarácter.Ej.:”reconoceunascomillas.
Tambiénse
utilizaparaexpresar
aquelloscaracteres
quenotienenrepresentacióndirecta
porpantalla:nparaelretornodecarro,

Caracteresdesensibilidadalcontexto
Lexsuministraciertascapacidades
parareconocer
patronesquenoseajustan
aunaexpresiónregular,sinomásbienaunagramáticadecontextolibre

Estadoléxicos
Losestadosléxicosvienenasercomovariableslógicasexcluyentesquesirvenparaindicar
queunpatrónsólopuede aplicarsesielestadoléxicoquellevaasociadoseencuentra activado

ElgeneradordeanalizadoreslexicográficosJFlex
JFlexesungeneradordeanalizadoreslexicográficosdesarrolladoporGerwin Klein
extensión a la herramienta JLexdesarrollada en la Universidad de Princeton.
JFlexestádesarrolladoenJavaygeneracódigoJava.

como

LosprogramasescritosparaJFlextienenunformatoparecidoalosescritos
enPCLex;dehechotodoslospatronesregularesadmisiblesenLextambiénson
admitidosporJFlex,porloqueenesteapartadonoscentraremostansóloenlas
diferenciasyextensiones, tantodepatronescomodel esqueletoquedebeposeer el
ficherodeentradaaJFlex.
COMPILADORES
Boris Chungandro
Willian Gallo
PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR
SEDE SANTO DOMINGO

Áreade opciones y declaraciones
Esteárea permite indicar a JFlexuna serie de opcionespara adaptar el fichero
.java resultante de la meta-compilación y que será el que implemente nuestro
analizadorlexicográficoen Java.También permiteasociarun identificadordeusuario
alospatronesmásutilizadoseneláreadereglas.

Opciones
Lasopcionesmásinteresantessepuedenclasificarenopcionesdeclase,de
la
funcióndeanálisis,
defindefichero,dejuegodecaracteresydecontadores.Todas
ellasempiezanporelcarácter%ynopuedenestarprecedidaspornadaenlalíneaen
queaparecen.

Opcionesdeclase
Lasopcionesdeclasemásútilesson:
%classnombreClase.Pordefecto,laclaseque
elanalizadorlexicográficosellamaYylex.

generaJFlexyqueimplementa

%implementsinterface1,interface2,etc.Elprogramadordeberáintroducirlos
métodosnecesariosparahacerefectivadichaimplementación.
%extendsnombreClase.Generaunaclasequeheredadelaclaseindicada.
%public.Generaunaclasepública.
%final.Generaunaclasefinal,delaquenadiepodráheredar.
%abstract.Generaunaclaseabstractadelaquenosepuedencrearobjetos.

COMPILADORES
Boris Chungandro
Willian Gallo
PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR
SEDE SANTO DOMINGO
%{ bloqueJava%}.El
declaracionesymétodos

programador

también

puede

incluir

sus

propias

%init{códigoJava%init}.Esposibleincluircódigoenel
constructorgenerado
automáticamente por JFlexpara la clase Yylexmediante el uso de esta opción.

Opcionesdelafuncióndeanálisis
Estasopcionespermitenmodificarel
métodoofunciónencargadade
análisislexicográficoensí.Lasopcionesmásútilesson:

realizar

el

%functionnombreFuncionAnalizadora.Estaopción
permitecambiardenombrealafunciónyylex().
%int.Hacequelafunciónyylex()devuelvavaloresdetipointenlugarde
Yytoken.
%intwrap.Hacequelafunciónyylex()devuelvavaloresdetipoIntegeren lugardeYytoken.
%typenombreTipo.Hacequelafunciónyylex()devuelvavaloresdeltipo
especificado(yaseaprimitivoono)enlugardeYytoken

Opcionesdejuegodecaracteres
Estasopcionespermitenespecificareljuegodecaracteresenelqueestará
codificadalaentradaalanalizadorlexicográficogeneradoporJFlex
%7bit.Eslaopciónpordefecto,yasumequecadacarácterdelaentradaestá
formadoporunúnicobytecuyobitmássignificativoes0,loqueda128 caracteres.
%8bit.Asumequecadacarácterestáformadoporunbytecompleto,loqueda
256caracteres.
%unicode.AsumequelaentradaestaráformadaporcaracteresUnicode.Estono
quieredecirquesetomendosbytesdelaentradaporcadacaráctersinoque
larecuperacióndecaracteressedejarecaerenlaplataformasobrelaquese ejecutayylex().
%ignorecase.Hace que yylex()ignore entremayúsculas yminúsculas mediante el
usodelosmétodostoUpperCaseytoLowerCasedelaclaseCharacter.
COMPILADORES
Boris Chungandro
Willian Gallo
PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR
SEDE SANTO DOMINGO

Opcionesdecontadores
%char.Almacenaenlavariableyycharelnúmerodecaracteresquehayentre
elcomienzodelcanaldeentradayelcomienzodellexemaactual.
%line.Almacenaenlavariableyylineelnúmerodelíneaenquecomienzael lexemaactual.
%column.Almacenaenlavariableyycolumnelnúmerodecolumnaenque
comienzaellexemaactual.

Declaraciones.
Ademásdeopciones,elprogramadorpuedeindicardeclaracionesdedostipos
áreaquenosocupa,asaber,declaracionesdeestadosléxicosydeclaracionesde reglas.

enel

Declaracionesdeestadosléxicos.
Losestadoléxicossedeclaranmediantelaopción:
%stateestado1,estado2,etc.

Declaracionesdereglas.
Encasodequeunpatrónseutilicerepetidas
vecesocuandosucomplejidad
es
elevada,esposibleasignarleunnombreyutilizarlo
posteriormenteen
cualquierotra
reglaencerrándoloentrellaves, demaneraanálogaacomoseestudióenLex.
Áreadereglas.
EláreadereglastienelamismaestructuraqueenLex,conlaúnicadiferencia de que es posible
agruparlas reglas a aplicaren un mismo estado léxico.Comoejemplo,lasreglas:
Patrón
[:jletter:]
[:jletterdigit:]
[:letter:]
[:digit:]
[:uppercase:]
[:lowercase:]

Predicadoasociado
isJavaIdentifierStart()
isJavaIdentifierPart()
isLetter()
isDigit()
isUpperCase()
isLowerCase()

FuncionesyvariablesdelaclaseYylex
Tratadefuncionesyvariablesmiembro,porloque,sisonutilizadasfueradelas
léxicas:

acciones

COMPILADORES
Boris Chungandro
Willian Gallo
PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR
SEDE SANTO DOMINGO

Yylex(Readerr):
eselconstructordelanalizadorléxico.Tomacomoparámetro
elcanaldeentradadelcualseleeránloscaracteres.
Yytokenyylex():funciónprincipalqueimplementaelanalizadorléxico.Tomalaentradadelpar
ámetroespecificadoenlallamadaalconstructordeYylex.
PuedeelevarunaexcepciónIOException,porloqueserecomiendainvocarla
enelinteriordeunasentenciatry-catch.
Stringyytext():devuelveellexemaactual.
intyylength():devuelveelnúmerodecaracteresdellexemaactual.
voidyyreset(Readerr):cierraelcanaldeentradaactualyredirigelaentrada
haciaelnuevocanal especificadocomoparámetro.
voidyypushStream(Readerr):guardaelcanal
deentradaactual
continúalalecturaporelnuevocanalespecificado.Cuandoéstefinalice
continuaráporelanterior,extrayéndolodelapila.Estafunciónesdeespecial
importanciaparaimplementarladirectiva

enunapilay

voidyypushback(intn):equivalealafunciónyyless()deLex.
yyline,yychareyycolumn:sonlasvariablesgeneradaspor lasopciones%line,
%chary%columnrespectivamente,ycomentadasenelapartado

COMPILADORES
Boris Chungandro
Willian Gallo

Más contenido relacionado

La actualidad más candente

Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
Infomania pro
 
Compilador
CompiladorCompilador
Compilador
FARIDROJAS
 
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo MinilenguajeCompiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Pedro Antonio Villalta (Pavillalta)
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
maryr_
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
Infomania pro
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladores
Sheyli Patiño
 
Clase analisis lexico
Clase analisis lexicoClase analisis lexico
Clase analisis lexico
Infomania pro
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
LAUNASA NOVENO B
 
Compiladores
CompiladoresCompiladores
Compiladores
Chocolatisima Cruperz
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
Sergio Lara Guevara
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxico
katherine133
 
Test1 de Compiladores
Test1 de CompiladoresTest1 de Compiladores
Test1 de Compiladores
Infomania pro
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladores
CJAO
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Infomania pro
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
Pedro Antonio Villalta (Pavillalta)
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
Infomania pro
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
Areli Gómez
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
ADOLFOISAIASGARCIASI
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
Guillermo
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
CJAO
 

La actualidad más candente (20)

Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Compilador
CompiladorCompilador
Compilador
 
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo MinilenguajeCompiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladores
 
Clase analisis lexico
Clase analisis lexicoClase analisis lexico
Clase analisis lexico
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxico
 
Test1 de Compiladores
Test1 de CompiladoresTest1 de Compiladores
Test1 de Compiladores
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladores
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugb
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 

Similar a Capítulo 2 compiladores (willian gallo -------boris chungandro)

diaposichap.pptx
diaposichap.pptxdiaposichap.pptx
diaposichap.pptx
LuisSimn12
 
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptxActividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
YahirSnchezDjMix
 
TALLER ANALISIS LEXICO
TALLER ANALISIS LEXICOTALLER ANALISIS LEXICO
TALLER ANALISIS LEXICO
JOSSELINEMARIBEL
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
Raul Gomez
 
investigacion.pdf
investigacion.pdfinvestigacion.pdf
investigacion.pdf
UlicesPerez1
 
lexico.pptx
lexico.pptxlexico.pptx
lexico.pptx
AhiezerMorales
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
Eraclio Castillo Vidal
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintáctico
angiepao1717
 
investigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdfinvestigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdf
juanluisSanchez19
 
Analisis lexico
Analisis lexicoAnalisis lexico
Analisis lexico
MAURICIOANDRES39
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
X3025990
 
Lenguajes y Automatas.pptx
Lenguajes y Automatas.pptxLenguajes y Automatas.pptx
Lenguajes y Automatas.pptx
danielloria1024
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
Silvestre Sosa
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
Silvestre Sosa
 
Lexicos.docx
Lexicos.docxLexicos.docx
Lexicos.docx
LuisGuillermoLpezFer
 
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptxERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
AngelesAguilar29
 
Compiladores (1) pedro vasques
Compiladores (1) pedro vasquesCompiladores (1) pedro vasques
Compiladores (1) pedro vasques
Pitter Antony Vasquez Castellanos
 
Analisis lexico automatas i
Analisis lexico automatas iAnalisis lexico automatas i
Analisis lexico automatas i
rubiyanetvalenciavelazquez
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019
DanielRosero23
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
EmanuelMuoz11
 

Similar a Capítulo 2 compiladores (willian gallo -------boris chungandro) (20)

diaposichap.pptx
diaposichap.pptxdiaposichap.pptx
diaposichap.pptx
 
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptxActividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
 
TALLER ANALISIS LEXICO
TALLER ANALISIS LEXICOTALLER ANALISIS LEXICO
TALLER ANALISIS LEXICO
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
 
investigacion.pdf
investigacion.pdfinvestigacion.pdf
investigacion.pdf
 
lexico.pptx
lexico.pptxlexico.pptx
lexico.pptx
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintáctico
 
investigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdfinvestigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdf
 
Analisis lexico
Analisis lexicoAnalisis lexico
Analisis lexico
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
 
Lenguajes y Automatas.pptx
Lenguajes y Automatas.pptxLenguajes y Automatas.pptx
Lenguajes y Automatas.pptx
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Lexicos.docx
Lexicos.docxLexicos.docx
Lexicos.docx
 
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptxERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
 
Compiladores (1) pedro vasques
Compiladores (1) pedro vasquesCompiladores (1) pedro vasques
Compiladores (1) pedro vasques
 
Analisis lexico automatas i
Analisis lexico automatas iAnalisis lexico automatas i
Analisis lexico automatas i
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 

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
 
Lex yacc
Lex yaccLex yacc
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
 
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
 
Lex yacc
Lex yaccLex yacc
Lex yacc
 
Capitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazarCapitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazar
 
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
 
PROCESOS
PROCESOSPROCESOS
PROCESOS
 

Último

mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
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
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
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
 
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
 
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
 
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
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
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
 
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
 
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
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
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
 
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
 

Último (20)

mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
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
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
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
 
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
 
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
 
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
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
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....
 
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
 
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
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
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
 
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
 

Capítulo 2 compiladores (willian gallo -------boris chungandro)

  • 1. PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR SEDE SANTO DOMINGO Capítulo 2 Análisis Lexicográfico Concepto de analizador léxico Se encarga de buscar los componentes léxicos o palabras que componen el programa fuente, según unas reglas o patrones. Funciones del analizador léxico El analizador léxico es la primera fase de un compilador. Su principal función consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis. Simplificación del diseño U n diseño sencillo es quizás la ventaja más importante. Separar el análisis léxico del análisis sintáctico a menudo permite simplificar una, otra o ambas fases. Normalmente añadir un analizador léxico permite simplificar notablemente el analizador sintáctico. Aún más, la simplificación obtenida se hace especialmente patente cuando es necesario realizar modificaciones o extensiones al lenguaje inicialmente idead o; en otras palabras, se facilita el mantenimiento del compilador a medida que el lenguaje evoluciona. Eficiencia La división entre análisis léxico y sintáctico también mejora la eficiencia del compilador. Gran parte del tiempo de compilación se invierte en leer el programa fuente y dividirlo en componentes léxicos. Con técnicas especializadas de manejo de buffers para la lectura de caracteres de entrada y procesamiento de patrones se puede mejorar significativamente el rendimiento de un compilador. Portabilidad Se mejora la portabilidad del compilador, ya que las peculiaridades del alfabeto de partida, del juego de caracteres base y otras anomalías propias de los dispositivos de entrada pueden limitarse al analizador léxico. COMPILADORES Boris Chungandro Willian Gallo
  • 2. PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR SEDE SANTO DOMINGO Token, patrón y lexema Patrón: es una expresión regular. Token: es la categoría léxica asociada a un patrón. Cada token se convierte en un número o código identificador único. En algunos casos, cada número tiene asociada información adicional necesaria para las fases posteriores de la etapa de análisis. El concepto de token coincide directamente con el concepto de terminal desde el punto de vista de la gramática utilizada por el analizador sintáctico. Lexema: Es cada secuencia de caracteres concreta que encaja con un patrón. P.ej: “8", “23" y “50" son algunos lexemas que encajan con el patrón (‘0'|’1'|’2'| ... |’9')+. E l número de lexemas que puede encajar con un patrón puede ser finito o infinito, p.ej. en el patrón ‘W ’‘H ’‘I’‘L’‘E ’ sólo encaja el lexema “W H ILE ”. El generador de analizadores lexicográficos: PCLex Enestasecciónsedescribelaherramientaactualmentemásextendida,llamada laespecificacióndeanalizadoresléxicosengeneral Lex,para Creacióndeunanalizadorléxico PCLextienesupropiolenguaje,alquellamaremos Lexyquepermiteespecificarlaestructuraabstractade unanalizadorléxico Lospasosparacrearunanalizadorléxicoconestaherramientason ConstruirunficherodetextoenlenguajeLexquecontienelaestructura abstractadelanalizador. Metacompilarelficheroanteriorcon PCLex.Asíseobtendráunfichero fuenteenCestándar.Algunasveceshayqueefectuarmodificacionesdirectas enestecódigo,aunquelasúltimasversionesdePCLexhandisminuidoal máximoestassituaciones. CompilarelfuenteenCgeneradoporPCLexconuncompiladorC,conlo queobtendremosunejecutablequesiguelospasosdescritosenelepígrafe COMPILADORES Boris Chungandro Willian Gallo
  • 3. PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR SEDE SANTO DOMINGO Premisas deLexparareconocerlexemas Elyylex()generadoporPCLexsiguedosdirectricesfundamentalespara reconocer lexemas en caso de ambigüedad. Estas directrices son, por orden de prioridad: 1. Entrarsiempreporel patrónquereconoceellexemamáslargoposible. 2. Encasodeconflictousaelpatrónqueapareceenprimeraposición. CcaracteresespecialesdeLex Sirveparaencerrarcualquiercadenadeliterales. Haceliteralalsiguientecarácter.Ej.:”reconoceunascomillas. Tambiénse utilizaparaexpresar aquelloscaracteres quenotienenrepresentacióndirecta porpantalla:nparaelretornodecarro, Caracteresdesensibilidadalcontexto Lexsuministraciertascapacidades parareconocer patronesquenoseajustan aunaexpresiónregular,sinomásbienaunagramáticadecontextolibre Estadoléxicos Losestadosléxicosvienenasercomovariableslógicasexcluyentesquesirvenparaindicar queunpatrónsólopuede aplicarsesielestadoléxicoquellevaasociadoseencuentra activado ElgeneradordeanalizadoreslexicográficosJFlex JFlexesungeneradordeanalizadoreslexicográficosdesarrolladoporGerwin Klein extensión a la herramienta JLexdesarrollada en la Universidad de Princeton. JFlexestádesarrolladoenJavaygeneracódigoJava. como LosprogramasescritosparaJFlextienenunformatoparecidoalosescritos enPCLex;dehechotodoslospatronesregularesadmisiblesenLextambiénson admitidosporJFlex,porloqueenesteapartadonoscentraremostansóloenlas diferenciasyextensiones, tantodepatronescomodel esqueletoquedebeposeer el ficherodeentradaaJFlex. COMPILADORES Boris Chungandro Willian Gallo
  • 4. PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR SEDE SANTO DOMINGO Áreade opciones y declaraciones Esteárea permite indicar a JFlexuna serie de opcionespara adaptar el fichero .java resultante de la meta-compilación y que será el que implemente nuestro analizadorlexicográficoen Java.También permiteasociarun identificadordeusuario alospatronesmásutilizadoseneláreadereglas. Opciones Lasopcionesmásinteresantessepuedenclasificarenopcionesdeclase,de la funcióndeanálisis, defindefichero,dejuegodecaracteresydecontadores.Todas ellasempiezanporelcarácter%ynopuedenestarprecedidaspornadaenlalíneaen queaparecen. Opcionesdeclase Lasopcionesdeclasemásútilesson: %classnombreClase.Pordefecto,laclaseque elanalizadorlexicográficosellamaYylex. generaJFlexyqueimplementa %implementsinterface1,interface2,etc.Elprogramadordeberáintroducirlos métodosnecesariosparahacerefectivadichaimplementación. %extendsnombreClase.Generaunaclasequeheredadelaclaseindicada. %public.Generaunaclasepública. %final.Generaunaclasefinal,delaquenadiepodráheredar. %abstract.Generaunaclaseabstractadelaquenosepuedencrearobjetos. COMPILADORES Boris Chungandro Willian Gallo
  • 5. PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR SEDE SANTO DOMINGO %{ bloqueJava%}.El declaracionesymétodos programador también puede incluir sus propias %init{códigoJava%init}.Esposibleincluircódigoenel constructorgenerado automáticamente por JFlexpara la clase Yylexmediante el uso de esta opción. Opcionesdelafuncióndeanálisis Estasopcionespermitenmodificarel métodoofunciónencargadade análisislexicográficoensí.Lasopcionesmásútilesson: realizar el %functionnombreFuncionAnalizadora.Estaopción permitecambiardenombrealafunciónyylex(). %int.Hacequelafunciónyylex()devuelvavaloresdetipointenlugarde Yytoken. %intwrap.Hacequelafunciónyylex()devuelvavaloresdetipoIntegeren lugardeYytoken. %typenombreTipo.Hacequelafunciónyylex()devuelvavaloresdeltipo especificado(yaseaprimitivoono)enlugardeYytoken Opcionesdejuegodecaracteres Estasopcionespermitenespecificareljuegodecaracteresenelqueestará codificadalaentradaalanalizadorlexicográficogeneradoporJFlex %7bit.Eslaopciónpordefecto,yasumequecadacarácterdelaentradaestá formadoporunúnicobytecuyobitmássignificativoes0,loqueda128 caracteres. %8bit.Asumequecadacarácterestáformadoporunbytecompleto,loqueda 256caracteres. %unicode.AsumequelaentradaestaráformadaporcaracteresUnicode.Estono quieredecirquesetomendosbytesdelaentradaporcadacaráctersinoque larecuperacióndecaracteressedejarecaerenlaplataformasobrelaquese ejecutayylex(). %ignorecase.Hace que yylex()ignore entremayúsculas yminúsculas mediante el usodelosmétodostoUpperCaseytoLowerCasedelaclaseCharacter. COMPILADORES Boris Chungandro Willian Gallo
  • 6. PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR SEDE SANTO DOMINGO Opcionesdecontadores %char.Almacenaenlavariableyycharelnúmerodecaracteresquehayentre elcomienzodelcanaldeentradayelcomienzodellexemaactual. %line.Almacenaenlavariableyylineelnúmerodelíneaenquecomienzael lexemaactual. %column.Almacenaenlavariableyycolumnelnúmerodecolumnaenque comienzaellexemaactual. Declaraciones. Ademásdeopciones,elprogramadorpuedeindicardeclaracionesdedostipos áreaquenosocupa,asaber,declaracionesdeestadosléxicosydeclaracionesde reglas. enel Declaracionesdeestadosléxicos. Losestadoléxicossedeclaranmediantelaopción: %stateestado1,estado2,etc. Declaracionesdereglas. Encasodequeunpatrónseutilicerepetidas vecesocuandosucomplejidad es elevada,esposibleasignarleunnombreyutilizarlo posteriormenteen cualquierotra reglaencerrándoloentrellaves, demaneraanálogaacomoseestudióenLex. Áreadereglas. EláreadereglastienelamismaestructuraqueenLex,conlaúnicadiferencia de que es posible agruparlas reglas a aplicaren un mismo estado léxico.Comoejemplo,lasreglas: Patrón [:jletter:] [:jletterdigit:] [:letter:] [:digit:] [:uppercase:] [:lowercase:] Predicadoasociado isJavaIdentifierStart() isJavaIdentifierPart() isLetter() isDigit() isUpperCase() isLowerCase() FuncionesyvariablesdelaclaseYylex Tratadefuncionesyvariablesmiembro,porloque,sisonutilizadasfueradelas léxicas: acciones COMPILADORES Boris Chungandro Willian Gallo
  • 7. PONTIFICIA UNIVERSISDA CATOLICA DEL ECUADOR SEDE SANTO DOMINGO Yylex(Readerr): eselconstructordelanalizadorléxico.Tomacomoparámetro elcanaldeentradadelcualseleeránloscaracteres. Yytokenyylex():funciónprincipalqueimplementaelanalizadorléxico.Tomalaentradadelpar ámetroespecificadoenlallamadaalconstructordeYylex. PuedeelevarunaexcepciónIOException,porloqueserecomiendainvocarla enelinteriordeunasentenciatry-catch. Stringyytext():devuelveellexemaactual. intyylength():devuelveelnúmerodecaracteresdellexemaactual. voidyyreset(Readerr):cierraelcanaldeentradaactualyredirigelaentrada haciaelnuevocanal especificadocomoparámetro. voidyypushStream(Readerr):guardaelcanal deentradaactual continúalalecturaporelnuevocanalespecificado.Cuandoéstefinalice continuaráporelanterior,extrayéndolodelapila.Estafunciónesdeespecial importanciaparaimplementarladirectiva enunapilay voidyypushback(intn):equivalealafunciónyyless()deLex. yyline,yychareyycolumn:sonlasvariablesgeneradaspor lasopciones%line, %chary%columnrespectivamente,ycomentadasenelapartado COMPILADORES Boris Chungandro Willian Gallo