aboutsummaryrefslogtreecommitdiff
path: root/parts
diff options
context:
space:
mode:
authorkartofen <mladenovnasko0@gmail.com>2025-07-06 21:18:28 +0300
committerkartofen <mladenovnasko0@gmail.com>2025-07-06 21:18:28 +0300
commitb4261ac4a79651bd8fd1bd03d38bbf49ee89b615 (patch)
tree3b86e7afe5d16899d691122c3271944dc41d324e /parts
parentb65dd53885eabb8f39a3115039563edc08efb2b4 (diff)
modular table building
Diffstat (limited to 'parts')
-rw-r--r--parts/symbol.h7
-rw-r--r--parts/table.h5
2 files changed, 7 insertions, 5 deletions
diff --git a/parts/symbol.h b/parts/symbol.h
index 2e9c30c..dea457e 100644
--- a/parts/symbol.h
+++ b/parts/symbol.h
@@ -10,8 +10,9 @@ extern int (*symbol_is_input_end)(symbol s);
extern int (*symbol_is_valid)(symbol s);
// helper macro
-#define IMPLEMENT_FUNCPTR(type, name, args, ...) \
- type __##name args __VA_ARGS__ \
- type (*name) args = __##name;
+#define IMPLEMENT_FUNCPTR(type, name, args) \
+ type __##name args; \
+ type (*name) args = __##name; \
+ type __##name args
#endif
diff --git a/parts/table.h b/parts/table.h
index 44d1e12..486466f 100644
--- a/parts/table.h
+++ b/parts/table.h
@@ -12,8 +12,9 @@ extern struct action {
extern size_t table_states;
-/*extern*/ int table_fill();
-/*extern*/ void table_free();
+extern int (*table_fill)();
+extern void (*table_free)();
+
void table_print();
void table_print_cstyle();