diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2014-12-14 07:24:42 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2014-12-14 07:38:14 -0800 |
commit | 04c7870e593646adc37a9521fd6a62be7a7a54a1 (patch) | |
tree | e415b085f548b706a0171342662ddf85efd7a331 /mu.arc | |
parent | 64d5ef2d063f96a3523f5761547ed1766dd0c237 (diff) | |
download | mu-04c7870e593646adc37a9521fd6a62be7a7a54a1.tar.gz |
417 - partially through layer 11
Diffstat (limited to 'mu.arc')
-rw-r--r-- | mu.arc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/mu.arc b/mu.arc index 1eeeeeff..ad060f5f 100644 --- a/mu.arc +++ b/mu.arc @@ -28,7 +28,7 @@ (= traces* (queue))) (def new-trace (filename) -;? (prn "new-trace " filename) + (prn "new-trace " filename) ;? ) (= curr-trace-file* filename)) @@ -789,29 +789,29 @@ break (do (assert (is oarg nil) "break: can't take oarg in @instr") - (yield `(jump (,(close-offset pc locs (and arg arg.0.0)) offset)))) + (yield `(jump ((,(close-offset pc locs (and arg (v arg.0))) offset))))) break-if (do (assert (is oarg nil) "break-if: can't take oarg in @instr") - (yield `(jump-if ,arg.0 (,(close-offset pc locs (and cdr.arg arg.1.0)) offset)))) + (yield `(jump-if ,arg.0 ((,(close-offset pc locs (and cdr.arg (v arg.1))) offset))))) break-unless (do (assert (is oarg nil) "break-unless: can't take oarg in @instr") - (yield `(jump-unless ,arg.0 (,(close-offset pc locs (and cdr.arg arg.1.0)) offset)))) + (yield `(jump-unless ,arg.0 ((,(close-offset pc locs (and cdr.arg (v arg.1))) offset))))) loop (do (assert (is oarg nil) "loop: can't take oarg in @instr") - (yield `(jump (,(open-offset pc stack (and arg arg.0.0)) offset)))) + (yield `(jump ((,(open-offset pc stack (and arg (v arg.0))) offset))))) loop-if (do (trace "cvt0" "loop-if: " instr " => " (- stack.0 1)) (assert (is oarg nil) "loop-if: can't take oarg in @instr") - (yield `(jump-if ,arg.0 (,(open-offset pc stack (and cdr.arg arg.1.0)) offset)))) + (yield `(jump-if ,arg.0 ((,(open-offset pc stack (and cdr.arg (v arg.1))) offset))))) loop-unless (do (trace "cvt0" "loop-if: " instr " => " (- stack.0 1)) (assert (is oarg nil) "loop-unless: can't take oarg in @instr") - (yield `(jump-unless ,arg.0 (,(open-offset pc stack (and cdr.arg arg.1.0)) offset)))) + (yield `(jump-unless ,arg.0 ((,(open-offset pc stack (and cdr.arg (v arg.1))) offset))))) ;else (yield instr)))) (++ pc)))))))) |