summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorJulian Hurst <ark@mansus.space>2026-03-28 19:17:16 +0100
committerJulian Hurst <ark@mansus.space>2026-03-28 19:17:16 +0100
commit474c14c92de165516f4302685e3fa8acc3a64f45 (patch)
tree6c1315dd6ea19c35f8a15f4ac6179e286e57bce7 /cmd
parent4f7aa6ba55ace8e81dde90183ed2e17d05bce8e5 (diff)
downloadrabbitscript-474c14c92de165516f4302685e3fa8acc3a64f45.tar.gz
Add finvoke parsing and interpreting
Diffstat (limited to 'cmd')
-rw-r--r--cmd/hs/.hs.ha.swpbin12288 -> 0 bytes
-rw-r--r--cmd/hs/hs.ha9
2 files changed, 9 insertions, 0 deletions
diff --git a/cmd/hs/.hs.ha.swp b/cmd/hs/.hs.ha.swp
deleted file mode 100644
index 7e6d875..0000000
--- a/cmd/hs/.hs.ha.swp
+++ /dev/null
Binary files differ
diff --git a/cmd/hs/hs.ha b/cmd/hs/hs.ha
index 758ad62..c0ad72f 100644
--- a/cmd/hs/hs.ha
+++ b/cmd/hs/hs.ha
@@ -40,6 +40,15 @@ export fn main() void = {
fmt::printfln("{}: {}", var.0, var.1)!;
};
+ let ast = parser::parse(&p);
+ let ast = match (ast) {
+ case let a: parser::ast =>
+ yield a;
+ case let e: parser::error =>
+ fmt::fatal(parser::strerror(e));
+ };
+ interpreter::interpret(&it, ast);
+
//let tk = parsetoken(&p);
//fmt::printfln("tk value: {}\ntk type: {}", tk.value, parser::strtktype(tk.tktype))!;
//tk = parsetoken(&p);