X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ast_t.h;h=58d675085c0711d20cef36739f7176b3331feef3;hb=188cd4cc8ba69ffabfbf3b78db6a36697cff79f6;hp=258bbb8735c1b99b5a6b154018451cb62f6cfe47;hpb=f181ba24df15120ce46e9a23d9466e6177de3473;p=cparser diff --git a/ast_t.h b/ast_t.h index 258bbb8..58d6750 100644 --- a/ast_t.h +++ b/ast_t.h @@ -64,13 +64,10 @@ typedef enum precedence_t { typedef enum expression_kind_t { EXPR_ERROR = 1, EXPR_REFERENCE, - EXPR_REFERENCE_ENUM_VALUE, + EXPR_ENUM_CONSTANT, EXPR_LITERAL_BOOLEAN, EXPR_LITERAL_INTEGER, - EXPR_LITERAL_INTEGER_OCTAL, - EXPR_LITERAL_INTEGER_HEXADECIMAL, EXPR_LITERAL_FLOATINGPOINT, - EXPR_LITERAL_FLOATINGPOINT_HEXADECIMAL, EXPR_LITERAL_CHARACTER, EXPR_LITERAL_WIDE_CHARACTER, EXPR_LITERAL_MS_NOOP, /**< MS __noop extension */ @@ -232,10 +229,7 @@ typedef enum funcname_kind_t { #define EXPR_LITERAL_CASES \ EXPR_LITERAL_BOOLEAN: \ case EXPR_LITERAL_INTEGER: \ - case EXPR_LITERAL_INTEGER_OCTAL: \ - case EXPR_LITERAL_INTEGER_HEXADECIMAL: \ case EXPR_LITERAL_FLOATINGPOINT: \ - case EXPR_LITERAL_FLOATINGPOINT_HEXADECIMAL: \ case EXPR_LITERAL_CHARACTER: \ case EXPR_LITERAL_WIDE_CHARACTER: \ case EXPR_LITERAL_MS_NOOP @@ -535,6 +529,7 @@ struct declaration_statement_t { struct if_statement_t { statement_base_t base; + scope_t scope; expression_t *condition; statement_t *true_statement; statement_t *false_statement; @@ -542,6 +537,7 @@ struct if_statement_t { struct switch_statement_t { statement_base_t base; + scope_t scope; expression_t *expression; statement_t *body; case_label_statement_t *first_case, *last_case; /**< List of all cases, including default. */ @@ -586,23 +582,25 @@ struct expression_statement_t { struct while_statement_t { statement_base_t base; + scope_t scope; expression_t *condition; statement_t *body; }; struct do_while_statement_t { statement_base_t base; + scope_t scope; expression_t *condition; statement_t *body; }; struct for_statement_t { statement_base_t base; + scope_t scope; expression_t *initialisation; expression_t *condition; expression_t *step; statement_t *body; - scope_t scope; bool condition_reachable:1; bool step_reachable:1; };