#pragma once #include "parse.h" #include #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);