Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abril, 2020
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Outline
1 Introducción
2 Tokens
3 Errores léxicos
5 Expresiones Regulares
7 Elementos punteados
8 Minimización de un AFD
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Sección 1 Introducción
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
Análisis Sintáctico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
next token
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
Programa Fuente
next token
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
next token
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
next token
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
next token
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
next token
Tabla de Sı́mbolos
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Funcionamiento
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Sección 2 Tokens
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Tokens
Definición
Token
1 Un token es la unidad mı́nima de información que
tiene significado para un lenguaje de programación.
2 Se compone de una clase léxica y un valor opcional.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Tokens
Definición
Token
1 Un token es la unidad mı́nima de información que
tiene significado para un lenguaje de programación.
2 Se compone de una clase léxica y un valor opcional.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Tokens
Definición
Token
1 Un token es la unidad mı́nima de información que
tiene significado para un lenguaje de programación.
2 Se compone de una clase léxica y un valor opcional.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Clases Léxicas
Clase Léxica
Es un conjunto que sirve para agrupar los tokens de los
lenguajes de programación.
1 Palabras Reservadas.
2 Identificadores.
3 Operadores(Ya sea de forma individual o por
subclases).
4 Constantes Numéricas.
5 Constantes de cadenas o caracteres.
6 Signos especiales o de puntuación.
7 Espacios en blanco.
8 Comentarios.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Ejemplo de Análisis Léxico
Programa fuente:
a = ( x + y) * z;
Salida:
< ID, apuntador a la tabla de sı́mbolos para a >
< operador de asignación >
< paréntesis que abre >
< ID, apuntador a la tabla de sı́mbolos para x >
< operador suma >
< ID, apuntador a la tabla de sı́mbolos para y >
< paréntesis que cierra >
< operador de multiplicación >
< ID, apuntador a la tabla de sı́mbolos para z >
< punto y coma >
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Error Léxico
Un error léxico es cualquier lexema que no puede ser
asociado a alguna de las expresiones regulares que
definen los tokens del lenguaje de programación.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Ejemplo
Identificadores mal construidos.
Identificadores que exceden la longitud máxima
definida.
Constantes numéricas o de caracteres mal
construidas.
Números que exceden el rango (Máximo o mı́nimo).
Caracteres extraños no definidos por el lenguaje.
Palabras reservadas mal escritas.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Ejemplo
Identificadores mal construidos.
Identificadores que exceden la longitud máxima
definida.
Constantes numéricas o de caracteres mal
construidas.
Números que exceden el rango (Máximo o mı́nimo).
Caracteres extraños no definidos por el lenguaje.
Palabras reservadas mal escritas.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Ejemplo
Identificadores mal construidos.
Identificadores que exceden la longitud máxima
definida.
Constantes numéricas o de caracteres mal
construidas.
Números que exceden el rango (Máximo o mı́nimo).
Caracteres extraños no definidos por el lenguaje.
Palabras reservadas mal escritas.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Ejemplo
Identificadores mal construidos.
Identificadores que exceden la longitud máxima
definida.
Constantes numéricas o de caracteres mal
construidas.
Números que exceden el rango (Máximo o mı́nimo).
Caracteres extraños no definidos por el lenguaje.
Palabras reservadas mal escritas.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Ejemplo
Identificadores mal construidos.
Identificadores que exceden la longitud máxima
definida.
Constantes numéricas o de caracteres mal
construidas.
Números que exceden el rango (Máximo o mı́nimo).
Caracteres extraños no definidos por el lenguaje.
Palabras reservadas mal escritas.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Ejemplo
Identificadores mal construidos.
Identificadores que exceden la longitud máxima
definida.
Constantes numéricas o de caracteres mal
construidas.
Números que exceden el rango (Máximo o mı́nimo).
Caracteres extraños no definidos por el lenguaje.
Palabras reservadas mal escritas.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Errores Léxicos
Ejemplo
Identificadores mal construidos.
Identificadores que exceden la longitud máxima
definida.
Constantes numéricas o de caracteres mal
construidas.
Números que exceden el rango (Máximo o mı́nimo).
Caracteres extraños no definidos por el lenguaje.
Palabras reservadas mal escritas.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Recuperación de errores
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Recuperación de errores
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Recuperación de errores
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Recuperación de errores
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Recuperación de errores
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Recuperación de errores
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Construcción de un Analizador Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Construcción de un Analizador Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Construcción de un Analizador Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Construcción de un Analizador Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Construcción de un Analizador Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Construcción de un Analizador Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Definición
1 ε es una expresión regular y L(ε) = {ε}
2 Si a ∈ Σ, entonces a es una expresión regular y L(a) =
{a}
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Definición
1 ε es una expresión regular y L(ε) = {ε}
2 Si a ∈ Σ, entonces a es una expresión regular y L(a) =
{a}
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Definición
1 ε es una expresión regular y L(ε) = {ε}
2 Si a ∈ Σ, entonces a es una expresión regular y L(a) =
{a}
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Precedencia y asociatividad
Los operadores *,+ e ? tienen la precedencia más
alta y son asociativos por la izquierda.
La concatenación tiene el segundo nivel de
precedencia más alto y es asociativo por la
izquierda.
La disyunción(|) tiene la precedencia mas baja y es
asociativo por la izquierda
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Precedencia y asociatividad
Los operadores *,+ e ? tienen la precedencia más
alta y son asociativos por la izquierda.
La concatenación tiene el segundo nivel de
precedencia más alto y es asociativo por la
izquierda.
La disyunción(|) tiene la precedencia mas baja y es
asociativo por la izquierda
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Precedencia y asociatividad
Los operadores *,+ e ? tienen la precedencia más
alta y son asociativos por la izquierda.
La concatenación tiene el segundo nivel de
precedencia más alto y es asociativo por la
izquierda.
La disyunción(|) tiene la precedencia mas baja y es
asociativo por la izquierda
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Precedencia y asociatividad
Los operadores *,+ e ? tienen la precedencia más
alta y son asociativos por la izquierda.
La concatenación tiene el segundo nivel de
precedencia más alto y es asociativo por la
izquierda.
La disyunción(|) tiene la precedencia mas baja y es
asociativo por la izquierda
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
LEY DESCRIPCIÓN
r|s=s|r | es conmutativo.
r | ( s | t) = (r | s) | t | es asociativo
r(st) = (rs)t La concatenación es asociativa
r(s|t) = rs | rt la concatenación se distribuye
(s | t)r = sr | tr sobre la disyunción
εr = rε = r ε es la identidad para la concatenación
r∗ = ( r| ε)∗ ε garantiza la cerradura
r∗∗ = r∗ * es idempotente
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Ejercicios
1 Expresión regular para los identificadores del
lenguaje C
2 Expresión regular para los números decimales sin
signo del lenguaje C
3 Expresión regular para las palabras reservadas: int,
float, double, char, void.
4 Expresión regular para cualquier secuencia de
espacios en blanco.
5 Expresión regular para los comentarios del lenguaje C
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Ejercicios
1 Expresión regular para los identificadores del
lenguaje C
2 Expresión regular para los números decimales sin
signo del lenguaje C
3 Expresión regular para las palabras reservadas: int,
float, double, char, void.
4 Expresión regular para cualquier secuencia de
espacios en blanco.
5 Expresión regular para los comentarios del lenguaje C
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Ejercicios
1 Expresión regular para los identificadores del
lenguaje C
2 Expresión regular para los números decimales sin
signo del lenguaje C
3 Expresión regular para las palabras reservadas: int,
float, double, char, void.
4 Expresión regular para cualquier secuencia de
espacios en blanco.
5 Expresión regular para los comentarios del lenguaje C
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Ejercicios
1 Expresión regular para los identificadores del
lenguaje C
2 Expresión regular para los números decimales sin
signo del lenguaje C
3 Expresión regular para las palabras reservadas: int,
float, double, char, void.
4 Expresión regular para cualquier secuencia de
espacios en blanco.
5 Expresión regular para los comentarios del lenguaje C
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Ejercicios
1 Expresión regular para los identificadores del
lenguaje C
2 Expresión regular para los números decimales sin
signo del lenguaje C
3 Expresión regular para las palabras reservadas: int,
float, double, char, void.
4 Expresión regular para cualquier secuencia de
espacios en blanco.
5 Expresión regular para los comentarios del lenguaje C
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Expresión Regular
Ejercicios
1 Expresión regular para los identificadores del
lenguaje C
2 Expresión regular para los números decimales sin
signo del lenguaje C
3 Expresión regular para las palabras reservadas: int,
float, double, char, void.
4 Expresión regular para cualquier secuencia de
espacios en blanco.
5 Expresión regular para los comentarios del lenguaje C
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Autómata Finito Determinista
D = ( Q, Σ, δ, s, F)
Donde:
Q es el conjunto de estados de la máquina
Σ es el alfabeto de la máquina.
δ es la función de transición. δ: Q×Σ →Q
s0 es el estado inicial y s0 ∈ Q.
F: es el conjunto de estados de aceptación. F ⊆ Q
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Autómata Finito Determinista
D = ( Q, Σ, δ, s, F)
Donde:
Q es el conjunto de estados de la máquina
Σ es el alfabeto de la máquina.
δ es la función de transición. δ: Q×Σ →Q
s0 es el estado inicial y s0 ∈ Q.
F: es el conjunto de estados de aceptación. F ⊆ Q
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Autómata Finito Determinista
D = ( Q, Σ, δ, s, F)
Donde:
Q es el conjunto de estados de la máquina
Σ es el alfabeto de la máquina.
δ es la función de transición. δ: Q×Σ →Q
s0 es el estado inicial y s0 ∈ Q.
F: es el conjunto de estados de aceptación. F ⊆ Q
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Autómata Finito Determinista
D = ( Q, Σ, δ, s, F)
Donde:
Q es el conjunto de estados de la máquina
Σ es el alfabeto de la máquina.
δ es la función de transición. δ: Q×Σ →Q
s0 es el estado inicial y s0 ∈ Q.
F: es el conjunto de estados de aceptación. F ⊆ Q
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Autómata Finito Determinista
D = ( Q, Σ, δ, s, F)
Donde:
Q es el conjunto de estados de la máquina
Σ es el alfabeto de la máquina.
δ es la función de transición. δ: Q×Σ →Q
s0 es el estado inicial y s0 ∈ Q.
F: es el conjunto de estados de aceptación. F ⊆ Q
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Autómata Finito Determinista
dı́gito dı́gito
dı́gito . dı́gito
q0 q1 q2 q3
.
Análisis Léxico
Autómata Finito Determinista
dı́gito dı́gito
dı́gito . dı́gito
q0 q1 q2 q3
.
Análisis Léxico
Autómata Finito Determinista
dı́gito dı́gito
dı́gito . dı́gito
q0 q1 q2 q3
.
Análisis Léxico
Autómata Finito Determinista
Análisis Léxico
Autómata Finito Determinista
Análisis Léxico
Autómata Finito Determinista
Análisis Léxico
Autómata Finito Determinista
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Punteados
Sea r → αβ una expresión regular.
Si agregamos un punto • a la expresión regular r
Obtenemos:
1 r→ •αβ
2 r→ α • β
3 r→ αβ•
Que son llamados elementos punteados y de forma
abreviada simplemente elementos.
Donde:
α y β son sı́mbolos del alfabeto u otras expresiones
regulares.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Básicos
Un elemento es básico si después del punto sigue un
sı́mbolo del alfabeto o el nombre de una expresión
regular. (Elemento de desplazamiento)
También un elemento es básico si el punto se encuentra
al final del elemento.(Elemento de reducción)
Ejemplos:
r→ •a
r→ •dı́gito
r→letra(dı́gito)*•
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Básicos
Un elemento es básico si después del punto sigue un
sı́mbolo del alfabeto o el nombre de una expresión
regular. (Elemento de desplazamiento)
También un elemento es básico si el punto se encuentra
al final del elemento.(Elemento de reducción)
Ejemplos:
r→ •a
r→ •dı́gito
r→letra(dı́gito)*•
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Básicos
Un elemento es básico si después del punto sigue un
sı́mbolo del alfabeto o el nombre de una expresión
regular. (Elemento de desplazamiento)
También un elemento es básico si el punto se encuentra
al final del elemento.(Elemento de reducción)
Ejemplos:
r→ •a
r→ •dı́gito
r→letra(dı́gito)*•
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Básicos
Un elemento es básico si después del punto sigue un
sı́mbolo del alfabeto o el nombre de una expresión
regular. (Elemento de desplazamiento)
También un elemento es básico si el punto se encuentra
al final del elemento.(Elemento de reducción)
Ejemplos:
r→ •a
r→ •dı́gito
r→letra(dı́gito)*•
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos Básicos
Un elemento es básico si después del punto sigue un
sı́mbolo del alfabeto o el nombre de una expresión
regular. (Elemento de desplazamiento)
También un elemento es básico si el punto se encuentra
al final del elemento.(Elemento de reducción)
Ejemplos:
r→ •a
r→ •dı́gito
r→letra(dı́gito)*•
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
r→ α • c β c ⇒ r→ α c • β
Nota:
Los conjuntos de caracteres [abc...] se comportan de
manera similar, excepto que el caracter de entrada
puede coincidir con cualquiera de los del conjunto.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
r→ α • c β c ⇒ r→ α c • β
Nota:
Los conjuntos de caracteres [abc...] se comportan de
manera similar, excepto que el caracter de entrada
puede coincidir con cualquiera de los del conjunto.
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos No Básico
Un elemento es no básico cuando en frente del punto se
encuentra una expresión regular afectada por un
operador. Entonces es necesario reemplazar este
elemento por uno o varios elementos básicos.
Se usan paréntesis para no confundir con los básicos.
Ejemplos:
r→ •(a)+
r→ •(dı́gito| letra)
r→letra•(dı́gito)*
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos No Básico
Un elemento es no básico cuando en frente del punto se
encuentra una expresión regular afectada por un
operador. Entonces es necesario reemplazar este
elemento por uno o varios elementos básicos.
Se usan paréntesis para no confundir con los básicos.
Ejemplos:
r→ •(a)+
r→ •(dı́gito| letra)
r→letra•(dı́gito)*
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos No Básico
Un elemento es no básico cuando en frente del punto se
encuentra una expresión regular afectada por un
operador. Entonces es necesario reemplazar este
elemento por uno o varios elementos básicos.
Se usan paréntesis para no confundir con los básicos.
Ejemplos:
r→ •(a)+
r→ •(dı́gito| letra)
r→letra•(dı́gito)*
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos No Básico
Un elemento es no básico cuando en frente del punto se
encuentra una expresión regular afectada por un
operador. Entonces es necesario reemplazar este
elemento por uno o varios elementos básicos.
Se usan paréntesis para no confundir con los básicos.
Ejemplos:
r→ •(a)+
r→ •(dı́gito| letra)
r→letra•(dı́gito)*
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Obtención del AFD que reconoce a una Expresión Regular
Elementos No Básico
Un elemento es no básico cuando en frente del punto se
encuentra una expresión regular afectada por un
operador. Entonces es necesario reemplazar este
elemento por uno o varios elementos básicos.
Se usan paréntesis para no confundir con los básicos.
Ejemplos:
r→ •(a)+
r→ •(dı́gito| letra)
r→letra•(dı́gito)*
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Función Cerradura-ε
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Función Goto
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Entrada: Un AFD
Salida: El AFD mı́nimo
1 Crear una partición Π con dos grupos, los estados de
aceptación y los estados de no aceptación;
2 Πnueva = Π;
3 repetir
4 para cada grupo G ∈ Πnueva hacer
5 Particionar en subgrupos, de forma que dos
estados s y t estén en el mismo subrupo, si y
sólo si ∀ a ∈ Σ, s y t tienen transiciones sobre a
hacia el mismo subgrupo de Πnueva ;
6 Sustituir G en Πnueva por el conjunto de los
subgrupos formados;
7 fin
8 hasta que no se formen nuevos subgrupos;
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Minimización
Edo a b
→0 1 2
1 1 3
2 1 2
3 1 4
4* 1 2
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
Grupo Edo a b
α 0 α α
1 α α
2 α α
3 α β
β 4* α α
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
Grupo Edo a b
α 0 α α
1 α β
2 α α
β 3 α γ
γ 4* α α
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
Grupo Edo a b
α 0 β α
2 β α
β 1 β γ
γ 3 β δ
δ 4* β α
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
EDO a b
→α β α
β β γ
γ β δ
δ* β α
AUMM
Introducción Tokens Errores léxicos Construcción de un Analizador Léxico Expresiones Regulares Autómata Finito De
Análisis Léxico
Minimización
EDO a b
→α β α
β β γ
γ β δ
δ* β α
AUMM