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 */ |