Metropoli BBS
VIEWER: execexef.c MODE: TEXT (ASCII)
/*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));
}
[ RETURN TO DIRECTORY ]