Está en la página 1de 3

Ejemplo de Gramática de un subconjunto del idioma español.

Español =  ΣN , ΣT , P , S 

ΣN = { frase , sujeto , predicado , punto , artículo ,


sustantivo , verbo , objeto , preposición , adverbio }

ΣT = { María , Juan , nave , perro , El , La , corre , quiere , vuela , a ,


con , rápidamente , ahora , • }

S = frase (Axioma de la gramática)

P (Reglas de producción):
frase → sujeto predicado punto
sujeto → artículo sustantivo
sustantivo → María | Juan | nave | perro
artículo → El | La | λ
predicado → verbo objeto
verbo → corre | quiere | vuela
objeto → preposición sujeto | adverbio | λ
preposición → a | con
adverbio → rápidamente | ahora
punto → •

Para simular esta gramática con JFLAP tenemos que representar los No-
Terminales con una letra mayúsculas y como axioma se toma por defecto el No-terminal
de la primera regla; en este caso usaremos F. Los terminales pueden representarse
con cualquier secuencia de caracteres, incluido el espacio en blanco, menos las letras
mayúsculas. En este caso vamos a representar exactamente como está en el ejemplo,
pero agregando un espacio al final para que las frases puedan ser legibles.
Entonces para el axioma usaremos F y para el resto de los No-terminales
usaresmos la primera letra del nemotécnico que no se repita, siguiendo el orden de
aparición en las reglas:

No-terminal Símbolo
Nemotécnico JFLAP

frase F

sujeto S

predicado P

punto U

artículo A

sustantivo T

verbo V

objeto O

preposición R

adverbio D

Si aplicamos el Test en JFLAP,


nos indica que se trata de una
Gramática Libre del Contexto o Tipo 2,
según la Jerarquía de Chomsky.

Ahora veamos como se puede simular la generación de algunas de las frases del
ejemplo, utilizando la opción Input del JFLAP, con el algoritmo Brute Force Parse
(Análisis por fuerza bruta):
✓ maría quiere a juan . (Sintaxis correcta y semántica aceptable)
 la casa corre con el perro . (Sintaxis correcta, pero semántica dudosa)
Veamos las siguientes simulaciones con el JFLAP:
En este caso la secuencia introducida fue
“maria quiere a juan.”, vemos que es
rechazada porque tiene dos errores; le falta el
acento a “maria” y el espacio al final “juan.”
Si ahora corregimos y volvemos a
intentar, obtenemos la aceptación de la
secuencia y la posibilidad de visualizar el
proceso de derivación o generación de la
misma; con el formato Tabla de Derivaciones
o con el formato gráfico de Árbol de
Derivaciones.

En el caso del árbol de derivación, la raíz es el Axioma, los nodos intermedios son
No-terminales de la gramática y los nodos terminales u hojas son los símbolos del
lenguaje o terminales de la gramática. Observamos que la cadena que representa se
forma con las hojas del árbol, leyéndolas de izquierda a derecha; excepto los nodos λ,
que no se deben considerar, ya que representan la ausencia de símbolos.

También podría gustarte