X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ast.c;h=93ba57f7a7266c27a962892534918e5e9fa4ab8f;hb=4b6bbffc7e1d9a9ee5a75da79ced92f5bc92a913;hp=f70f743405239a5b1459be8f8508583fdb960789;hpb=1c030e37ec4ee92e8ec7786dac4d41124099efbc;p=cparser diff --git a/ast.c b/ast.c index f70f743..93ba57f 100644 --- a/ast.c +++ b/ast.c @@ -70,7 +70,7 @@ static void print_string_literal(const string_literal_t *string_literal) static void print_call_expression(const call_expression_t *call) { - print_expression(call->method); + print_expression(call->function); fprintf(out, "("); call_argument_t *argument = call->arguments; int first = 1; @@ -374,8 +374,8 @@ static void print_declaration_statement( { int first = 1; declaration_t *declaration = statement->declarations_begin; - for( ; declaration != statement->declarations_end->context_next; - declaration = declaration->context_next) { + for( ; declaration != statement->declarations_end->next; + declaration = declaration->next) { if(!first) { print_indent(); } else { @@ -410,13 +410,14 @@ static void print_for_statement(const for_statement_t *statement) if(statement->context.declarations != NULL) { assert(statement->initialisation == NULL); print_declaration(statement->context.declarations); - if(statement->context.declarations->context_next != NULL) { + if(statement->context.declarations->next != NULL) { panic("multiple declarations in for statement not supported yet"); } + fputc(' ', out); } else if(statement->initialisation) { print_expression(statement->initialisation); + fputs("; ", out); } - fputs("; ", out); if(statement->condition != NULL) { print_expression(statement->condition); } @@ -517,7 +518,7 @@ static void print_normal_declaration(const declaration_t *declaration) print_storage_class(declaration->storage_class); print_type_ext(declaration->type, declaration->symbol, &declaration->context); - if(declaration->type->type == TYPE_METHOD) { + if(declaration->type->type == TYPE_FUNCTION) { if(declaration->init.statement != NULL) { fputs("\n", out); print_statement(declaration->init.statement); @@ -570,7 +571,7 @@ void print_ast(const translation_unit_t *unit) set_print_compound_entries(true); declaration_t *declaration = unit->context.declarations; - for( ; declaration != NULL; declaration = declaration->context_next) { + for( ; declaration != NULL; declaration = declaration->next) { if(declaration->storage_class == STORAGE_CLASS_ENUM_ENTRY) continue; if(declaration->namespace != NAMESPACE_NORMAL &&