#include #include #include "parser.h" void printtree(struct SyntaxElement* syntaxtree, int depth) { if (syntaxtree == NULL) return; for (int i = 1; i <= depth; i++) putc(' ',stdout); switch (syntaxtree->type) { case TOPTREE: printf("TOPTREE\n"); printtree((struct SyntaxElement*)syntaxtree->content, depth + 1); break; case TREE: printf("TREE\n"); printtree((struct SyntaxElement*)syntaxtree->content, depth + 1); break; case TOKEN: printf("TOKEN: %s\n", (char*)syntaxtree->content); break; case STRING: printf("STRING: %s\n", (char*)syntaxtree->content); break; case NUMBER: // TODO: printtree NUMBER fprintf(stderr,"TODO: printtree NUMBER\n"); exit(1); case NONE: printf("NONE\n"); break; } if (syntaxtree->next != NULL) printtree(syntaxtree->next, depth); return; }