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 stmt_t stmt_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
struct stmt_t *statements;
|
stmt_t *statements;
|
||||||
int length;
|
int length;
|
||||||
int capacity;
|
int capacity;
|
||||||
} stmt_array_t;
|
} stmt_array_t;
|
||||||
|
|
||||||
typedef struct stmt_t {
|
struct stmt_t {
|
||||||
stmt_type_t type;
|
stmt_type_t type;
|
||||||
union {
|
union {
|
||||||
struct {
|
struct {
|
||||||
|
@ -70,6 +70,6 @@ typedef struct stmt_t {
|
||||||
struct stmt_t *body;
|
struct stmt_t *body;
|
||||||
} _while;
|
} _while;
|
||||||
} as;
|
} as;
|
||||||
} stmt_t;
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -58,14 +58,12 @@ void free_expr(expr_t *expr)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EXPR_VARIABLE:
|
case EXPR_VARIABLE:
|
||||||
printf("hereR?\n");
|
|
||||||
free(expr->as.variable.name.value);
|
free(expr->as.variable.name.value);
|
||||||
free(expr);
|
free(expr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EXPR_ASSIGN:
|
case EXPR_ASSIGN:
|
||||||
free_expr(expr->as.assign.name);
|
free_expr(expr->as.assign.name);
|
||||||
printf("hiiii\n");
|
|
||||||
free_expr(expr->as.assign.value);
|
free_expr(expr->as.assign.value);
|
||||||
free(expr);
|
free(expr);
|
||||||
break;
|
break;
|
||||||
|
@ -243,20 +241,16 @@ void free_statements(stmt_array_t *array)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < array->length; i++) {
|
for (int i = 0; i < array->length; i++) {
|
||||||
if (array->statements[i].type == STMT_PRINT) {
|
if (array->statements[i].type == STMT_PRINT) {
|
||||||
printf("this should go fifth\n");
|
|
||||||
free_expr(array->statements[i].as.print.expression);
|
free_expr(array->statements[i].as.print.expression);
|
||||||
}
|
}
|
||||||
if (array->statements[i].type == STMT_EXPR) {
|
if (array->statements[i].type == STMT_EXPR) {
|
||||||
printf("third\n");
|
|
||||||
free_expr(array->statements[i].as.expr.expression);
|
free_expr(array->statements[i].as.expr.expression);
|
||||||
}
|
}
|
||||||
if (array->statements[i].type == STMT_VAR) {
|
if (array->statements[i].type == STMT_VAR) {
|
||||||
printf("this should go second/forth\n");
|
|
||||||
free(array->statements[i].as.variable.name.value);
|
free(array->statements[i].as.variable.name.value);
|
||||||
free_expr(array->statements[i].as.variable.initializer);
|
free_expr(array->statements[i].as.variable.initializer);
|
||||||
}
|
}
|
||||||
if (array->statements[i].type == STMT_BLOCK) {
|
if (array->statements[i].type == STMT_BLOCK) {
|
||||||
printf("this should go first/third\n");
|
|
||||||
free_statements(array->statements[i].as.block.statements);
|
free_statements(array->statements[i].as.block.statements);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue