From 6d15697edce2217a2bbc82def26262d18dac6373 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 21 May 2025 14:25:45 -0400 Subject: Added Set infix operations, as well as Table.with_fallback() and fixed some bugs with update assignment. --- src/ast.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/ast.h') diff --git a/src/ast.h b/src/ast.h index 47ff3caf..486b5818 100644 --- a/src/ast.h +++ b/src/ast.h @@ -23,6 +23,7 @@ #define Match(x, _tag) ((x)->tag == _tag ? &(x)->__data._tag : (errx(1, __FILE__ ":%d This was supposed to be a " # _tag "\n", __LINE__), &(x)->__data._tag)) #define DeclareMatch(var, x, _tag) __typeof((x)->__data._tag) *var = Match(x, _tag) #define BINARY_OPERANDS(ast) ({ if (!is_binary_operation(ast)) errx(1, __FILE__ ":%d This is not a binary operation!", __LINE__); (ast)->__data.Plus; }) +#define UPDATE_OPERANDS(ast) ({ if (!is_update_assignment(ast)) errx(1, __FILE__ ":%d This is not an update assignment!", __LINE__); (ast)->__data.PlusUpdate; }) #define REVERSE_LIST(list) do { \ __typeof(list) _prev = NULL; \ -- cgit v1.2.3