SlideShare una empresa de Scribd logo
Teoría de Autómatas y
    Compiladores

      Germania Rodríguez
     grrodriguez@utpl.edu.ec
Análisis Léxico
Programa   Análisis   Tokens
 Fuente    Léxico
Análisis Léxico
Función principal leer el programa fuente como
  un archivo de caracteres y dividirlo en tokens
Caso especial de coincidencia de patrones, que
 necesita métodos de reconocimiento de
 patrones que son principalmente expresiones
 regulares y autómatas finitos.
El proceso de análisis léxico
Patrón: Regla que describe los lexemas que
 producirán los tokens.
To k e n s : S e c u e n c i a d e c a r a c t e r e s q u e
  representa una unidad de información en el
  programa fuente. Categorías: palabras
  reservadas, identificadores, símbolos
  especiale
Lexema: cadena de caracteres que se ajustan a
  un patrón, representada por un token. Ejm: IF,
  WHILE, a1, *, +
El proceso de análisis léxico
Atributo: Valor asociado al token. Ejm:
Registro de token: Recolección de atributos
 datos estructurados.




El analizador léxico funciona bajo el control
  de analizador sintáctico.
Otras funciones de análisis léxico
•  Eliminar comentarios
•  Elimina aquellos caracteres o sentencias que
   carecen de sentido para el Lenguaje
•  Reconoce identificadores de usuario,
   números, palabras reservadas.
•  Reporta errores léxicos
•  Lleva la cuenta del número de líneas
   analizadas para reportar los errores.
Ejemplo:
•  getToken
a[index] = 4 + 2
Componentes Léxicos
                    Alfabetos
•  Conjunto finito no vacío de símbolos sobre
   el que se puede generar cadenas y
   posteriormente Lenguajes
  Latino = {a, b, c, d, e, f, …….z}
  Binario = {0,1}
Cadenas
Combinación, secuencia, concatenación de
 símbolos basados de un alfabeto; cadena
 nula, prefijos, sufijos.
EJM: casa, 01001
Operaciones:
  – Longitud
  – Concatenación
Lenguaje
•  Conjunto de palabras formadas sobre un
   alfabeto
  – Castellano
•  Restricciones: palabras que no forman
   parte del Lenguaje, que no están
   conceptualizadas.
  – Ejm: abcam
Operaciones Lenguaje
•  Dado que un Lenguaje es un conjunto, es
   aplicable todas las operaciones entre
   conjuntos
  – Unión
  – Intersección
  – Diferencia
  – Complemento
  – Potencia o partes
Cada una con sus propiedades de las
 operaciones
Operaciones Lenguaje
•  Y algunas propias
  – Concatenación
     L1 L2
  – Estrella Kleene *
     L* = { } U L U LL U LLL
  –  Cierre transitivo +
     L+ = L U LL U LLL


Técnicas de Demostración
  – Demostración por inducción
Gramática
•  Mecanismo para generar las cadenas que
   pertenecen a un lenguaje, a la vez define
   un conjunto finito de reglas que aplicadas a
   un estado inicial, son capaces de generar
   todas sus cadenas.
                    G={ A, T, P, S}
  A = símbolos auxiliares
  T= símbolos terminales
  P= producciones - pares (antecedente,
    consecuente)
  S= símbolo inicial de la gramática
Expresión Regular
•  Notación que representan de forma abreviada
   y precisa las cadenas que pertenecen a un
   lenguaje, denominadas token.
•  Esta formada por los caracteres del alfabeto y
   metacaracteres que denotan operaciones
   definidas.
•  Al conjunto de cadenas con las que
   concuerdan con la expresión regular r se
   denominado Lenguaje L(r)
Expresiones Regulares
•  Básicas: Representan caracteres simples del
   alfabeto que corresponden a si mismos
  Ejm: L(a) = {a}
•  Vacía: La cadena que no corresponde a
   ningun carácter
  L(E) = E
•  Conjunto vacío: No contiene ninguna
   cadena.
  L(o) = { }
