aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorc2023-12-07 11:25:17 -0500
committerc2023-12-07 11:25:17 -0500
commitf98c8330820d7d1a043d510fd46b31169dad3ac3 (patch)
tree9a325dcc02e3a89d2411140bec27db493cec7c12 /src
parent4d41b1186f3dc721102cd1d9e47dde233f7b1e40 (diff)
Defined the doer.
Diffstat (limited to 'src')
-rw-r--r--src/include/doer.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/include/doer.h b/src/include/doer.h
new file mode 100644
index 0000000..f349749
--- /dev/null
+++ b/src/include/doer.h
@@ -0,0 +1,27 @@
+#ifndef DOER_H
+#define DOER_H
+
+#include "util.h"
+#include "tree.h"
+
+/* Doer? I 'ardly know 'er! */
+typedef struct DOER {
+ tree_t* tree;
+} doer_t;
+
+doer_t* doer_init(tree_t* tree);
+void doer_destroy(doer_t* doer);
+
+void doer_do_blin_print(char* s);
+
+tree_t* doer_do_block(doer_t* doer);
+tree_t* doer_do_expr(doer_t* doer);
+tree_t* doer_do_lint(doer_t* doer);
+tree_t* doer_do_lstr(doer_t* doer);
+tree_t* doer_do_tag(doer_t* doer);
+tree_t* doer_do_darg(doer_t* doer);
+tree_t* doer_do_carg(doer_t* doer);
+tree_t* doer_do_def(doer_t* doer);
+tree_t* doer_do_call(doer_t* doer);
+
+#endif