diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-02-21 21:27:42 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-02-21 21:27:42 -0800 |
commit | 61c47f6db690b4e2ab0045b44db8017d59334488 (patch) | |
tree | 06f569b157913512dc772f63feb722f8a5a3993a /baremetal/shell/main.mu | |
parent | 8b8d0fc77130c6f39aae42319aee1f449fd4db70 (diff) | |
download | mu-61c47f6db690b4e2ab0045b44db8017d59334488.tar.gz |
7773
Diffstat (limited to 'baremetal/shell/main.mu')
-rw-r--r-- | baremetal/shell/main.mu | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/baremetal/shell/main.mu b/baremetal/shell/main.mu index e54515ed..436d6104 100644 --- a/baremetal/shell/main.mu +++ b/baremetal/shell/main.mu @@ -2,9 +2,6 @@ # A Lisp with indent-sensitivity and infix, no macros. Commas are ignored. fn main { - var interpreter-storage: interpreter - var interpreter/edi: (addr interpreter) <- address interpreter-storage -#? initialize-interpreter interpreter var sandbox-storage: sandbox var sandbox/esi: (addr sandbox) <- address sandbox-storage initialize-sandbox sandbox @@ -15,21 +12,18 @@ fn main { compare key, 0 loop-if-= # no way to quit right now; just reboot - edit-sandbox sandbox, key, interpreter + edit-sandbox sandbox, key } loop } } -type interpreter { +fn run in: (addr stream byte), out: (addr stream byte) { # tokenize # insert parens # transform infix # token tree # syntax tree -} - -fn run _self: (addr interpreter), in: (addr stream byte), out: (addr stream byte) { clear-stream out { var done?/eax: boolean <- stream-empty? in |