Operaciones Expresiones Regulares
 •  Selección:
 Si r y s son expresiones regulares, la selección
    se denota r|s y se define por cualquier cadena
    que concuerda con r o s
 En términos de lenguaje L(r|s) = L(r) U L(s)
 La selección se puede extender a más de
   dos alternativas L(a|b|c|d) = {a,b,c,d}
Operaciones Expresiones Regulares
 •  Concatenación:
 Consiste en la yuxtaposición de los caracteres
    sin un carácter intermedio.
 La concatenación de las expresiones regulares
    r y s se denota rs
 En términos de lenguaje L(rs) = L(r)L(s)
 La concatenación tambien se puede
  extender a más de dos expresiones
  regulares.
Operaciones Expresiones Regulares
 •  Repetición:
 Denominada tambien cerradura de Kleene, se
    denota r* donde r es una expresión regular y
    corresponde a cualquier concatenación finita
    de las cadenas r así
              r* = { } U r U rr U rrr U ….
Precedencia de operaciones
1.  Repetición
2.  Concatenación
3.  Selección de alternativas
Cuando la precedencia es diferente, debemos
    usar paréntesis para denotarlo.
Extensiones expresiones regulares
•  Una o más repeticiones:
   Tambien conocida como cerradura positiva es una
     variante de la cerradura Kleene que indica cero o más
     repeticiones, se denota con + y equivale una o más
     repeticiones
      Ejm: (0|1)+
•  Cualquier carácter:
   Se denota con el metacaracter . y equivale a que puede
     ser reemplazado con cuanquier carácter del alfabeto
   Ejm: .*1.* (todas las cadenas que contengan al menos un 1)
•  Intervalo:
   Se denota con corchetes y un guión Ejm: [a-z]
Extensiones expresiones regulares
•  Cualquier carácter que no este en el
   conjunto
  Se denota con la el metacaracter -, significa que
    no incluya el o las expresiones regulares
    afectadas.
  Ejm: - (a|c)
•  Subexpresión opcional
  Metacaracter ? Indica la opcionalida de cadenas
    que pueden o no aparecer
  Ejm: (+|-)? dígito
Bibliografía
•  Kenneth C. Louden, Construccion de Compiladores
   Principios Y Práctica
•  Universidad Jaume, Open Course Ware –II20 Teoría de
   autómatas y lenguajes formales en: http://e-ujier.uji.es/pls/
   w w w / ! g r i _ w w w . e u j i 2 2 1 0 1 ?
   p_id=7&p_tipo=A&p_curso=II20&p_idioma=ES
•  http://www.slideshare.net/perlallamas/analisis-lexico-2
•  http://www.slideshare.net/felipeiluminati/expresiones-regulares

Más contenido relacionado

PDF
Planta externa
PDF
3.1.- Tipo de Datos
PPTX
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
PPTX
Gramática Libre de Contexto
DOCX
Simulación - Algoritmo de productos medios
PDF
Paradigmas de ingenieria del software
PPTX
Estandar 802.3
PPTX
Ordenamientos burbuja e inserción
Planta externa
3.1.- Tipo de Datos
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
Gramática Libre de Contexto
Simulación - Algoritmo de productos medios
Paradigmas de ingenieria del software
Estandar 802.3
Ordenamientos burbuja e inserción

La actualidad más candente (20)

PDF
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
PDF
Automatas y compiladores clase1
PPTX
Combinacion de consultas y consultas multitablas
PDF
Automatas y compiladores clase3
PPT
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
PDF
Nortel manual
PDF
Analizador Léxico en C++
PPTX
Equivalencia de autómatas finitos y expresiones regulares.
PPT
Ensamblador y enlazador
PPT
Automatas finitos
PPTX
Estandar IEEE 802
PPT
Algebra relacional
PPT
Jerarquia de chomsky
PPTX
Autómatas de Pila
PDF
Lenguajes autómatas.
DOCX
Lenguajes libre de contexto
PDF
T computacion rodrigo de castro
PDF
Diagramas de Flujos de Datos
PPTX
Registro de banderas y alu
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Automatas y compiladores clase1
Combinacion de consultas y consultas multitablas
Automatas y compiladores clase3
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Nortel manual
Analizador Léxico en C++
Equivalencia de autómatas finitos y expresiones regulares.
Ensamblador y enlazador
Automatas finitos
Estandar IEEE 802
Algebra relacional
Jerarquia de chomsky
Autómatas de Pila
Lenguajes autómatas.
Lenguajes libre de contexto
T computacion rodrigo de castro
Diagramas de Flujos de Datos
Registro de banderas y alu
Publicidad

