+ expression_base_t expression;
+ statement_t *statement;
+};
+
+struct classify_type_expression_t {
+ expression_base_t expression;
+ expression_t *type_expression;
+};
+
+union expression_t {
+ expression_type_t type;
+ expression_base_t base;
+ const_expression_t conste;
+ string_literal_expression_t string;
+ builtin_symbol_expression_t builtin_symbol;
+ reference_expression_t reference;
+ call_expression_t call;
+ unary_expression_t unary;
+ binary_expression_t binary;
+ select_expression_t select;
+ array_access_expression_t array_access;
+ sizeof_expression_t sizeofe;
+ offsetof_expression_t offsetofe;
+ va_arg_expression_t va_arge;
+ conditional_expression_t conditional;
+ statement_expression_t statement;
+ classify_type_expression_t classify_type;