Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/mingw32/Python27/include/node.h @ 87:2a2c65a20a8b
Add Python libs and headers
author | Chris Cannam |
---|---|
date | Wed, 25 Feb 2015 14:05:22 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
86:413a9d26189e | 87:2a2c65a20a8b |
---|---|
1 | |
2 /* Parse tree node interface */ | |
3 | |
4 #ifndef Py_NODE_H | |
5 #define Py_NODE_H | |
6 #ifdef __cplusplus | |
7 extern "C" { | |
8 #endif | |
9 | |
10 typedef struct _node { | |
11 short n_type; | |
12 char *n_str; | |
13 int n_lineno; | |
14 int n_col_offset; | |
15 int n_nchildren; | |
16 struct _node *n_child; | |
17 } node; | |
18 | |
19 PyAPI_FUNC(node *) PyNode_New(int type); | |
20 PyAPI_FUNC(int) PyNode_AddChild(node *n, int type, | |
21 char *str, int lineno, int col_offset); | |
22 PyAPI_FUNC(void) PyNode_Free(node *n); | |
23 PyAPI_FUNC(Py_ssize_t) _PyNode_SizeOf(node *n); | |
24 | |
25 /* Node access functions */ | |
26 #define NCH(n) ((n)->n_nchildren) | |
27 | |
28 #define CHILD(n, i) (&(n)->n_child[i]) | |
29 #define RCHILD(n, i) (CHILD(n, NCH(n) + i)) | |
30 #define TYPE(n) ((n)->n_type) | |
31 #define STR(n) ((n)->n_str) | |
32 | |
33 /* Assert that the type of a node is what we expect */ | |
34 #define REQ(n, type) assert(TYPE(n) == (type)) | |
35 | |
36 PyAPI_FUNC(void) PyNode_ListTree(node *); | |
37 | |
38 #ifdef __cplusplus | |
39 } | |
40 #endif | |
41 #endif /* !Py_NODE_H */ |