static void p4_spy_nest(int enter)
{
# if !defined PFE_SBR_CALL_THREADING
if (p4_OUT) FX (p4_cr);
if (enter) {
if (PFE.spy_enter) { p4_spy_execute (PFE.spy_enter); return; }
}else{
if (PFE.spy_leave) { p4_spy_execute (PFE.spy_leave); return; }
}
{
static const char spaces[] = " " ;
# if defined PFE_CALL_THREADING
if (enter) {
# endif
p4char* nfa = p4_to_name ((*RP)[-1]);
int len = NFACNT(*nfa); if (len > 27) len = 27;
p4_outf ("[%02d%s] %.*s%.*s " , p4_R0-RP, enter ? ">>" : "<<" ,
len, nfa+1, 28-len, spaces);
# if defined PFE_CALL_THREADING
} else { p4_outf("[%02d<<]----------------------------" , p4_R0-RP); }
# endif
}
{
int len = p4_S0 - SP;
if (len) p4_outf ("[%02d@] " , len);
if (len > 6) len = 6;
while (--len >= 0)
{
p4_outf("%x " , p4SP[len]);
}
p4_outs ("\n" );
}
# endif
} |