diff options
author | Teddy <[email protected]> | 2014-03-24 22:10:49 +0800 |
---|---|---|
committer | Teddy <[email protected]> | 2014-03-24 22:10:49 +0800 |
commit | 34c3611f364b3ea2955cbfac934b17900390364d (patch) | |
tree | d2379577f95f3956be3e492ed5e38b4bba68d2d6 /ast.h | |
parent | f218a80d6ca8a69ba0b22cb87f99e8b82162bbee (diff) |
AST Construction: slightly modified
Diffstat (limited to 'ast.h')
-rw-r--r-- | ast.h | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -27,11 +27,15 @@ typedef struct CNode { FUNC_DEF, DECL, /* declaration */ DECLR, /* declarator */ + DECLRS, INIT_DECLR, + INIT_DECLRS, INITR, /* initializer */ TYPE_SPEC, FIELD, /* struct-or-union field */ PLAIN_DECL, + DECLS, + FUNCS, /* Statments */ STMT, @@ -65,7 +69,8 @@ typedef struct CNode { void cnode_init(); CNode *cnode_create_nop(); CNode *cnode_create_general(int type, int subtype, int pnum, va_list ap); -CNode *cnode_append(CNode *node, CNode *tail); +CNode *cnode_list_append(CNode *list, CNode *tail); +CNode *cnode_list_wrap(int type, CNode *list); CNode *cnode_create_exp(int exp_type, int pnum, ...); CNode *cnode_create_type_spec(int spec_type, int pnum, ...); @@ -78,10 +83,6 @@ CNode *cnode_create_func(CNode *type, CNode *plain_decl, CNode *params, CNode *s CNode *cnode_create_init_declr(CNode *declr, CNode *initr); CNode *cnode_create_struct_field(CNode *type_spec, CNode *declrs); CNode *cnode_create_plain_decl(CNode *type_spec, CNode *declr); -CNode *cnode_create_comp_decls(CNode *decls); -CNode *cnode_create_comp_stmts(CNode *stmts); -CNode *cnode_create_args(CNode *arg_list); -CNode *cnode_create_params(CNode *plist); CNode *cnode_create_identifier(char *val); CNode *cnode_create_int_const(int val); |