-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.lisp
More file actions
44 lines (32 loc) · 1.12 KB
/
test.lisp
File metadata and controls
44 lines (32 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
;; (require 'codecompute "./res/compute.lisp")
(require 'fact "./res/fact.lisp")
(require 'fact "./res/fibo.lisp")
(require 'init "./init.lisp")
(defun test-compile-run (basecode)
(let ((code (compile-code basecode)))
(print "Code : ")
(print code)
(test-run code)))
(defun test-run (code)
(let ((vm (make-vm :memory-size 1000)))
(vm-load code :vm vm)
(let ((result (vm-run :main nil :vm vm)))
(print "Result : ")
(print result))))
(defun compile-run-fact (n)
(format t "~%factorial(~D) : " n)
(test-compile-run (factsource n)))
(defun compile-run-fibo (n)
(format t "~%fibonacci(~D) : " n)
(test-compile-run (fibosource n)))
;; (compile-run-fact 100)
;; (compile-run-fibo 10)
;; (test-compile-run (fibosource 10))
;; (test-run (fibovm 4))
;; (compile-li1-to-li2 (compile-cl-to-li1 (factsource 10)))
;; (compile-cl-to-li1 (factsource 10))
;; ;; (test-compile-run '((defun add(x y) (+ x y)) (add 5 3)))
;; ;; (test-run (factvm 10))
;; ;; (test-compile-run (compute-code 'add-op 1 2))
;; 815915283247897734345611269596115894272000000000
;; 815915283247897734345611269596115894272000000000