/* Copyright (C) 1993 by Thomas Glen Smith. All Rights Reserved. */
/* execalt APL2 V1.0.0 *************************************************
* Quad Execute Alternate. *
***********************************************************************/
#define INCLUDES APLCB+TREE
#include "includes.h"
Aplcb execalt(left,rite)
Aplcb left,rite;
{
Errinit; Errstop; Executg;
extern Treelist treehdr;
extern int aplerr;
Aplcb out=NULL;
if (errinit()) return(errstop(0,left,rite,NULL));
out = executg(rite);
rite = NULL;
if (aplerr) {
aplerr = 0;
endoper(out);
errinit();
out = executg(left);
left = NULL;
}
if (out == NULL) /* Was it niladic? */
treehdr->lastfun = 2; /* Indicate niladic. */
return(errstop(0,left,rite,out));
}