diff options
Diffstat (limited to 'sys/src/cmd/python/Parser/listnode.c')
-rw-r--r-- | sys/src/cmd/python/Parser/listnode.c | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/sys/src/cmd/python/Parser/listnode.c b/sys/src/cmd/python/Parser/listnode.c deleted file mode 100644 index c0b3b666f..000000000 --- a/sys/src/cmd/python/Parser/listnode.c +++ /dev/null @@ -1,66 +0,0 @@ - -/* List a node on a file */ - -#include "pgenheaders.h" -#include "token.h" -#include "node.h" - -/* Forward */ -static void list1node(FILE *, node *); -static void listnode(FILE *, node *); - -void -PyNode_ListTree(node *n) -{ - listnode(stdout, n); -} - -static int level, atbol; - -static void -listnode(FILE *fp, node *n) -{ - level = 0; - atbol = 1; - list1node(fp, n); -} - -static void -list1node(FILE *fp, node *n) -{ - if (n == 0) - return; - if (ISNONTERMINAL(TYPE(n))) { - int i; - for (i = 0; i < NCH(n); i++) - list1node(fp, CHILD(n, i)); - } - else if (ISTERMINAL(TYPE(n))) { - switch (TYPE(n)) { - case INDENT: - ++level; - break; - case DEDENT: - --level; - break; - default: - if (atbol) { - int i; - for (i = 0; i < level; ++i) - fprintf(fp, "\t"); - atbol = 0; - } - if (TYPE(n) == NEWLINE) { - if (STR(n) != NULL) - fprintf(fp, "%s", STR(n)); - fprintf(fp, "\n"); - atbol = 1; - } - else - fprintf(fp, "%s ", STR(n)); - break; - } - } - else - fprintf(fp, "? "); -} |