/* 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); }