4 #define TREENULL (struct treenode *)NULL
5 #define TREESIZE (sizeof(struct treenode))
6 #define TREECAST struct treenode *
9 typedef struct burm_state *STATEPTR_TYPE;
30 static char *o_names[] = {
51 struct treenode *kids[2];
56 struct treenode *parent;
63 typedef struct treenode *treenodep;
65 #define NODEPTR_TYPE treenodep
66 #define OP_LABEL(p) ((p)->op)
67 #define LEFT_CHILD(p) ((p)->kids[0])
68 #define RIGHT_CHILD(p) ((p)->kids[1])
69 #define STATE_LABEL(p) ((p)->label)
72 struct treenode *new_node(int op, struct treenode *l, struct treenode *r, int exprcount);
73 struct treenode *new_number(long val, int exprcount);
74 struct treenode *new_param(int op, char *name, struct treenode *l, struct treenode *r, int param_index, int exprcount);
75 struct treenode *new_field(char *name, struct treenode *l, struct treenode *r, int soffset, int exprcount);
76 void write_tree(struct treenode *node, int ident);