11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.8. APLICACIONES DE LOS LENGUAJES REGULARES 65r 3 13 = r 2 13 + r2 13 (r2 33 )∗ r 2 33= 0 ∗ 1 + 0 ∗ 1(ε + (0 + 1)0 ∗ 1) ∗ (ε + (0 + 1)0 ∗ 1)= 0 ∗ 1 + 0 ∗ 1(ε + (0 + 1)0 ∗ 1) += 0 ∗ 1 + (ε + (0 + 1)0 ∗ 1) ∗= 0 ∗ 1((0 + 1)0 ∗ 1) ∗Por lo tantor = r 3 12 + r3 13= 0(00) ∗ + 0 ∗ 1((0 + 1)0 ∗ 1) ∗ (0 + 1)(00) ∗ + 0 ∗ 1((0 + 1)0 ∗ 1) ∗ ✷3.8 Aplicaciones <strong>de</strong> los <strong>Lenguajes</strong> RegularesHay una cantidad <strong>de</strong> problemas <strong>de</strong> diseño <strong>de</strong> software que son simplificados por la conversión automática<strong>de</strong> la notación <strong>de</strong> expresiones regulares a una eficiente implementación en computador <strong>de</strong>l autómata finitocorrespondiente.Los tokens en un lenguaje <strong>de</strong> programación son, casi sin excepción, expresables como conjuntos regulares.Por ejemplo, los i<strong>de</strong>ntificadores <strong>de</strong> Pascal pue<strong>de</strong>n expresarse comoletra (letra + dígito) ∗en queyletra ≡ a + b + . . . + z + A + B + . . . + Zdígito ≡ 0 + 1 + 2 + . . . + 9y los i<strong>de</strong>ntificadores <strong>de</strong> FORTRAN, con un límite <strong>de</strong> seis símbolos y sólo mayúsculas, comoletra(ε + letra + dígito) 5en que, ahora,letra ≡ A + B + . . . + ZUna cantidad <strong>de</strong> generadores <strong>de</strong> analizadores léxicos toman como datos una secuencia <strong>de</strong> expresionesregulares, <strong>de</strong>scribiendo los tokens, y producen un único autómata finito que reconoce cualquiera <strong>de</strong> ellos.Usualmente, las expresiones regulares son convertidas a un AFND-ε y <strong>de</strong> ahí, directamente, a un AFD, sineliminar primero las transiciones en vacío. Cada estado final indica el token particular que se ha reconocido,así que el autómata pue<strong>de</strong>, en realidad, consi<strong>de</strong>rarse una máquina <strong>de</strong> Moore.La función <strong>de</strong> transición <strong>de</strong>l AFD se pue<strong>de</strong> almacenar <strong>de</strong> diversas maneras para que ocupe menos espacioque representada como un arreglo <strong>de</strong> dos dimensiones con la tabla <strong>de</strong> transición. El analizador léxicoproducido por el generador es un programa fijo que interpreta esas tablas codificadas, junto con la tablaparticular que representa al AFD que reconoce los tokens. (Ver Figura 3.23) Este analizador léxico, asígenerado, pue<strong>de</strong> ser usado como un módulo <strong>de</strong> un compilador.Algunos editores <strong>de</strong> texto y programas similares permiten la sustitución por un string dado, <strong>de</strong> cualquierstring representado por una expresión regular, también dada.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!