Mercurial > cpython-lru_cache-weakref
annotate Parser/listnode.c @ 24042:63fbbed10714 legacy-trunk
Simplify HTTPSConnection constructor.
See discussion in SF bug 458463.
| author | Jeremy Hylton <jeremy@alum.mit.edu> |
|---|---|
| date | Fri, 28 Jun 2002 23:38:14 +0000 |
| parents | 6f6f965c5e2d |
| children | fd25030223b0 |
| rev | line source |
|---|---|
| 145 | 1 |
| 6 | 2 /* List a node on a file */ |
| 3 | |
| 86 | 4 #include "pgenheaders.h" |
| 6 | 5 #include "token.h" |
| 6 #include "node.h" | |
| 7 | |
| 86 | 8 /* Forward */ |
|
13447
a89f7f268de4
Nuke all remaining occurrences of Py_PROTO and Py_FPROTO.
Tim Peters <tim.peters@gmail.com>
parents:
13256
diff
changeset
|
9 static void list1node(FILE *, node *); |
|
a89f7f268de4
Nuke all remaining occurrences of Py_PROTO and Py_FPROTO.
Tim Peters <tim.peters@gmail.com>
parents:
13256
diff
changeset
|
10 static void listnode(FILE *, node *); |
| 86 | 11 |
| 12 void | |
| 13659 | 13 PyNode_ListTree(node *n) |
| 86 | 14 { |
| 15 listnode(stdout, n); | |
| 16 } | |
| 17 | |
| 6 | 18 static int level, atbol; |
| 19 | |
|
1318
92e6a8cf14be
* pythonmain.c: -k option, usage message, more environment flags.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
20 static void |
| 13659 | 21 listnode(FILE *fp, node *n) |
| 86 | 22 { |
| 23 level = 0; | |
| 24 atbol = 1; | |
| 25 list1node(fp, n); | |
| 26 } | |
| 27 | |
| 6 | 28 static void |
| 13659 | 29 list1node(FILE *fp, node *n) |
| 6 | 30 { |
| 31 if (n == 0) | |
| 32 return; | |
| 33 if (ISNONTERMINAL(TYPE(n))) { | |
| 34 int i; | |
| 35 for (i = 0; i < NCH(n); i++) | |
| 36 list1node(fp, CHILD(n, i)); | |
| 37 } | |
| 38 else if (ISTERMINAL(TYPE(n))) { | |
| 39 switch (TYPE(n)) { | |
| 40 case INDENT: | |
| 41 ++level; | |
| 42 break; | |
| 43 case DEDENT: | |
| 44 --level; | |
| 45 break; | |
| 46 default: | |
| 47 if (atbol) { | |
| 48 int i; | |
| 49 for (i = 0; i < level; ++i) | |
| 50 fprintf(fp, "\t"); | |
| 51 atbol = 0; | |
| 52 } | |
| 53 if (TYPE(n) == NEWLINE) { | |
| 54 if (STR(n) != NULL) | |
| 55 fprintf(fp, "%s", STR(n)); | |
| 56 fprintf(fp, "\n"); | |
| 57 atbol = 1; | |
| 58 } | |
| 59 else | |
| 60 fprintf(fp, "%s ", STR(n)); | |
| 61 break; | |
| 62 } | |
| 63 } | |
| 64 else | |
| 65 fprintf(fp, "? "); | |
| 66 } |
