Metropoli BBS
VIEWER: execdyah.c MODE: TEXT (ASCII)
/* Copyright (C) 1993 by Thomas Glen Smith.  All Rights Reserved. */
/* execdyah APL2 V1.0.0 ************************************************
* Called by execexed and execsped to perform dyadic processing.        *
***********************************************************************/
#define INCLUDES STDIO+APLTOKEN+APLCB+TREE
#include "includes.h"
int execdyah(op)
Apltoken op; /* token for argument to assign to */
{
     Execdyad; Execexeh; Lifo; Pop;
     extern Treelist treehdr;
     extern int aplerr;
     Apltoken rtok;
     int noexit=1;

     if (aplerr) return(!noexit);
     if (NULL != (rtok = pop(&(treehdr->avlexec->avloprst)))) {
          op = execdyad(op,rtok); /* do dyadic */
          if (execexeh(op) /* test for defined function w/o return */
          	 || aplerr)
               return(!noexit); /* func w/o return */
     }
     op = lifo(&(treehdr->avlexec->avloprst),op);
     return(aplerr == 0);
}
[ RETURN TO DIRECTORY ]