/* Copyright (C) 1996 by Thomas Glen Smith. All Rights Reserved. */ /* execnext.h APL2 V1.0.0 ********************************************** * Called by dottran, eachtran, execexed, execspex, slashtra, * * to obtain the next function and/or argument to process. * * Here's a table of outputs, given various inputs: * * * * noexit = execnext( &tok, &axistok, &op, NULL); * * -------------------------------------------------------------------- * * 1 + 2 1 . . "2" (65533) * * 1 +(65526/11) . . * * 0 . . "1" (65533) * * -------------------------------------------------------------------- * * + 2 1 . . "2" (65533) * * 1 +(65526/11) . . * * 0 . . . * * -------------------------------------------------------------------- * * a#10 20 30 1 . . "10 20 30" * * 1 #(3) . . * * 0 . . . * * -------------------------------------------------------------------- * * a[2] 0 . . "20" (65533) * * -------------------------------------------------------------------- * * a[2]+1 1 . . "1" (65533) * * 1 +(65526/11) . . * * 0 . . "20" (65533) * * -------------------------------------------------------------------- * * a+[1]a 1 . . "a" (65532) * * 1 +(65526/11) "1"(65528) . * * 0 . . "a" (65532) * * -------------------------------------------------------------------- * * Returns 0 if processing should terminate for any reason, such as * * aplerr not zero, or niladic function w/o return. * ***********************************************************************/