/*Copyright (C) 1992, 1994 by Thomas Glen Smith. All Rights Reserved.*/
/* execexef APL2 V1.0.0 ************************************************
* Called by execexee to handle quad and quote-quad. *
***********************************************************************/
#define INCLUDES STDIO+APLCHDEF+APLTOKEN+APLFUNCI+APLCB+TREE
#include "includes.h"
Apltoken execexef(tok)
Apltoken tok; /* current token */
{
Execfree; Exectok; Qquadin; Quadin;
extern Treelist treehdr;
extern int aplerr;
Aplcb out;
if (treehdr->avlexec->avlfunst != NULL
&& (treehdr->avlexec->avlfunst)->token_code == LEFT_ARROW)
return(NULL); /* can't be quad input */
switch (tok->token_code) {
case QUAD: out = quadin();
break;
case QUOTE_QUAD: out = qquadin();
break;
default: return(NULL);
}
if (out == NULL) return(NULL);
treehdr->avloff = tok->token_offset;
execfree(tok); /* free token for quad or quote_quad */
return(exectok(out,treehdr->avloff));
}