This commit is contained in:
parent
e74ff41321
commit
c72d831021
22
mu.arc
22
mu.arc
|
@ -1,5 +1,12 @@
|
|||
(= types* (table))
|
||||
(= memory* (table))
|
||||
(def clear ()
|
||||
(= types* (table))
|
||||
(= memory* (table))
|
||||
(= function* (table)))
|
||||
(clear)
|
||||
|
||||
(def add-fns (fns)
|
||||
(each (name . body) fns
|
||||
(= function*.name body)))
|
||||
|
||||
(def run (instrs)
|
||||
(each instr instrs
|
||||
|
@ -12,9 +19,14 @@
|
|||
add
|
||||
(= memory*.oarg1
|
||||
(+ memory*.arg1 memory*.arg2))
|
||||
; else
|
||||
(prn "aaa") ; user-defined functions go here
|
||||
))))
|
||||
|
||||
(each file (cut argv 1)
|
||||
;? (prn file)
|
||||
(run readfile.file)
|
||||
(awhen cdr.argv
|
||||
(each file it
|
||||
;? (prn file)
|
||||
(add-fns readfile.file))
|
||||
;? (prn function*)
|
||||
(run function*!main)
|
||||
(prn memory*))
|
||||
|
|
6
mu.arc.t
6
mu.arc.t
|
@ -1,8 +1,10 @@
|
|||
(load "mu.arc")
|
||||
|
||||
(run '(
|
||||
(clear)
|
||||
(add-fns '((test1
|
||||
(1 <- loadi 1)
|
||||
(2 <- loadi 3)
|
||||
(3 <- add 1 2)))
|
||||
(3 <- add 1 2))))
|
||||
(run function*!test1)
|
||||
(if (~iso memory* (obj 1 1 2 3 3 4))
|
||||
(prn "F - load and add instructions work"))
|
||||
|
|
Loading…
Reference in New Issue