Metropoli BBS
VIEWER: exectok.c MODE: TEXT (ASCII)
/* Copyright (C) 1993 by Thomas Glen Smith.  All Rights Reserved. */
/* exectok APL2 V1.0.0 *************************************************
* Called by execexef, execindx, and popnest.                           *
* Builds a token structure for a new operand.                          *
***********************************************************************/
#define INCLUDES APLTOKEN+APLCB
#include "includes.h"
Apltoken exectok(out,offset)
Aplcb out; /* result */
int offset; /* offset for potential error messages */
{
     Endoper; Newtok;
     extern int aplerr;
     Apltoken outtok;

     if (out == NULL) return(NULL); /* some sort of error has occurred */
     outtok = newtok(VECTOR_TOKEN, 0, offset, NULL, 0);
     if (NULL == outtok) {
          aplerr = 27; /* out of storage */
          endoper(out); /* free aplcb */
          return(NULL);
     }
     outtok->token_queue.token_next_ptr = NULL; /* being tidy */
     outtok->token_ptr.token_vector = out; /* result aplcb ptr */
     return(outtok);
}

[ RETURN TO DIRECTORY ]