|
|
|
@ -13,8 +13,7 @@ |
|
|
|
|
|
|
|
|
|
struct expr *expr_alloc_symbol(struct symbol *sym) |
|
|
|
|
{ |
|
|
|
|
struct expr *e = malloc(sizeof(*e)); |
|
|
|
|
memset(e, 0, sizeof(*e)); |
|
|
|
|
struct expr *e = calloc(1, sizeof(*e)); |
|
|
|
|
e->type = E_SYMBOL; |
|
|
|
|
e->left.sym = sym; |
|
|
|
|
return e; |
|
|
|
@ -22,8 +21,7 @@ struct expr *expr_alloc_symbol(struct symbol *sym) |
|
|
|
|
|
|
|
|
|
struct expr *expr_alloc_one(enum expr_type type, struct expr *ce) |
|
|
|
|
{ |
|
|
|
|
struct expr *e = malloc(sizeof(*e)); |
|
|
|
|
memset(e, 0, sizeof(*e)); |
|
|
|
|
struct expr *e = calloc(1, sizeof(*e)); |
|
|
|
|
e->type = type; |
|
|
|
|
e->left.expr = ce; |
|
|
|
|
return e; |
|
|
|
@ -31,8 +29,7 @@ struct expr *expr_alloc_one(enum expr_type type, struct expr *ce) |
|
|
|
|
|
|
|
|
|
struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2) |
|
|
|
|
{ |
|
|
|
|
struct expr *e = malloc(sizeof(*e)); |
|
|
|
|
memset(e, 0, sizeof(*e)); |
|
|
|
|
struct expr *e = calloc(1, sizeof(*e)); |
|
|
|
|
e->type = type; |
|
|
|
|
e->left.expr = e1; |
|
|
|
|
e->right.expr = e2; |
|
|
|
@ -41,8 +38,7 @@ struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e |
|
|
|
|
|
|
|
|
|
struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2) |
|
|
|
|
{ |
|
|
|
|
struct expr *e = malloc(sizeof(*e)); |
|
|
|
|
memset(e, 0, sizeof(*e)); |
|
|
|
|
struct expr *e = calloc(1, sizeof(*e)); |
|
|
|
|
e->type = type; |
|
|
|
|
e->left.sym = s1; |
|
|
|
|
e->right.sym = s2; |
|
|
|
|