Diferencia entre revisiones de «Algoritmo de Thompson»

Línea 24: Línea 24:
 
# Acevedo Martínez, Liesner; Osorio Ramírez, Karel. ''Manual de apoyo a la docencia. Técnicas de Compilación: Manual Práctico para estudiantes de Informática''. Libro electrónico en [[PDF]]. [[UCI]]. [[La Habana]], [[2011]].
 
# Acevedo Martínez, Liesner; Osorio Ramírez, Karel. ''Manual de apoyo a la docencia. Técnicas de Compilación: Manual Práctico para estudiantes de Informática''. Libro electrónico en [[PDF]]. [[UCI]]. [[La Habana]], [[2011]].
 
# [http://es.wikipedia.org/wiki/Algoritmo_de_Thompson Algoritmo de Thompson en Wikipedia]. Consultado el [[30 de noviembre]] de 2013.
 
# [http://es.wikipedia.org/wiki/Algoritmo_de_Thompson Algoritmo de Thompson en Wikipedia]. Consultado el [[30 de noviembre]] de 2013.
</div>
+
 
 
[[Categoría:Matemáticas]][[Categoría:Informática]]
 
[[Categoría:Matemáticas]][[Categoría:Informática]]

Revisión del 17:37 30 nov 2013

Algoritmo de Thompson
Información sobre la plantilla
NoAFND.png
Concepto:Algoritmo para obtener AFND-V a partir de expresiones regulares.

Algoritmo de Thompson. Algoritmo que permite a partir de una expresión regular obtener un autómata finito no determinista con transiciones vacías (AFND-V) equivalente.

Definición

Sea una expresión regular E se recorre la misma según el orden de precedencia operacional (*, ., |) y los agrupadores para obtener un AFND-V definido por su diagrama de estado según los pasos:

  1. Se coloca el estado inicial Q0:AF Estado Inicio.gif.
  2. Si la expresión admite la cadena vacía, Q0 se indica como un estado final: AF Estado Inicio Final.gif
  3. Cada símbolo terminal se representa mediante una transición AFD Transicion.gif.
  4. Disjunción. Sea la expresión e1|e2 el AFND-V equivalente toma la forma:Thompson Disjuncion.gif donde T(e1) y T(e2) son los AFND-V resultantes de las expresiones e1 y e2respectivamente.
  5. Concatenación (.). Sea la expresión e1.e2</ub> o más sencillamente e1e2</ub> el AFND-V equivalente toma la forma:Thompson Concatenacion.gif donde T(e1) y T(e2) son los AFND-V resultantes de las expresiones e1 y e2. Tras la concatenación normalmente T(e1) pierde sus estados finales para dejar sólo los de T(e2).
  6. Clausura (*). Sea la expresión e1* el AFND-V equivalente toma la forma:Thompson Clausura.gif donde T(e1) es el AFND-V resultante de las expresión e1.

Vease también

Fuentes

  1. Tanembaum, A. Compilers: Principles, Tecniques, and Tools. Tomo 1. ACM Press. 5ta Edición.
  2. Conferencias de la Asignatura "Compilación 1" del Departamento de Ciencias de la Computación de la Universidad de Oriente. Santiago de Cuba, 2000.
  3. Autómata finito en Wikipedia. Consultado el 25 de noviembre de 2013.
  4. Acevedo Martínez, Liesner; Osorio Ramírez, Karel. Manual de apoyo a la docencia. Técnicas de Compilación: Manual Práctico para estudiantes de Informática. Libro electrónico en PDF. UCI. La Habana, 2011.
  5. Algoritmo de Thompson en Wikipedia. Consultado el 30 de noviembre de 2013.