-(defmethod push-value (value (state expression-parse-state))
- (with-slots (valstack) state
- (push value valstack)))
+(defgeneric push-operator (operator state)
+ (:documentation
+ "Push an OPERATOR onto the STATE's operator stack.
+
+ This should apply existing stacked operators as necessary to obey the
+ language's precedence rules."))
+
+(defgeneric apply-operator (operator state)
+ (:documentation
+ "Apply the OPERATOR to arguments on the STATE's value stack.
+
+ This should pop any necessary arguments, and push the result."))