Changeset 6617
- Timestamp:
- 02/13/08 01:31:53 (10 months ago)
- Location:
- lang/elisp/escm/trunk
- Files:
-
- 4 added
- 1 removed
- 6 modified
-
escm-assemble.el (added)
-
escm-compile.el (added)
-
escm-env.el (modified) (3 diffs)
-
escm-proc.el (modified) (1 diff)
-
escm-syntax.el (added)
-
escm-test.el (modified) (1 diff)
-
escm-util.el (modified) (1 diff)
-
escm-vm-init.el (deleted)
-
escm-vm.el (modified) (4 diffs)
-
escm-wrapped-proc.el (added)
-
escm.el (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/elisp/escm/trunk/escm-env.el
r6576 r6617 43 43 (let ((pos (escm-env::pos self sym))) 44 44 (if pos `(aref ,env ,pos) 45 (escm-env::make-referer (escm-env:: parent self)46 `(escm-env:: parent ,env)45 (escm-env::make-referer (escm-env::get-parent self) 46 `(escm-env::get-parent ,env) 47 47 sym)))) 48 48 … … 50 50 (let ((pos (escm-env::pos self sym))) 51 51 (if pos `(aset ,env ,pos ,val) 52 (escm-env::make-setter (escm-env:: parent self)53 `(escm-env:: parent ,env)52 (escm-env::make-setter (escm-env::get-parent self) 53 `(escm-env::get-parent ,env) 54 54 sym 55 55 val)))) 56 57 56 58 57 (escm-test::deftest escm env … … 66 65 (escm-test "gset! 2" (escm-env::gset! g 'a 3) t) 67 66 (escm-test "gref 2" (and (eq 1 (escm-env::gref e 'a)) 68 (eq 3 (escm-env::gref g 'a)))))) 67 (eq 3 (escm-env::gref g 'a)))) 68 (escm-util::a (escm-env::make-referer f 'env 'a)) 69 (escm-util::a (escm-env::make-setter f 'env 'a '((aaa)))))) 69 70 70 ;;(escm-test::run 'escm 'env )71 ;;(escm-test::run 'escm 'env ) 71 72 (provide 'escm-env) -
lang/elisp/escm/trunk/escm-proc.el
r6576 r6617 11 11 new)) 12 12 13 (defsubst escm-proc::wrap (fun) 14 (let ((new (create-escm-proc))) 15 (escm-proc::set-body 16 (vector 17 (byte-compile (lambda (vm) 18 (escm-vm::set-current-value 19 vm 20 (apply fun (escm-vm::get-current-args vm))))) 21 (function escm-vm::ret) 22 )))) 23 24 (defmacro escm-defun ()) 13 (defmacro escm-defun () 14 (let (()) 15 )) -
lang/elisp/escm/trunk/escm-test.el
r6576 r6617 5 5 (let ((err (eval (progn ,@x)))) (if (eq err t) nil err)) 6 6 (error *error*)))) 7 (when err (setq failed (cons (cons name err) failed)))))7 (when err (setq failed (cons (cons ,name err) failed))))) 8 8 9 9 (defun escm-test::run-test (reporter project name all) -
lang/elisp/escm/trunk/escm-util.el
r6576 r6617 50 50 51 51 (defun escm-util::a (&rest args) 52 "" 52 53 (read-char (format "%S" args)) 53 54 nil) 54 55 56 (defsubst escm-util::get-arity (fun) 57 "returns argument list." 58 (if (functionp fun) 59 (cond ((subrp fun) (subr-arity fun)) 60 ((listp fun) (cadr fun)) 61 (t (aref fun 0))) 62 (throw 'error (format "wrong type argument: functionp %S" fun)))) 63 55 64 (provide 'escm-util) -
lang/elisp/escm/trunk/escm-vm.el
r6576 r6617 2 2 (require 'escm-cbos) 3 3 (require 'escm-proc) 4 (require 'escm-wrapped-proc) 5 6 (defconst 'escm-vm::init-hook ()) 7 (defun escm-vm-init (vm) (run-hook-with-args 'escm-vm::init-hook vm)) 4 8 5 9 (escm-util::expand … … 42 46 vm))))) 43 47 44 (defsubst escm-vm::call (vm proc) 45 (let ((args (escm-vm::get-current-args vm)) 48 (defsubst escm-vm::call (vm) 49 (let ((proc (escm-vm::get-current-val)) 50 (args (escm-vm::get-current-args vm)) 46 51 (env (escm-cbos::clone (escm-proc::get-env proc))) 47 52 (arity (escm-proc::get-arity proc)) … … 53 58 (escm-vm::push-args vm ()))) 54 59 55 (defsubst escm-vm::t-call (vm proc) 56 (let ((args (escm-vm::get-current-args vm)) 60 (defsubst escm-vm::t-call (vm) 61 (let ((proc (escm-vm::get-current-val)) 62 (args (escm-vm::get-current-args vm)) 57 63 (env (escm-cbos::clone (escm-proc::get-env proc))) 58 64 (arity (escm-proc::get-arity proc)) … … 64 70 (escm-vm::set-current-args vm ()))) 65 71 66 (defsubst escm-vm::ret (vm val) 72 (defsubst escm-vm::ret (vm) 73 (escm-vm::set-val (mapcar (lambda (v) 74 (if (escm-cbos::is-a v 'escm-proc) 75 (let ((proc (escm-cbos::clone v)) 76 (renv (escm-cbos::clone (escm-proc::get-env v))) 77 (cenv (escm-vm::get-current-env vm))) 78 (escm-env::set-parent renv cenv) 79 (escm-proc::set-env proc renv) 80 proc) 81 v)) 82 (escm-vm::get-val))) 67 83 (escm-vm::pop-proc vm) 68 84 (escm-vm::pop-env vm) -
lang/elisp/escm/trunk/escm.el
r6576 r6617 1 2 (require 'escm-util)3 (require 'escm-cbos)4 5 (require 'escm-env)6 1 (require 'escm-vm) 7 (require 'escm-proc)8 9 2 10 3 (defvar escm-default-vm nil)
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)