Destacado (20)

PDF
Automatas y compiladores clase4
PDF
Automatas y compiladores tablas de transición análisis léxico
PPTX
Presentación ddi 2012 proyecto cepra
PDF
2...2 expresiones regulares, cerradura, fractales, automata
PDF
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
PPT
Expresiones Regulares
PDF
Alfabeto, Cadenas, Lenguajes, y Problemas
PDF
ESPRESIONES REGULARES
PPT
Operaciones entre lenguajes
PPT
Proceso de Compilacion
PDF
Tema 11 expresiones regulares en java por gio
PPT
Analisis Lexico
PDF
Expresiones regulares
PDF
Sintaxis en java
PPT
Analisis lexico 2
PPT
Automatas de pila_no_det
PDF
Alfabetos-Lenguajes y Automatas 1
PPTX
Lenguajes regulares
PDF
Tabla De Transicion
Automatas y compiladores clase4
Automatas y compiladores tablas de transición análisis léxico
Presentación ddi 2012 proyecto cepra
2...2 expresiones regulares, cerradura, fractales, automata
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Expresiones Regulares
Alfabeto, Cadenas, Lenguajes, y Problemas
ESPRESIONES REGULARES
Operaciones entre lenguajes
Proceso de Compilacion
Tema 11 expresiones regulares en java por gio
Analisis Lexico
Expresiones regulares
Sintaxis en java
Analisis lexico 2
Automatas de pila_no_det
Alfabetos-Lenguajes y Automatas 1
Lenguajes regulares
Tabla De Transicion
Publicidad

Similar a Automatas y compiladores clase2 (20)

PPT
AnáLisis LéXico
PDF
Lenguajes formales y teoría de autómatas I.pdf
PPT
Analizador LÉxico
PDF
Compiladores, Analisis Lexico Conceptos
PPT
Claselexico
PPTX
Compilador2
PPTX
Expresiones Regulares de automatas .pptx
PDF
301405_56090291.pdf automasta y lenguajes
PPT
Analisis lexico 1
PDF
PRESENTACION. CfdggdgfddfdfdONCEPTOS BÁSICOS.pdf
PDF
Apuntes compiladores
PPTX
Teoria-de-Lenguajes en la programación.pptx
PPTX
Representaciones estructurales
PDF
S03.s1 - Material.pdf
DOC
Expresiones regulares fin
PDF
Clase6 conceptos del analisis lexico
PPSX
Análisis lexicográfico
PDF
Unidad4 analisis-semantico
PPTX
Autómatas Finitos, Deterministas y no Deterministas
PPT
Compiladores1
AnáLisis LéXico
Lenguajes formales y teoría de autómatas I.pdf
Analizador LÉxico
Compiladores, Analisis Lexico Conceptos
Claselexico
Compilador2
Expresiones Regulares de automatas .pptx
301405_56090291.pdf automasta y lenguajes
Analisis lexico 1
PRESENTACION. CfdggdgfddfdfdONCEPTOS BÁSICOS.pdf
Apuntes compiladores
Teoria-de-Lenguajes en la programación.pptx
Representaciones estructurales
S03.s1 - Material.pdf
Expresiones regulares fin
Clase6 conceptos del analisis lexico
Análisis lexicográfico
Unidad4 analisis-semantico
Autómatas Finitos, Deterministas y no Deterministas
Compiladores1

Más de Germania Rodriguez (20)

