static void showInformations(const NODE_PERES *node) { assert(node != NULL); while (node->lastNode != NULL) { node = node->lastNode; } output("!SHOW INFORMATIONS!", NULL); while (node != NULL) { showNode(node); node = node->nextNode; } }
static void showStrList(Absyn *node, int n) { indent(n); say("StrList("); say("\n"); say(strListToString(node)); say("\n"); while (!node->u.decList.isEmpty) { say("\n"); showNode(node->u.decList.head, n + 1); node = node->u.decList.tail; if (!node->u.decList.isEmpty) { say(","); } } say(")"); }
void showNode(struct parseNode *pn,int indent) { int i; if(pn==NULL) { for(i=0;i<indent;i++) printf(" "); puts("<empty>"); } while(pn!=NULL) { for(i=0;i<indent;i++) printf(" "); if(pn->type & 1) { switch(pn->type) { case 1: puts("class"); break; case 3: puts("name and base class"); break; case 5: puts("variable"); break; case 7: puts("method"); break; case 9: puts("constructor"); break; case 11: puts("arguments"); break; case 13: puts("( ... )"); break; case 15: puts("[ ... ]"); break; case 17: puts("{ ... }"); break; case 19: puts("statement"); break; case 21: puts("return"); break; case 23: puts("."); break; case 25: puts("call"); break; case 27: puts("new"); break; case 29: puts("type cast"); break; case 31: puts("="); break; case 33: puts(","); break; default: printf("node type %d\n",pn->type); break; } showNode(pn->dat.n,indent+1); } else { puts(pn->dat.s); } pn=pn->next; } }
void showAbsyn(Absyn *node) { showNode(node, 0); printf("\n"); }
void showAddrNode(FILE* out, const Word* node) { fprintf(out, "%p: ", (void*)node); showNode(out, node); }