Edición de Gramáticas Sensibles al Contexto

La ventana de edición de gramáticas sensibles al contexto es accesible desde el menú principal por medio de la opción Gramáticas -> Sensible al Contexto (o utilizando la combinación de teclas rápidas CTRL-S) Luego de efectuar esta acción aparecerá un diálogo con dos opciones que permite optar entre la edición de una gramática previamente grabada en un archivo y la creación de una nueva.

Si se presiona el botón  se abrirá un diálogo en donde se puede seleccionar el archivo que se desea abrir. Si, en cambio, se presiona sobre el botón  se abrirá un diálogo en donde debe ingresar el nombre del nuevo archivo que se desea crear.

Cuando se presiona sobre el botón aceptar se abrirá la ventana en donde se puede crear la gramática sensible al contexto nueva.


 

Barra de herramientas
En la parte superior de la ventana se encuentra una barra de herramientas que contiene 6 botones que corresponden a funciones comunes dentro de la aplicación.

Nueva gramática sensible al contexto
Presionando este botón se crea una nueva gramática sensible al contexto en blanco.

Abrir gramática sensible al contexto
Presionando este botón se puede abrir una gramática sensible al contexto guardada previamente en un archivo.

Guardar gramática sensible al contexto
Presionando este botón se puede guardar la gramática sensible al contexto que se está editando en un archivo.

Imprimir gramática sensible al contexto
Presionando este botón se puede imprimir la gramática sensible al contexto que se está editando.

Ayuda
Presionando este botón se puede acceder a esta página de ayuda.

Salir
Presionando este botón se cierra la ventana.
 

Ingreso de una regla de producción
La regla de producción a agregar se debe escribir en los campos de texto dentro del recuadro que se titula Regla de Producción, en el primer campo se ingresa el lado izquierdo de la misma y en el segundo el lado derecho.  Una vez escrita la regla presionar sobre el botón Agregar para ingresar la nueva regla de producción.

Formato de la regla de producción
El símbolo distinguido se denota con el caracter ' S ' y la cadena vacía con el símbolo ' E '.  Además, se consideran símbolos terminales los caracteres escritos en minúscula y los dígitos del 0 al 9, y símbolos no terminales los caracteres escritos en mayúscula.  Para ver un ejemplo ir a ejemplo de gramática sensible al contexto.
Cuando una regla de producción no respeta el formato de las reglas de producción de una gramática sensible al contexto, se le informa al usuario mediante un diálogo de error.

Actualización de la definición formal
La definición formal se actualiza en forma automática cada vez que se ingresa o elimina una regla de producción.
 

Operaciones sobre una gramática sensible al contexto



Generación de cadenas a partir de la gramática
Se pueden generar cadenas a partir de las reglas de producción de la gramática, para comprobar si estas reglas describen el lenguaje deseado.  Para llevar a cabo esta operación se tiene destinada una parte de la ventana en donde se edita la gramática rotulada con Generar, si esa parte de la ventana se presiona sobre el botón Nueva cadena se muestra una cadena que pertenece al lenguaje descripto por la gramática.

Si se desean ver las reglas de producción que derivaron a una cierta cadena, se debe seleccionar la misma y presionar el botón derecho del mouse sobre ella.  Dicha acción permite mostrar un menú con dos opciones, si se selecciona Arbol de derivación se muestra un diálogo con todas las reglas utilizadas para generar dicha cadena.


 

Verificación de si una cadena puede ser generada por la gramática
Una vez que se edita una gramática se puede verificar si una cadena es generada por la misma.  Para llevar a cabo esta operación se debe seleccionar el panel que permite ingresar una cadena a ser reconocida, dicha selección se lleva a cabo haciendo click sobre la etiqueta Reconocer.  El panel seleccionado posee una campo de texto en donde se ingresa la cadena a ser reconocida.

Una vez que se ingresó la cadena a ser generada se debe presionar sobre el botón Reconocer, esta acción lleva a cabo la comprobación de si existe un árbol de derivación que pueda generar la cadena dada.  En caso afirmativo, se muestra un diálogo con dicho árbol de derivación, en cambio si la cadena no puede ser generada por la gramática se le informa al usuario mediante un mensaje mostrado sobre un diálogo.


Ejemplo   Conceptos Teóricos