]> de.git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ast.h
ast referencing
[xonotic/gmqcc.git] / ast.h
diff --git a/ast.h b/ast.h
index 18f02a8e259f34da73ca4ecebbf94bdd4b1dcb00..83c700a97938d696b1515ea83bb601a4f439e697 100644 (file)
--- a/ast.h
+++ b/ast.h
@@ -218,6 +218,13 @@ ast_expression* ast_type_copy(lex_ctx ctx, const ast_expression *ex);
 void ast_type_adopt_impl(ast_expression *self, const ast_expression *other);
 void ast_type_to_string(ast_expression *e, char *buf, size_t bufsize);
 
+typedef enum ast_binary_ref_s {
+    AST_REF_LEFT  = 1 << 1,
+    AST_REF_RIGHT = 1 << 2,
+    AST_REF_ALL   = (AST_REF_LEFT | AST_REF_RIGHT)
+} ast_binary_ref;
+
+
 /* Binary
  *
  * A value-returning binary expression.
@@ -229,6 +236,8 @@ struct ast_binary_s
     int             op;
     ast_expression *left;
     ast_expression *right;
+    ast_binary_ref  refs;
+    
 };
 ast_binary* ast_binary_new(lex_ctx    ctx,
                            int        op,