about summary refs log tree commit diff stats
path: root/cabs-syn.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'cabs-syn.lisp')
-rw-r--r--cabs-syn.lisp12
1 files changed, 8 insertions, 4 deletions
diff --git a/cabs-syn.lisp b/cabs-syn.lisp
index 12b9fd4..60b1a65 100644
--- a/cabs-syn.lisp
+++ b/cabs-syn.lisp
@@ -24,14 +24,17 @@
 ;; But classes seem better for the associated data, in discriminated unions.
 
 (defclass <expression> () () (:metaclass <abstract-class>))
-(defclass <exp-int> (<expression>) ((int :accessor int)))
+
+(defclass <exp-int> (<expression>) ((my-int :accessor my-int)))
+;; TODO: need another closer-mop:validate-superclass call here
+
 (defclass <exp-var> (<expression>) ((var :accessor var)))
 (defclass <exp-str> (<expression>) ((str :accessor str)))
-(defclass <exp-unr> (<expression>) ((op :accessor op) (exp :accessor exp)))
+(defclass <exp-unr> (<expression>) ((op :accessor op) (expr :accessor expr)))
 (defclass <exp-bin> (<expression>) ((exp1 :accessor exp1) (op :accessor op) (exp2 :accessor exp2)))
 
 (defclass <command> () () (:metaclass <abstract-class>))
-(defclass <cmd-rem> (<command>) ((rem :accessor rem)))
+(defclass <cmd-rem> (<command>) ((remark :accessor remark)))
 (defclass <cmd-goto> (<command>) ((goto :accessor goto)))
 (defclass <cmd-print> (<command>) ((expr :accessor expr)))
 (defclass <cmd-input> (<command>) ((var :accessor var)))
@@ -51,7 +54,8 @@
     ((not) 1)
     ((uminus) 7)))
 
-(defun priority-binop (bin-op  (cond ((member bin-op '(mult div)) 6)
+(defun priority-binop (bin-op)
+  (cond ((member bin-op '(mult div)) 6)
     ((member bin-op '(plus minus)) 5)
     ((eql bin-op 'mod) 4)
     ((member bin-op '(equal less lesseq great greateq diff)) 3)