/*Copyright (C) 1992, 1994 by Thomas Glen Smith. All Rights Reserved.*/
/* execdyac APL2 V1.0.0 ************************************************
* Called from execdyad to cleanup and return a proper token. *
***********************************************************************/
#define INCLUDES APLCB+APLTOKEN
#include "includes.h"
Apltoken execdyac(lefttok,ritetok,left,rite,out,off)
Apltoken lefttok,ritetok; /* Tokens for left & right operands. */
Aplcb left,rite,out; /* Left and rite operands, and result. */
int off; /* Offset for result token. */
{
Endoper; Execfree; Exectok;
extern int aplerr;
endoper(left); /* Free left operand aplcb, if any. */
endoper(rite); /* Free rite operand aplcb, if any. */
execfree(lefttok); /* Free left token, if any. */
execfree(ritetok); /* Free rite token, if any. */
if (aplerr) {
endoper(out); /* free output, if any. */
return(NULL);
}
return(exectok(out,off)); /* Return result operand token. */
}