6








                                   INTRODUCCION
                                           
                                   GUIA DEL USUARIO
          _________________________________________________________________



          A. CDS/ISIS Pascal

          CDS/ISIS Pascal es una parte integral de CDS/ISIS, y consta de un
          compilador, un interprete y una biblioteca. El compilador produce
          un  pseudo-c¢digo que  es  posteriormente  ejecutado  por  el in-
          trprete.  Debido a que el c¢digo ejecutable  es independiente de
          la  m quina  usada,  los  programas  de  aplicaci¢n  escritos  en
          CDS/ISIS Pascal son totalmente transportables a lo  ancho de toda
          la gama de computadoras soportadas por CDS/ISIS (p.ej.  una apli-
          caci¢n generada en una m quina IBM-PC,  funcionar  sin cambios en
          una m quina VAX).  N¢tese sin embargo, que algunos procedimientos
          de la  biblioteca  solo est n disponibles  para ciertas m quinas.
          Esta situaci¢n se menciona en la descripci¢n de  los procedimien-
          tos en donde se  presenta.  Si la portabilidad es  esencial, debe
          evitarse utilizar estos procedimientos y utilizar  mtodos alter-
          nos para lograr el resultado deseado.

          Pueden dise¤arse programas para ejecutarse ya sea en modo directo
          (stand-alone),  lo cual es equivalente a la operaci¢n en modo ba-
          tch (en lotes), o como llamadas del usuario (user exits) en cier-
          tas funciones de CDS/ISIS.  Las llamadas del  usuario aportan una
          poderosa forma de extender la funcionalidad de CDS/ISIS.

          B. Compilaci¢n y ejecuci¢n de un programa

          Para capturar  un  programa puede utilizarse cualquier  editor de
          textos que sea familiar  al usuario  y que est  disponible en la
          computadora que se use (p.ej. EDLIN)[]. N¢tese que el compilador
          no acepta  los caracteres  que corresponden  al tabulador (c¢digo
          ASCII 9). El programa debe almacenarse en un archivo que tenga la
          extensi¢n PAS,  dentro del directorio de programas definido en el
          par metro 1 de SYSPAR.PAR (vase la secci¢n "Instalaci¢n del sis-
          tema", en el Manual de referencia de CDS/ISIS).

          Para compilar  un  programa,  seleccionese la  opci¢n  A del men£
          principal de CDS/ISIS xXISI.  El siguiente submen£ aparece  en la
          pantalla solicitando una de las opciones mencionadas:

          C [Compila], R [Ejecuta], Q [Salir] ?

          Seleccionese la opci¢n de acuerdo con lo siguiente:





                                          2








          C para compilar un programa.  En ese momento el  sistema solicita
          el nombre  del programa.  Indicar  el nombre (sin  la extensi¢n).
          Puede  especificarse  un   sufijo  al  nombre  del  programa para
          activar la opci¢n de listado, del modo siguiente:

             /L para obtener un  listado del c¢digo  fuente y compilado. Se
          presupone  impl¡citamente que no se  produce el  listado, a menos
          que se detecte un error de compilaci¢n

          Esta especificaci¢n puede indicarse en may£scula o  en min£scula.
          Por ejemplo: miprog/l

             R para ejecutar un programa.  Como en la opci¢n  C, el sistema
          solicita el nombre del programa (a  menos que se  vaya a ejecutar
          el que se acaba de compilar).

            Q para salir y regresar al men£ principal xXISI.

          La opci¢n C se usa para compilar tanto programas  batch como lla-
          madas de usuario.  Para ejecutar programas  batch seleccionese la
          opci¢n R.  Obsrvese  que esta opci¢n est  dise¤ada para ejecutar
          programas  batch.  No  debe  usarse  esta  opci¢n  para  ejecutar
          programas elaborados  como  llamadas de usuario.  La ejecuci¢n de
          las salidas de usuario es  controlada por el programa  CDS/ISIS o
          por la funci¢n para la que fue dise¤ada (ver bajo "Dise¤o e inte-
          graci¢n de llamadas de usuario", en la p g. ?).

          C. Archivos generados por CDS/ISIS Pascal

          El compilador produce dos archivos  (xxxxx es el  nombre del pro-
          grama):

            xxxxx.LST que contiene el listado del programa fuente y un lis-
          tado simb¢lico del c¢digo generado por la compilaci¢n. N¢tese que
          este archivo solo  se genera si  se utiliz¢  la especificaci¢n de
          compilaci¢n /L, o si se detect¢ un error de compilaci¢n.

           xxxxx.PCD que contiene el c¢digo ejecutable.

          Si se detecta cualquier error de sintaxis durante la compilaci¢n,
          el archivo de listados contendr  el  mensaje de  error correspon-
          diente,  se¤alando el punto en el que fue detectado ese error. La
          l¡nea del programa  que contiene  el error,  y el mensaje tambin
          son  desplegados en  la  pantalla.  Un programa que haya generado
          errores de compilaci¢n no podr  ejecutarse.  Si el usuario lo in-
          tenta, el interprete presentar  un mensaje de error.

          N¢tese  que los archivos  PCD son guardados en  el  directorio de
          programas definido en el par metro 1  de SYSPAR.PAR, mientras que
          los archivos LST se guardan en el directorio de archivos  de tra-
          bajo  definido  en el par metro 4  de SYSPAR.PAR  (ver la secci¢n
          "Instalaci¢n del sistema" del Manual de referencia de CDS/ISIS).

          D. Mensajes de error de compilaci¢n




                                          3








          Los errores que puede generar el compilador se listan a continua-
          ci¢n (n¢tese que cuando  se  presenta un error,  pueden generarse
          varios mensajes de error;  en este caso, el primero es el que re-
          sulta significativo).

          * falta: PROGRAM
          * falta: Identificador
          * falta: ;
          * falta: .
          * falta: :=
          * Programa    demasiado grande (el compilador no puede manejar el
           programa.  Intntese reducir su  tama¤o,  por  ejemplo agrupando
           instrucciones semejantes en un procedimiento o en una funci¢n, o
           si es posible, div¡dase en dos programas)
          * falta: END   (Puede deberse tambin a la llamada de una funci¢n
           como si fuera un procedimiento)
          * falta: THEN
          * falta: DO
          * falta: BEGIN
          * falta: ':'
          * Limite de arreglo o etiqueta de CASE inv lido
          * Identificador ya declarado
          * Identificador desconocido
          * demasiadas constantes o identificadores
          * Tipo desconocido (Solo se soportan tipos REAL y STRING)
          * Los procedimientos  READ  y  WRITE requieren una lista de argu-
           mentos
          * falta: )
          * falta: (
          * Desbordamiento (overflow) de tabla de direcciones
          * Solo puede usarse INP para la funci¢n EOF
          * falta: UNTIL
          * Valor de constante REAL inv lido
          * Los operandos de la expresi¢n son de diferente tipo
          * Tipos con asignaci¢n  incompatible (lado izquierdo y derecho de
           la asignaci¢n)
          * Numero o tipo de  argumentos  no coinciden  con  definici¢n  de
           procedimiento/funci¢n
          * Instrucci¢n P-code desconocida (indica un error en el  compila-
           dor)
          * falta: OF
          * Limites de arreglo inv lidos o faltantes (Los  l¡mites  de  los
           arreglos deben encerrarse entre [])
          * falta: .. (en limites de arreglo)
          * falta: OF (en declaraci¢n de arreglo)
          * Tipo de ARRAY no disponible (Solo se aceptan arreglos REAL)
          * Limites de arreglo inv lidos (El l¡mite inferior  debe ser 1, y
           el l¡mite superior debe ser mayor que el inferior)
          * falta: [
          * La variable no es un arreglo
          * El ¡ndice del arreglo debe ser una expresi¢n REAL
          * falta: ]
          * falta: Operador booleano (AND, OR, NOT)
          * La variable de FOR debe ser una variable REAL escalar (no puede
           ser ARRAY ni STRING)
          * falta: TO o DOWNTO


                                          4








          * falta: Expresi¢n REAL
          * Demasiados procedimientos o funciones
          * La variable FOR debe ser local
          * Atributo de PROGRAM inv lido o no disponible

          E. Errores de ejecuci¢n (run-time)

          *Rebosamiento del 'stack'
          *Apuntador del 'stack' inv lido (*)
          *Instrucci¢n de P-code desconocida (*)
          *Llamada de procedimiento inv lida (*)
          *Programa demasiado grande
          *El programa tuvo errores de compilaci¢n
          *Llamada de procedimiento pre-definido desconocida (*)
          *Nombre de componente inv lido en llamada de funci¢n POSTING (los
           nombres v lidos son MFN, TAG, OCC, CNT)
          *Demasiadas variables STRING
          *Nombre de archivo inv lido en procedimiento  ASSIGN (los nombres
           v lidos son INP, OUT)
          *Leyendo despus del fin de archivo en INPUT o en INP
          *Excedido  el  m ximo  de  16  niveles de anidamiento de procedi-
           mientos
          *Procedimiento  UPDATE  llamado  sin  lectura  previa  (RECORD  o
           NEWREC)
          *Par metro inv lido en la llamada de funci¢n PATH (revisar que el
           primer par metro sea SYS o DBN,  y que el segundo par metro est
           dentro del rango correspondiente)

          N¢tese que los errores marcados con (*)  indican un mal funciona-
          miento del compilador o del interprete.

          (1)El  editor utilizado  deber  almacenar el programa  como texto
          ASCII  puro,  por lo que es preferible un  editor de textos  a un
          procesador de palabras (N. del T.).
























                                          5




: