Metropoli BBS
VIEWER: execdyas.c MODE: TEXT (ASCII)
/* Copyright (C) 1993 by Thomas Glen Smith.  All Rights Reserved. */
/* execdyas APL2 V1.0.0 ************************************************
* Called from dottran, eachdyad, execdyak, and slashtrc to determine   *
* the dyadic derived function type, as described in aplderiv.h         *
***********************************************************************/
#define INCLUDES APLDERIV
#include "includes.h"
int execdyas(fun,arg,pep)
void *fun; /* funstruct */
void **arg; /* possible derived function argument */
sub_dyad *pep; /* derived function entry point */
{
     Execdyap; Execdyaq; Execdyar; Execdyau; Execdyav;
     extern int aplerr;
     sub_dyad ep;

     *pep = ep = execdyap(fun,arg);
     if (ep.flr)
          return(FLR); /* FLR is described in aplderiv.h */
     *pep = ep = execdyaq(fun);
     if (ep.dix)
          return(DIX); /* DIX is described in aplderiv.h */
     *pep = ep = execdyau(fun);
     if (ep.dnl)
          return(DNL); /* DNL is described in aplderiv.h */
     *pep = ep = execdyar(fun);
     if (ep.wax)
          return(WAX); /* WAX is described in aplderiv.h */
     *pep = ep = execdyav(fun);
     if (ep.dox)
          return(DOX); /* DOX is described in aplderiv.h */
     aplerr = 65; /* unknown dyadic */
     return(NO_TYPE);
}
[ RETURN TO DIRECTORY ]