/* Copyright (C) 1993 by Thomas Glen Smith. All Rights Reserved. */
/* execexec APL2 V1.0.0 ************************************************
* Called by execbrkt, executg, and funcexed. *
***********************************************************************/
#define INCLUDES TREE+APLTOKEN
#include "includes.h"
Apltoken execexec(void)
{
Execexed; Execexek; Execinit; Execterm;
extern Treelist treehdr;
extern int aplerr;
Apltoken op=NULL;
execinit(); /* push a new execstk element on stack */
if (aplerr) return(NULL);
treehdr->lastfun = 0; /* initialize */
execexed(); /* mainline */
op = execexek(); /* get token for result of evaluation. */
execterm(); /* Pop the top execstk element from the stack. */
return(op);
}