Está en la página 1de 9

Universidad De Cartagena

Facultad De Ingeniería

Ingeniería De Software

V Semestre

Teoría De Autómata

Estudiantes:
ADALFREDO RODRIGUEZ MARQUEZ
DIEGO ALBERTO MESA LUNA

Tutor:
JOHN GARCELAN

Magangué - Bolívar, 25 De Noviembre 2019


CONTENIDO

OBJETIVOS ..................................................................................................................... 3
OBJETIVO GENERAL ............................................................................................... 3
OBJETIVO ESPICIFICO ............................................................................................. 3
INTRODUCCION ............................................................................................................ 4
ANALIZADOR LEXICO ................................................................................................ 5
EXPRESIONES REGULARES ....................................................................................... 5
AUTOMATA ................................................................................................................... 7
Autómata Finito Determinista (AFD): ......................................................................... 7
Autómata Finito No Determinista (AFND): ................................................................. 8
CONCLUSIÓN ................................................................................................................ 9
OBJETIVOS

OBJETIVO GENERAL
Atraves del siguiente trabajo queremos explicar lo que es la “TEORÍA DE
AUTÓMATA”.

OBJETIVO ESPICIFICO
 Queremos explicar lo que es una expresión regular.
 Deseamos dar algunos conceptos y a la misma vez ejemplos autómatas
deterministas y no deterministas.
 Y queremos también mostrar de manera teórica lo que es un analizador
léxico.
INTRODUCCION

En el siguiente trabajo trataremos de mostrar a través de teoría- practica lo que es un


analizados léxico, lo que es una máquina autómata, lo que es una expresión regular. Es
un trabajo algo sencillo, pero que busca a grandes enseñar aquellos famosos temas
llamados “TEORIA DE AUTOMATA Y LENGUAJES FORMALES”, aclaramos de
antemano que trataremos de profundizar mas en el tema de teoría de autómata.
ANALIZADOR LEXICO

Según lo dicho anteriormente empecemos por definir que es un analizador léxico…

Un analizador léxico o analizador lexicográfico (en inglés scanner) es la primera fase


de un compilador, consistente en un programa que recibe como entrada el código fuente
de otro programa (secuencia de caracteres) y produce una salida compuesta de tokens
(componentes léxicos) o símbolos. Estos tokens sirven para una posterior etapa del
proceso de traducción, siendo la entrada para el analizador sintáctico (en inglés parser).

La especificación de un lenguaje de programación a menudo incluye un conjunto de


reglas que definen el léxico. Estas reglas consisten comúnmente en expresiones
regulares que indican el conjunto de posibles secuencias de caracteres que definen un
token o lexema.

En algunos lenguajes de programación es necesario establecer patrones para


caracteres especiales (como el espacio en blanco) que la gramática pueda reconocer sin
que constituya un token en sí.

EXPRESIONES REGULARES

Si A es un alfabeto, una expresión regular sobre este alfabeto se define de la


siguiente forma:

f es una expresión regular que denota el lenguaje vacío ( el que no tiene ninguna
cadena) autómata sin ningún estado.

1. Tomamos a “e” como una expresión regular que denota el lenguaje {e }.


2. si a∈ A, a es una expresión regular que denota el lenguaje {a}.
3. Si r y s son expresiones regulares de notando los lenguajes R y S
Entonces (r+s) es una expresión regular que denota el lenguaje R∪ S.
4. Si (rs) es una expresión regular que denota el lenguaje RS.
5. r* es una expresión regular que denota el lenguaje R*.

A partir de esta definición se puede determinar las expresiones regulares sobre un


determinado alfabeto. El tipo de leguaje al que está asociadas las expresiones regulares
son los lenguajes regulares.
Algunos ejemplos con números binarios…

1. Obtener la expresión regular que representa el lenguaje L={01i / i =0}


{01i / i =0}={0}{1i / i=0}={0}{1}* = 0 1* la expresión regular correspondiente.
2. Obtener la expresión regular que represente el lenguaje cuyas cadenas está
formadas por ceros y unos en cualquier posición, L={u /u∈ {0,1}*}
Sea u=01001 una cadena con una combinación de ceros y unos cualquiera
entonces su correspondiente expresión regular será {0}{1}. Como lo que nos
piden es ceros y unos en cualquier posición , aplicamos la operación de clausura
* obteniendo: ({0}∪ {1})* por tanto la expresión regular que resulta es la
siguiente (0+1)*
AUTOMATA
Autómata es una máquina matemática M formada por 5 elementos M = (Σ, Q, s, F, δ)
donde Σ es un alfabeto de entrada, Q es un conjunto finito de estados, s es el estado
inicial, F es un conjunto de estados finales o de aceptación y δ (delta) es una relación de
transición.

Ejemplo:

Σ ={0,1} s = A

Q= {A,B,D} F = {B}

δ: (A,0) = B (A,1) = D (B,0) = B

(B,1) = B (D,0) = D (D,1) = D

Autómata Finito Determinista (AFD):


Es un autómata finito en donde δ (delta) es una función de transición, es decir, que
para cada par (estado actual y símbolo de entrada) le corresponde un único estado
siguiente.

Ejemplo:

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido en el alfabeto Σ=


{0,1}. El conjunto de cadenas que contienen a la sub-cadena “01”.

SOLUCIÓN
Autómata Finito No Determinista (AFND):
Es un autómata finito en donde δ no es necesariamente una función de transición, es
decir, que para cada par (estado actual y símbolo de entrada) le corresponde cero, uno,
dos o más estados siguientes, Normalmente la relación de transición para un AFND se
denota con ∆.

Ejemplo:

Obtenga un AFND dado el siguiente lenguaje definido en el alfabeto Σ= {0,1}. El


conjunto de cadenas que contienen a la sub-cadena ”01”.

SOLUCION
CONCLUSIÓN

Luego de analizar algunos conceptos y ejemplos podemos llegar a las siguientes


conclusiones.

1. Analizador léxico: consistente en un programa que recibe como entrada el código


fuente de otro programa (secuencia de caracteres) y produce una salida
compuesta de tokens (componentes léxicos) o símbolos
2. Expresiones regulares: En cómputo teórico y teoría de lenguajes formales una
expresión regular, o expresión racional,12 es una secuencia de caracteres que
conforma un patrón de búsqueda. También son conocidas como regex o regexp,3
por su contracción de las palabras inglesas regular expression.
3. Autómata: es una máquina matemática M formada por 5 elementos M = (Σ, Q, s,
F, δ) donde Σ es un alfabeto de entrada, Q es un conjunto finito de estados, s es el
estado inicial, F es un conjunto de estados finales o de aceptación y δ (delta) es
una relación de transición. Esta a la vez esta dividida en dos partes (Autómatas
Finitos deterministas y no deterministas).

También podría gustarte