+/* Binstore
+ *
+ * An assignment including a binary expression with the source as left operand.
+ * Eg. a += b; is a binstore { INSTR_STORE, INSTR_ADD, a, b }
+ */
+struct ast_binstore_s
+{
+ ast_expression_common expression;
+
+ int opstore;
+ int opbin;
+ ast_expression *left;
+ ast_expression *right;
+};
+ast_binstore* ast_binstore_new(lex_ctx ctx,
+ int op,
+ ast_expression *left,
+ ast_expression *right);
+void ast_binstore_delete(ast_binstore*);
+
+bool ast_binstore_codegen(ast_binstore*, ast_function*, bool lvalue, ir_value**);
+