/*Copyright (C) 1992, 1996 by Thomas Glen Smith. All Rights Reserved.*/
/* functrgo APL2 V1.0.0 ************************************************
* Called by funcexef to trace a go, perhaps. *
***********************************************************************/
#define INCLUDES APLCB+APLCHDEF+APLFUNCI+APLTOKEN+STDIO
#include "includes.h"
void functrgo(fp,trace,brto,brfrom)
Aplfunc fp; /* function definition structure */
Aplcb trace; /* APL variable for trace control vector */
int brto; /* statement number being branched to */
int brfrom; /* statement number being branched from */
{
Aplnewl; Codechar; Funcstop;
if (funcstop(trace,brfrom)) {
printf("%s[%d]",fp->funcname->token_ptr.token_string,
brfrom);
if (brto != brfrom) { /* not a spurious branch */
brto++; /* number was 1 less than real branch */
if (brto >= fp->funcstmt || brto < 1)
brto = 0;
printf(" %s%d", codechar(RIGHT_ARROW), brto);
}
aplnewl();
}
}