UNIVERSIDAD PARTICULAR DE CHICLAYO FACULTAD DE CIENCIAS EMPRESARIALES INFORMATICA Y DE SISTEMAS
FACEIS ESCUELA PROFESIONAL DE INGENIERIA INFORMATICA Y DE SISTEMAS
CURSO: COMPILADORES E INTÉRPRETES TEMA: TRABAJO EN EQUIPO Y VISION COMPARTIDA DOCENTE: ING. CARLOS RIOS CAMPOS
ALUMNOS: HEREDIA CABANILLAS, KAREN TATIANA CAMACHO PORTALES, RUBI YOVANA GALLARDO DELGADO, EDGAR DANIEL OBLITAS OBLITAS JJIMENEZ, IMENEZ, JOSE MIGUEL
Chi!"#$ %& '( )"*+$ '(! %-& COMPONENTES LÉICOS, PATRONES Y LEEMAS
En la fase de análisis, los términos componentes léxicos (token), patrón y lexema se emplean con significados específicos. Un analizador léxico, inicialmente lee los lexemas y le asigna un significado propio.
-. DEFINICI/N
C$)0$1(12( !34i$
Es la secuencia lógica y coerente de caracteres relati!o a una categoría" identificador, pala#ra reser!ada, literales (cadena$numérica), operador o carácter de puntuación, además de %ue un componente léxico puede tener uno o !arios lexemas.
P"2*51 Es una regla %ue genera la secuencia de caracteres %ue puede representar a un determinado componente léxico (expresión regular).
&egla %ue descri#e el con'unto de lexemas %ue pueden representar a un determinado componente léxico en los programas fuente. En otras pala#ras, es la descripción del componente léxico mediante una regla
L(4()" Es una cadena de caracteres %ue concuerda con un patrón %ue descri#e un componente léxico (!alor de cadena).
E6()0!$ de una cadena de código" const pi = 3.1416;
El analizador léxico recoge información so#re los componentes léxicos en sus atri#utos asociados. os tokens influyen en las decisiones del análisis sintáctico, y los atri#utos, en la traducción de los tokens. En la práctica los componentes léxicos suelen tener solo un atri#uto.
+i'(12i9i"'$*, "2*i;2$ 0"*" (! <=)$!$
E>
?$0@" ara efectos de diagnóstico, puede considerarse tanto el lexema para un identificador como el n*mero de <=)$!$ M> línea en el %ue ?I'(12i9i"'$*, se encontró por"2*i;2$ primera0"*" !ez.(!Esta información puede ser almacenada en la ta#la de ?$0@);!2i0!i"> sím#olos para el identificador (estructura de datos). ?i'(12i9i"'$*, "0;12"'$* "! <=)$!$ C> ara la cadena E7M8C88 de e'emplo, los componentes léxicos y los !alores de atri#uto asociado son" ?$0@(40$1(12(> ?1)(*$, "2*i;2$ "!$* >
ome en cuenta %ue ciertas pare'as no necesitan un !alor de atri#uto. os atri#utos relacionados con ese token de#erán ser conser!ados y transferidos a alguna estructura de datos para %ue sean empleados en las siguientes etapas del análisis
P"2*51: es una expresión regular.
Token: es la categoría léxica asociada a un patrón. -ada
Token
se con!ierte 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 !ista de la gramática utilizada por el analizador sintáctico.
L(4()": Es cada secuencia de caracteres concreta %ue enca'a con un patrón. .e'" /0, 120 y 340 son algunos lexemas %ue enca'an con el patrón (546789678167 ... 78:6);. El n*mero de lexemas %ue puede enca'ar con un patrón puede ser finito o infinito, p.e'. en el patrón 5<85=85>8585E8 sólo enca'a el lexema <=>E?.
Una !ez detectado %ue un grupo de caracteres coincide con un patrón, se considera %ue se a detectado un lexema. @ continuación se le asocia el n*mero de su categoría léxica, y dico n*mero o
token
se le pasa al
sintáctico 'unto con información adicional, si fuera necesario.
P$* (6()0!$, si se necesita construir un analizador léxico %ue reconozca los n*meros enteros, los n*meros reales y los identificadores de usuario en min*sculas, se puede proponer una estructura como"
. E<0(i9i"i$1(< '( $)0$1(12(< !34i$< as expresiones regulares son una notación importante para especificar patrones. -ada patrón concuerda con una serie de cadenas %ue, de modo %ue las expresiones regulares ser!irán como nom#res para con'untos de cadenas.
El término alfa#eto denota cual%uier con'unto finito de sím#olos, por e'emplo el alfa#eto #inario A4, 9B. Una cadena es una secuencia de finita de sím#olos de un alfa#eto y un lengua'e se refiere a con'unto de cadenas de un alfa#eto fi'o.
.-.
E40*(
El origen de las expresiones regulares surge de la teoría de autómatas y la teoría de lengua'es formales, am#as parte de las ciencias computacionales teórica. Este campo estudia los modelos computacionales (autómata) y la manera de descri#ir y clasificar los lengua'es formales. Un lengua'e formal puede ser especificado de !arias maneras, tales como"
-adenas producidas por alguna gramática formal. -adenas producidas por expresiones regulares. -adenas aceptadas por algunos autómatas tales como las má%uinas de uring o autómatas de estado finito.
@ las expresiones regulares frecuentemente se les llaman patrones, ya %ue son expresiones %ue descri#en a un con'unto de cadenas. Crecuentemente son usadas para dar una descripción concisa de un con'unto, sin tener %ue listar todos sus elementos.
as expresiones regulares pueden ser expresadas en términos de la teoría de lengua'es formales. -onsisten de constantes y operadores %ue denotan el con'unto de cadenas y operaciones so#re estos con'untos, respecti!amente. Dado un alfa#eto las siguientes constantes son definidas"
-on'unto !acío" ( ∅∅∅∅) denota el con'unto A B -adena !acía" ( F) denota el con'unto A FB -arácter del alfa#eto" ( a ), a elemento de denota el con'unto A a? B
..
R($1$i)i(12$ '( $)0$1(12(< !34i$
Un reconocedor de lengua'es es un programa %ue toma como entrada una cadena 4 e indica si dica cadena pertenece a una frase del programa. Ge compila una
expresión regular en un reconocedor construyendo un
diagrama de transiciones generalizado llamado autómata finito.
Un autómata finito puede ser determinista o no determinista, dependiendo del n*mero de transiciones para un mismo sím#olo de entrada. anto los autómatas finitos deterministas como los no deterministas pueden reconocer con precisión a los con'untos regulares. or tanto, am#os pueden reconocer con precisión lo %ue denotan las expresiones regulares.
LINKOGRAFIA
ttp"$$compiladorsistemas.#logspot.com$1494$99$lexemasHpatronesHyHtokens.tml ttp"$$III.paginasprodigy.com$edserna$cursos$compilador$notas$Jotas1.pdf ttps"$$es.scri#d.com$doc$19:K2L/9M$3H1H-omponentesHexicosHatronesHyHexemas