[2010] [Segundo Parcial] [Ejercicio 2] [Parte a]

[2010] [Segundo Parcial] [Ejercicio 2] [Parte a]

de Diego Rosolino Ruetalo -
Número de respuestas: 1

Hola en la solucion del ejercicio 2 parte a) en la construccion de la gramatica se definen entre todas las  reglas las siguientes dos:

S
-
>
C
#
#
AB
S
-
>
C
#
#
AB
S
-
>
C
#
#
AB
S
-
>
C
#
#
AB
S
-
>
C
#
#
AB
S
-
>
C
#
#
AB
S->C##AB

C# -> # .

Si desde un comienzo se aplica la segunda regla la gramatica no seria incorrecta porque no se van a poder transoframar las Z y U en 0 y 1? O si importa el orden en que se apliquen las reglas en la gramatica?

 Saludos y gracias


En respuesta a Diego Rosolino Ruetalo

Re: Parcial 2010. Ejercicio 2

de Diego Garat -

hola:

las reglas se pueden aplicar en cualquier orden y no se puede establecer un sistema de prioridades sobre qué regla aplicar primero. cualquier tira de terminales que se genera por una aplicación (finita) de reglas (en cualquier orden) comenzando por S pertenece al lenguaje generado por la gramática.


en tu ejemplo, lo que sucede es que si aplicás la segunda regla antes de transformar las Z y las U, vas a llegar a un punto en el cual no se puede aplicar ninguna derivación sobre la tira, que tiene variables. como eso no es una tira de terminales, no pertenece a la gramática... pero más allá de eso, no hay nada más.

sin embargo, dada un tira de tu lenguaje original,  existe  siempre otra secuencia de derivaciones que te permite obtenerla. eso es lo que importa. es como un autómata no determinista: si se tranca por un camino y rechaza no importa, siempre que haya otro que sí te permita reconocer a la tira.

saludos,

d.-