#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 */
}