;;;----- Licensing notice ---------------------------------------------------
;;;
-;;; This file is part of the Sensble Object Design, an object system for C.
+;;; This file is part of the Sensible Object Design, an object system for C.
;;;
;;; SOD is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
(defmethod apply-operator
((operator simple-unary-operator) (state expression-parse-state))
- (with-slots (function) operator
+ (with-slots ((function %function)) operator
(with-slots (valstack) state
(assert (not (null valstack)))
(push (funcall function (pop valstack)) valstack))))
(defmethod apply-operator
((operator simple-binary-operator) (state expression-parse-state))
- (with-slots (function) operator
+ (with-slots ((function %function)) operator
(with-slots (valstack) state
(assert (not (or (null valstack)
(null (cdr valstack)))))
(let ((head (car opstack)))
(cond ((not (typep head 'open-parenthesis))
(apply-operator head state))
- ((not (eq (slot-value head 'tag) tag))
+ ((not (eql (slot-value head 'tag) tag))
(fail))
(t
(return)))
(cerror* "Parse error: missing `~A'" tag)))
(defmethod operator-push-action (left (right open-parenthesis))
+ (declare (ignore left))
:push)
(defmethod operator-push-action ((left open-parenthesis) right)
+ (declare (ignore right))
:push)
;;;--------------------------------------------------------------------------