Metropoli BBS
VIEWER: execopck.c MODE: TEXT (ASCII)
/* Copyright (C) 1992 by Thomas Glen Smith.  All Rights Reserved. */
/* execopck APL2 V1.0.0 ************************************************
* Called by execexee when it has an operand.  Execopck will take care  *
* of any operand indexing indicated on the operand stack, and will     *
* invoke execdyad if a dyadic function is available to perform.        *
***********************************************************************/
#define INCLUDES STDIO+APLTOKEN+APLCB+TREE
#include "includes.h"
Apltoken execopck(op)
Apltoken op; /* current token */
{
     Axistest; Execdyad; Execindx; Popnest;
     extern Treelist treehdr;
     extern int aplerr;
     Apltoken ritetok;

     while (axistest(treehdr->avlexec->avloprst))
          op = execindx(op); /* indexing */
     if (NULL != treehdr->avlexec->avlfunst &&
          NULL != (ritetok = popnest(&(treehdr->avlexec->avloprst))))
          op = execdyad(op,ritetok);
     return(op);
}
[ RETURN TO DIRECTORY ]