Metropoli BBS
VIEWER: sam044.c MODE: TEXT (ASCII)
#define INCLUDES APLCB+APLMAIN+STDIO
#include "includes.h"
main()
{
     Aplmsg; Endoper; Execute; Getchrv;
     Aplcb out;
     extern int aplerr;
     char *cp;
     int i;
     #include "aplinit.h"

     for (;;) { /* loop until break */
          aplerr = 0; /* reset any prior error */
          out = getchrv("APL> "); /* get APL statement */
          if (aplerr) {
               fprintf(stderr,"%s\n",aplmsg(aplerr));
               exit(aplerr);
          }
          cp = out -> aplptr.aplchar;
            /* Point to input line. */
          for (i = out->aplcount; i; i--)
            putchar(*cp++); /* Echo. */
          printf("\n"); /* skip to a new line */
          if (out->aplcount == 0)
               break;
                 /* An empty line signals end of file. */
          if (out->aplcount == 1
            && *out->aplptr.aplchar == '$')
               break;
                 /* '$' also indicates end of file. */
          endoper(execute(out));
     }
     endoper(out); /* free $ APL variable */
}
[ RETURN TO DIRECTORY ]