#include #include #include "syntax.h" #include "printtree.h" void printtree(tSyntaxElement* syntaxtree, int depth) { if (syntaxtree == NULL) return; for (int i = 1; i <= depth; i++) putc(' ',stdout); switch (syntaxtree->type) { case TREE: printf("TREE\n"); printtree(syntaxtree->content.syntax, depth + 1); break; case TOKEN: printf("TOKEN: %s\n", syntaxtree->content.string); break; case STRING: printf("STRING: %s\n", syntaxtree->content.string); break; case NONE: printf("NONE\n"); break; case NEWTREE: printf("NEWTREE\n"); break; } if (syntaxtree->next != NULL) printtree(syntaxtree->next, depth); return; }