Kenny Tilton wrote:
Omigod. What the hell is :run-on doing there? :) I am going to go try that now on your assembler code.
Ah, sorry, that was in (setf md-slot-value), not md-slot-value-assume.
I made this change:
(defmodel label () ((name :initarg :name :reader name :documentation "Name of this label, a symbol.") (location :initform (c-input (:cyclicp :run-on) 0) ...etc...
And modified md-slot-value-assume to know about :run-on, and the assembly ran to completion (correctly, I am assuming). I am assuming because I am not so interested in this fix so much as in the grander fix of simply not checking for cycles and letting programmers fend for themselves.
btw. note that there would still be a different kind of cycle which would still be an error, one on the read side: if the rule for A eventually leads back to a read of A, that is a fatal error.
kenny