
Update of /project/movitz/cvsroot/movitz In directory clnet:/tmp/cvs-serv19475 Added Files: asm.lisp Log Message: New assembler, not completed. --- /project/movitz/cvsroot/movitz/asm.lisp 2007/12/16 08:57:19 NONE +++ /project/movitz/cvsroot/movitz/asm.lisp 2007/12/16 08:57:19 1.1 ;;;;------------------------------------------------------------------ ;;;; ;;;; Copyright (C) 2007 Frode V. Fjeld ;;;; ;;;; Description: Assembly syntax etc. ;;;; Author: Frode Vatvedt Fjeld <frodef@acm.org> ;;;; Distribution: See the accompanying file COPYING. ;;;; ;;;; $Id: asm.lisp,v 1.1 2007/12/16 08:57:19 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------ (defpackage asm (:use :common-lisp) (:export #:symbol-reference-p #:symbol-reference #:symbol-reference-symbol #:immediate-p #:immediate-operand #:indirect-operand-p #:indirect-operand #:register-operand #:unresolved-symbol)) (in-package asm) (deftype symbol-reference () '(cons (eql quote) (cons symbol null))) (defun symbol-reference-p (expr) (typep expr 'symbol-reference)) (defun symbol-reference-symbol (expr) (check-type expr symbol-reference) (second expr)) (deftype immediate-operand () '(or integer symbol-reference)) (defun immediate-p (expr) (typep expr 'immediate-operand)) (deftype register-operand () 'keyword) (defun register-p (operand) (typep operand 'register-operand)) (deftype indirect-operand () 'cons) (defun indirect-operand-p (operand) (consp operand)) (define-condition unresolved-symbol () ((symbol :initarg :symbol :reader unresolved-symbol)) (:report (lambda (c s) (format s "Unresolved symbol ~S." (unresolved-symbol c)))))