Start working on L2
This changes the compilation process to keep track of register types, which
we'll need to distinguish between local/permanent variables. It also makes
things a bit more obvious/safe when compiling argument registers because they're
tagged explicitly.
This also changes up the actual running of the code by actually using
CALL/PROCEED, though it's not fully fleshed out yet.
author |
Steve Losh <steve@stevelosh.com> |
date |
Wed, 13 Apr 2016 17:38:57 +0000 |
parents |
ae2b13a9a629 |
children |
00f7bec64b84 |
(let ((*standard-output* (make-broadcast-stream)))
(ql:quickload "bones-test"))
(defvar *passed* t)
(defun test (spec)
(let ((result (5am:run spec)))
(5am:explain! result)
(when (not (5am:results-status result))
(setf *passed* nil))))
(test :bones)
(test :bones.paip)
(sb-ext:exit :code (if *passed* 0 1))