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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.4.CONFIGURACIÓN DE LAS GRAMÁTICAS LIBRES DE CONTEXTO 81< expresion > ⇒ < expresion > ∗ < expresion >⇒ (< expresion >)∗ < expresion >⇒ (< expresion >) ∗ id⇒ (< expresion > + < expresion >) ∗ id⇒ (< expresion > + < id >) ∗ id⇒ (< id > + < id >) ∗ idEl símbolo ⇒ <strong>de</strong>nota <strong>de</strong>rivación, esto es, el reemplazo <strong>de</strong> una variable por el lado <strong>de</strong>recho <strong>de</strong> una producciónpara esa variable. Así, la primera línea se obtiene por la segunda producción; la segunda línease obtiene al reemplazar la primera < expresión > <strong>de</strong> la línea anterior por el lado <strong>de</strong>recho <strong>de</strong> la terceraproducción. Utilizando la cuarta, primera, cuarta y cuarta producción se obtienen las <strong>de</strong>más líneas. Laúltima línea, ( + )∗id, contiene sólo terminales y es por lo tanto un string en el lenguaje <strong>de</strong>< expresión >.5.4 Configuración <strong>de</strong> las Gramáticas Libres <strong>de</strong> ContextoEn esta sección se formalizará la noción intuitiva <strong>de</strong> gramática, presentada en la sección anterior.Una gramática libre <strong>de</strong> contexto (CFG, por sus siglas en inglés: Context Free Grammar) o simplementegramática, es una cuádrupla,G = (V, T, P, S)en que V y T son conjuntos finitos <strong>de</strong> variables y terminales respectivamente. Se asume que V y T sonconjuntos disjuntos. P es un conjunto finito <strong>de</strong> producciones; cada producción es <strong>de</strong> la forma A → α en queA ∈ V y α es un string <strong>de</strong> símbolos sobre (V ∪ T ). Por último, S ∈ V es una variable especial llamada elsímbolo inicial (start symbol).Ejemplo 68 Si se usa E, en lugar <strong>de</strong> < expresión >, para la variable <strong>de</strong> la gramática anterior, es posibleexpresarla formalmente como({E}, {+, ∗, (, ), id}, P, E)en que P consta <strong>de</strong> las siguientes producciones,< E > → < E > + < E >< E > → < E > ∗ < E >< E > → (< E >)< E > → idEn la especificación <strong>de</strong> gramáticas se usarán las siguientes convenciones:• Las letras mayúsculas, A, B, C, D, E y S representan variables; S será el símbolo inicial• Las letras minúsculas a, b, c, d y e, los dígitos, símbolos y algunos strings como id, serán terminales• Las letras mayúsculas X, Y y Z representarán símbolos que pue<strong>de</strong>n ser terminales o variables• Las letras minúsculas u, v, w, x, y y z representan strings <strong>de</strong> terminales• Las letras griegas α, β y γ <strong>de</strong>notan strings <strong>de</strong> variables y terminalesUsando las convenciones anteriores, es posible <strong>de</strong>ducir cuáles son las variables, terminales y símboloinicial <strong>de</strong> una gramática con sólo examinar las producciones. Por lo tanto, normalmente una gramática se✷

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

Saved successfully!

Ooh no, something went wrong!