diff --git a/lab-5/expr.c b/lab-5/expr.c index d58c85d..506aa1d 100644 --- a/lab-5/expr.c +++ b/lab-5/expr.c @@ -327,6 +327,9 @@ void decl_evaluate(struct decl *d) { if (!d) return; + printf("decl_evaluate\n"); + + if (d->name->kind == EXPR_NAME && d->value->kind == EXPR_ARRAY) { struct expr *e = expr_sub_evaluate(d->value); scope_bind(d->name->name, e); diff --git a/lab-5/expr.h b/lab-5/expr.h index 6c5a534..f7148cf 100644 --- a/lab-5/expr.h +++ b/lab-5/expr.h @@ -35,7 +35,9 @@ typedef enum { EXPR_SUBSCRIPT, EXPR_SUBTRACT, EXPR_NULL, - EXPR_CUSTOM_FUNCTION + EXPR_CUSTOM_FUNCTION, + EXPR_OCCURS, + EXPR_VALUE } expr_t; struct expr {