INFORME: PARSER SINTAC

Por... Juan Manuel Medina

Durante mucho tiempo, los usuarios de PC han estado esperando un parser para su ordenador. La versión del PAW nunca llegó y muy pocos han llegado a poner sus manos sobre una copia del prohibitivo DAAD. Precisamente uno de estos pocos es el creador de SINTAC, el Sistema Integrado de creación de Aventuras Conversacionales.

El SINTAC es un parser fuertemente basado en el PAW, la mayoría de los condacts (los comandos de los que se compone su lenguaje de programación) son iguales o similares y lo mismo sucede con la forma en que se definen objetos, localidades, conexiones, etc. por lo que los usuarios de PAW que quieran aprender a manejar el SINTAC se encontrarán con que ya tienen la mitad del trabajo hecho.

El sistema de trabajo es, sin embargo, bastante diferente al que se utilizaba con el PAW. El SINTAC no es ni con mucho tan "amistoso" como el parser de Spectrum. El PAW era un programa único desde dentro del cual creábamos la aventura, accediendo a las distintas secciones a través de menús. La mayoría de los errores que se pudieran cometer eran detectados por el PAW en el momento de cometerlos.

El SINTAC, más parecido en este aspecto al DAAD, está compuesto por tres programas: un COMPILADOR, un INTERPRETE y un DEBUGGER. El proceso que se sigue en la creación de una aventura es como sigue:

Otra diferencia con el PAW es que, mientras en éste el bucle principal del juego era automático (era el parser el que se encargaba de llamar a los procesos 1 y 2 y a la tabla de respuestas siempre en el mismo orden al que había que ceñirse) el SINTAC se limita a lanzar el programa a partir del principio del proceso 0 dejando todo lo que suceda a partir de entonces en manos del programador. Da más trabajo pero a la vez da también mucha más libertad al programador (y, de todas formas, implementar el viejo sistema automático del PAW con el SINTAC no es nada difícil).

El sistema de almacenar datos es ligeramente distinto al del PAW. Recordemos que en éste disponíamos de 256 banderas, cada una de las cuales podía contener un valor entre 0 y 255. Estas también existen en el SINTAC pero con el nombre de VARIABLES. Esto es así porque en este nuevo parser existen además 256 datos que pueden tener sólo los valores 0 ó 1 y que son los que aquí se llaman (con más propiedad, todo hay que decirlo) BANDERAS. Los que, como yo, hayáis tenido que hacer juegos malabares para guardar datos en el PAW o (incluso más) en el DAAD, apreciareis esto en lo que vale.

Como ya se dijo antes, la mayoría de los condacts son similares a los del PAW. A estos se han añadido otros que permiten, por ejemplo,dividir la pantalla en varias ventanas, leer directamente el teclado, o saltar de una entrada a otra dentro de un proceso (con lo que se tiene la posibilidad de implementar bucles). Una característica muy importante del SINTAC es la posibilidad de utilizar indirección. La indirección permite usar los contenidos de una variable donde en el PAW sólo se podían usar constantes. Así, por ejemplo, ahora podemos escribir la línea MESSAGE [100], que nos imprimirá un mensaje diferente dependiendo del contenido de la variable 100 (si dicha variable tiene el valor 5 se imprimirá el mensaje 5, si valía 14, se imprimirá el mensaje 14 y así sucesivamente). La indirección permite también la implementación de tablas, que son muy útiles a la hora de programar. La indirección también era posible en el DAAD, y el que escribe (que lo ha usado durante años) os jura que no hubiera podido vivir sin ella.

El SINTAC en su actual versión no soporta gráficos. Nos prometen una nueva versión que sí permite incluirlos. Otra cosa que se echa en falta son los contenedores. No sabemos si se piensan incluir en una versión posterior (aunque cabría la posibilidad de implementarlos con el propio lenguaje del SINTAC).

De todo lo dicho anteriormente se deduce que el SINTAC es más complejo de manejar que el PAW. Pero este aumento de la dificultad está sobradamente justificado por la potencia mucho mayor que proporciona. Aparte de la temporal falta de gráficos, con el SINTAC podemos hacer todo lo que se podía hacer con el PAW y mucho más.

El SINTAC es, en suma, lo más cerca que vamos a estar de una versión para PC del PAW. Tiene casi toda la potencia del DAAD (por lo menos en lo que a crear aventuras sólo para PC se refiere) y es bastante menos complejo (sin pasarse). Teniendo en cuenta que es GRATIS, el parser tal como está ahora es ya una bicoca, si además va a poder soportar gráficos en el futuro ¿Qué más se puede pedir?.