aboutsummaryrefslogtreecommitdiff
path: root/src/doer.c
diff options
context:
space:
mode:
authorc2023-12-13 14:49:19 -0500
committerc2023-12-13 14:49:19 -0500
commit6a966d621c48118ab1a97db13473b78b2884ace1 (patch)
treef0607da8284f4081970325c37eb7ea409de68a9f /src/doer.c
parentd8fcdcc5491ae053ebf0586a8093cda6781af51a (diff)
Added tests again.
Diffstat (limited to 'src/doer.c')
-rw-r--r--src/doer.c66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/doer.c b/src/doer.c
new file mode 100644
index 0000000..21a1045
--- /dev/null
+++ b/src/doer.c
@@ -0,0 +1,66 @@
+#include "include/doer.h"
+
+
+/* Creates a new doer from a tree. */
+doer_t* doer_init(tree_t* tree) {
+ doer_t* doer;
+
+ doer = emalloc(sizeof(doer_t));
+
+ doer->tree = tree;
+
+ return doer;
+}
+
+/*
+ Destroys a doer.
+ - Does not destroy the `tree`.
+*/
+void doer_destroy(doer_t* doer) {
+ free(doer);
+}
+
+
+void doer_do_blin_print(char* s) {
+
+}
+
+void doer_do_block(tree_t* tree) {
+ tree->data.block.val
+}
+
+void doer_do_expr(tree_t* tree) {
+ /* For now, assume the only expression that exists is a call to print(). */
+
+
+
+}
+
+void doer_do_lint(tree_t* tree) {
+
+}
+
+void doer_do_lstr(tree_t* tree) {
+
+}
+
+void doer_do_tag(tree_t* tree) {
+
+}
+
+void doer_do_darg(tree_t* tree) {
+
+}
+
+void doer_do_carg(tree_t* tree) {
+
+}
+
+void doer_do_def(tree_t* tree) {
+
+}
+
+void doer_do_call(tree_t* tree) {
+
+}
+