Mercurial > cpython-lru_cache-weakref
annotate Include/node.h @ 33579:8a5c87f685cd legacy-trunk
Add set_unittest_reportflags() to the public API. Docs will follow
"soon", after I repair the LaTeX I somehow damaged.
| author | Tim Peters <tim.peters@gmail.com> |
|---|---|
| date | Sun, 26 Sep 2004 01:50:24 +0000 |
| parents | c7e03cf8333e |
| children | 57322cb2ca11 |
| rev | line source |
|---|---|
| 145 | 1 |
| 6 | 2 /* Parse tree node interface */ |
| 3 | |
|
13443
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
4 #ifndef Py_NODE_H |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
5 #define Py_NODE_H |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
6 #ifdef __cplusplus |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
7 extern "C" { |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
8 #endif |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
9 |
| 6 | 10 typedef struct _node { |
|
25298
c670945c8695
Back out the previous change. It doesn't save any space on 64-bit
Guido van Rossum <guido@python.org>
parents:
25297
diff
changeset
|
11 short n_type; |
|
13443
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
12 char *n_str; |
|
14147
21ec69a56228
Charles G. Waldman <cgw@fnal.gov>:
Fred Drake <fdrake@acm.org>
parents:
13443
diff
changeset
|
13 int n_lineno; |
|
21ec69a56228
Charles G. Waldman <cgw@fnal.gov>:
Fred Drake <fdrake@acm.org>
parents:
13443
diff
changeset
|
14 int n_nchildren; |
|
25298
c670945c8695
Back out the previous change. It doesn't save any space on 64-bit
Guido van Rossum <guido@python.org>
parents:
25297
diff
changeset
|
15 struct _node *n_child; |
| 6 | 16 } node; |
| 17 | |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
20434
diff
changeset
|
18 PyAPI_FUNC(node *) PyNode_New(int type); |
|
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
20434
diff
changeset
|
19 PyAPI_FUNC(int) PyNode_AddChild(node *n, int type, |
|
13443
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
20 char *str, int lineno); |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
20434
diff
changeset
|
21 PyAPI_FUNC(void) PyNode_Free(node *n); |
| 6 | 22 |
| 23 /* Node access functions */ | |
| 24 #define NCH(n) ((n)->n_nchildren) | |
|
32888
c7e03cf8333e
PEP-0318, @decorator-style. In Guido's words:
Anthony Baxter <anthonybaxter@gmail.com>
parents:
25298
diff
changeset
|
25 |
| 6 | 26 #define CHILD(n, i) (&(n)->n_child[i]) |
|
32888
c7e03cf8333e
PEP-0318, @decorator-style. In Guido's words:
Anthony Baxter <anthonybaxter@gmail.com>
parents:
25298
diff
changeset
|
27 #define RCHILD(n, i) (CHILD(n, NCH(n) + i)) |
| 6 | 28 #define TYPE(n) ((n)->n_type) |
| 29 #define STR(n) ((n)->n_str) | |
| 30 | |
| 31 /* Assert that the type of a node is what we expect */ | |
|
20434
ba2850408f0a
Use an assert() for the REQ() macro instead of making up our own
Guido van Rossum <guido@python.org>
parents:
14375
diff
changeset
|
32 #define REQ(n, type) assert(TYPE(n) == (type)) |
| 86 | 33 |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
20434
diff
changeset
|
34 PyAPI_FUNC(void) PyNode_ListTree(node *); |
|
1329
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
35 |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
36 #ifdef __cplusplus |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
37 } |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
38 #endif |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
39 #endif /* !Py_NODE_H */ |
