Mercurial > repos > yating-l > jbrowsearchivecreator
comparison test/include/python2.7/node.h @ 3:7d1a9a91b989 draft
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
| author | yating-l |
|---|---|
| date | Thu, 18 May 2017 18:37:28 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 2:3e2160197902 | 3:7d1a9a91b989 |
|---|---|
| 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 */ |