PDF
Gestión de proyectos PMBok
PDF
Introducción gestión de proyectos informáticos
PDF
Tecnologías sociales para OCW
PDF
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
PDF
Gestión de ti arquitectura empresarial
PDF
Gestión de ti introduccion cobit itil pmi
PPTX
Presentación Open Day Oportunidad UTPL
PDF
Automatas y compiladores analisis sintactico
PDF
Arquitectura aplicaciones Patrones de diseño
PDF
Arquitectura aplicaciones clase3
PDF
Arquitectura aplicaciones clase2
PPTX
Si nueva economia junio 2010
PPT
Sociedad de información evolucion ti
PPT
IntroduccióN Sociedad De InformacióN
PDF
Fotos Naturaleza Grrodriguez
PPT
Gestion del conocimiento caso UTPL
PPT
Manual GestióN Cuentas Institucionales Utpl En La Web
PPT
Sociedad De La InformacióN Ecuador Y Latinoamerica
PPT
Workshop RRPP 2.0
PPT
Social Networks and OERs
Gestión de proyectos PMBok
Introducción gestión de proyectos informáticos
Tecnologías sociales para OCW
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial
Gestión de ti introduccion cobit itil pmi
Presentación Open Day Oportunidad UTPL
Automatas y compiladores analisis sintactico
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase2
Si nueva economia junio 2010
Sociedad de información evolucion ti
IntroduccióN Sociedad De InformacióN
Fotos Naturaleza Grrodriguez
Gestion del conocimiento caso UTPL
Manual GestióN Cuentas Institucionales Utpl En La Web
Sociedad De La InformacióN Ecuador Y Latinoamerica
Workshop RRPP 2.0
Social Networks and OERs

Último (20)

PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Punto Critico - Brian Tracy Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Fundamentos_Educacion_a_Distancia_ABC.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Escuelas Desarmando una mirada subjetiva a la educación
Tarea De El Colegio Coding For Kids 1 y 2

