Remove debug printf and fix stmt_t forward declaration
This commit is contained in:
parent
7243d2057c
commit
8f122d3523
2 changed files with 3 additions and 9 deletions
|
@ -25,12 +25,12 @@ typedef enum {
|
|||
typedef struct stmt_t stmt_t;
|
||||
|
||||
typedef struct {
|
||||
struct stmt_t *statements;
|
||||
stmt_t *statements;
|
||||
int length;
|
||||
int capacity;
|
||||
} stmt_array_t;
|
||||
|
||||
typedef struct stmt_t {
|
||||
struct stmt_t {
|
||||
stmt_type_t type;
|
||||
union {
|
||||
struct {
|
||||
|
@ -70,6 +70,6 @@ typedef struct stmt_t {
|
|||
struct stmt_t *body;
|
||||
} _while;
|
||||
} as;
|
||||
} stmt_t;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -58,14 +58,12 @@ void free_expr(expr_t *expr)
|
|||
break;
|
||||
|
||||
case EXPR_VARIABLE:
|
||||
printf("hereR?\n");
|
||||
free(expr->as.variable.name.value);
|
||||
free(expr);
|
||||
break;
|
||||
|
||||
case EXPR_ASSIGN:
|
||||
free_expr(expr->as.assign.name);
|
||||
printf("hiiii\n");
|
||||
free_expr(expr->as.assign.value);
|
||||
free(expr);
|
||||
break;
|
||||
|
@ -243,20 +241,16 @@ void free_statements(stmt_array_t *array)
|
|||
{
|
||||
for (int i = 0; i < array->length; i++) {
|
||||
if (array->statements[i].type == STMT_PRINT) {
|
||||
printf("this should go fifth\n");
|
||||
free_expr(array->statements[i].as.print.expression);
|
||||
}
|
||||
if (array->statements[i].type == STMT_EXPR) {
|
||||
printf("third\n");
|
||||
free_expr(array->statements[i].as.expr.expression);
|
||||
}
|
||||
if (array->statements[i].type == STMT_VAR) {
|
||||
printf("this should go second/forth\n");
|
||||
free(array->statements[i].as.variable.name.value);
|
||||
free_expr(array->statements[i].as.variable.initializer);
|
||||
}
|
||||
if (array->statements[i].type == STMT_BLOCK) {
|
||||
printf("this should go first/third\n");
|
||||
free_statements(array->statements[i].as.block.statements);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue