PUERTA | Puerta TI 2007 | Pregunta 49

Considere las siguientes gramáticas. Los nombres que representan terminales se han especificado en letras mayúsculas. ¿Cuál de las siguientes afirmaciones es verdadera? (A) G 1 no tiene contexto pero no es regular y G 2 es regular (B) G 2 no tiene contexto pero no es regular y G 1 es regular (C) Tanto G 1 como G 2 son regulares (D) Ambos G 1 y G 2 no tienen contexto, pero ninguno de ellos es regular Respuesta: (D) Explicación: las gramáticas dadas se pueden reescribir como:

2007_49






Digamos, while = w, expr =E, stmt = S, other = o
Aquí, podemos escribir una gramática lineal derecha para G 1 como
S -> w(E)S
S -> o
E->ID

Entonces, L(G 1 ) es regular.
Ahora para G 2 también podemos escribir una gramática lineal derecha:
S -> w(E)S

E -> E+E
E -> E*E
S -> o
Pero en esta pregunta ambas gramáticas no son ni lineales a la derecha ni lineales a la izquierda.
Entonces, la opción (D) es correcta.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *