summaryrefslogtreecommitdiff
path: root/src/tree.h
diff options
context:
space:
mode:
authorJesper Jensen <jesper@jnsn.dev>2025-03-29 23:28:17 +0100
committerJesper Jensen <jesper@jnsn.dev>2025-03-29 23:28:17 +0100
commite5a5469c5ea0df72c5e0bb6f742923ba692ea7f8 (patch)
tree35b05814fa6ad8cff9ab5792f0200eec2928607a /src/tree.h
parent3040f7881accffd187b2defdc32d69543f73206d (diff)
Separate the tree expander outHEADmaster
Diffstat (limited to 'src/tree.h')
-rw-r--r--src/tree.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/tree.h b/src/tree.h
new file mode 100644
index 0000000..e1dd424
--- /dev/null
+++ b/src/tree.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include "parse.h"
+#include <stddef.h>
+
+#define ACTIONS(X) \
+ X(ACTION_MATCH) \
+ X(ACTION_DEL_A) \
+ X(ACTION_ADD_B) \
+ X(ACTION_END) \
+
+#define ENUM_VALUE(NAME) NAME,
+#define STRING_ARRAY_VALUE(NAME) #NAME,
+
+enum Action {
+ ACTIONS(ENUM_VALUE)
+};
+
+static const char *ActionNames[] = {
+ ACTIONS(STRING_ARRAY_VALUE)
+};
+
+void expand_alignment(struct Tree a_tree, struct Tree b_tree, uint32_t *alignment, enum Action *emit_actions);