Automatas y compiladores clase2

  • 1. Teoría de Autómatas y Compiladores Germania Rodríguez grrodriguez@utpl.edu.ec
  • 3. Programa Análisis Tokens Fuente Léxico
  • 4. Análisis Léxico Función principal leer el programa fuente como un archivo de caracteres y dividirlo en tokens Caso especial de coincidencia de patrones, que necesita métodos de reconocimiento de patrones que son principalmente expresiones regulares y autómatas finitos.
  • 5. El proceso de análisis léxico Patrón: Regla que describe los lexemas que producirán los tokens. To k e n s : S e c u e n c i a d e c a r a c t e r e s q u e representa una unidad de información en el programa fuente. Categorías: palabras reservadas, identificadores, símbolos especiale Lexema: cadena de caracteres que se ajustan a un patrón, representada por un token. Ejm: IF, WHILE, a1, *, +
  • 6. El proceso de análisis léxico Atributo: Valor asociado al token. Ejm: Registro de token: Recolección de atributos datos estructurados. El analizador léxico funciona bajo el control de analizador sintáctico.
  • 7. Otras funciones de análisis léxico •  Eliminar comentarios •  Elimina aquellos caracteres o sentencias que carecen de sentido para el Lenguaje •  Reconoce identificadores de usuario, números, palabras reservadas. •  Reporta errores léxicos •  Lleva la cuenta del número de líneas analizadas para reportar los errores.
  • 9. Componentes Léxicos Alfabetos •  Conjunto finito no vacío de símbolos sobre el que se puede generar cadenas y posteriormente Lenguajes Latino = {a, b, c, d, e, f, …….z} Binario = {0,1}
  • 10. Cadenas Combinación, secuencia, concatenación de símbolos basados de un alfabeto; cadena nula, prefijos, sufijos. EJM: casa, 01001 Operaciones: – Longitud – Concatenación
  • 11. Lenguaje •  Conjunto de palabras formadas sobre un alfabeto – Castellano •  Restricciones: palabras que no forman parte del Lenguaje, que no están conceptualizadas. – Ejm: abcam
  • 12. Operaciones Lenguaje •  Dado que un Lenguaje es un conjunto, es aplicable todas las operaciones entre conjuntos – Unión – Intersección – Diferencia – Complemento – Potencia o partes Cada una con sus propiedades de las operaciones
  • 13. Operaciones Lenguaje •  Y algunas propias – Concatenación L1 L2 – Estrella Kleene * L* = { } U L U LL U LLL –  Cierre transitivo + L+ = L U LL U LLL Técnicas de Demostración – Demostración por inducción
  • 14. Gramática •  Mecanismo para generar las cadenas que pertenecen a un lenguaje, a la vez define un conjunto finito de reglas que aplicadas a un estado inicial, son capaces de generar todas sus cadenas. G={ A, T, P, S} A = símbolos auxiliares T= símbolos terminales P= producciones - pares (antecedente, consecuente) S= símbolo inicial de la gramática
  • 15. Expresión Regular •  Notación que representan de forma abreviada y precisa las cadenas que pertenecen a un lenguaje, denominadas token. •  Esta formada por los caracteres del alfabeto y metacaracteres que denotan operaciones definidas. •  Al conjunto de cadenas con las que concuerdan con la expresión regular r se denominado Lenguaje L(r)
  • 16. Expresiones Regulares •  Básicas: Representan caracteres simples del alfabeto que corresponden a si mismos Ejm: L(a) = {a} •  Vacía: La cadena que no corresponde a ningun carácter L(E) = E •  Conjunto vacío: No contiene ninguna cadena. L(o) = { }
  • 17. Operaciones Expresiones Regulares •  Selección: Si r y s son expresiones regulares, la selección se denota r|s y se define por cualquier cadena que concuerda con r o s En términos de lenguaje L(r|s) = L(r) U L(s) La selección se puede extender a más de dos alternativas L(a|b|c|d) = {a,b,c,d}
  • 18. Operaciones Expresiones Regulares •  Concatenación: Consiste en la yuxtaposición de los caracteres sin un carácter intermedio. La concatenación de las expresiones regulares r y s se denota rs En términos de lenguaje L(rs) = L(r)L(s) La concatenación tambien se puede extender a más de dos expresiones regulares.
  • 19. Operaciones Expresiones Regulares •  Repetición: Denominada tambien cerradura de Kleene, se denota r* donde r es una expresión regular y corresponde a cualquier concatenación finita de las cadenas r así r* = { } U r U rr U rrr U ….
  • 20. Precedencia de operaciones 1.  Repetición 2.  Concatenación 3.  Selección de alternativas Cuando la precedencia es diferente, debemos usar paréntesis para denotarlo.
  • 21. Extensiones expresiones regulares •  Una o más repeticiones: Tambien conocida como cerradura positiva es una variante de la cerradura Kleene que indica cero o más repeticiones, se denota con + y equivale una o más repeticiones Ejm: (0|1)+ •  Cualquier carácter: Se denota con el metacaracter . y equivale a que puede ser reemplazado con cuanquier carácter del alfabeto Ejm: .*1.* (todas las cadenas que contengan al menos un 1) •  Intervalo: Se denota con corchetes y un guión Ejm: [a-z]
  • 22. Extensiones expresiones regulares •  Cualquier carácter que no este en el conjunto Se denota con la el metacaracter -, significa que no incluya el o las expresiones regulares afectadas. Ejm: - (a|c) •  Subexpresión opcional Metacaracter ? Indica la opcionalida de cadenas que pueden o no aparecer Ejm: (+|-)? dígito
  • 23. Bibliografía •  Kenneth C. Louden, Construccion de Compiladores Principios Y Práctica •  Universidad Jaume, Open Course Ware –II20 Teoría de autómatas y lenguajes formales en: http://e-ujier.uji.es/pls/ w w w / ! g r i _ w w w . e u j i 2 2 1 0 1 ? p_id=7&p_tipo=A&p_curso=II20&p_idioma=ES •  http://www.slideshare.net/perlallamas/analisis-lexico-2 •  http://www.slideshare.net/felipeiluminati/expresiones-regulares