Exemple #1
0
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;
	}
}
Exemple #2
0
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(")");

}
Exemple #3
0
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;
    }
}
Exemple #4
0
void showAbsyn(Absyn *node) {
  showNode(node, 0);
  printf("\n");
}
Exemple #5
0
void showAddrNode(FILE* out, const Word* node) {
    fprintf(out, "%p: ", (void*)node);
    showNode(out, node);
}