Work in progress, recovered from old crybaby.
[sod] / src / parser / impl-parser-expr.lisp
index b5c1b57..89b0f58 100644 (file)
     (default-slot (operator 'rprec slot-names)
       (slot-value operator 'lprec))))
 
-(defmethod shared-initialize :after
-    ((operator simple-binary-operator) slot-names &key)
-  (when (slot-boundp operator 'lprec)
-    (default-slot (operator 'rprec slot-names)
-      (slot-value operator 'lprec))))
-
 (defmethod push-operator
     ((operator prefix-operator) (state expression-parse-state))
 
 ;;; Main expression parser implementation.
 
 (defun parse-expression (p-operand p-binop p-preop p-postop)
+  "Parse an expression consisting of operands and various kinds of operators.
+
+   The arguments are all parser functions: they will be called with one
+   argument NESTEDP, which indicates whether the parse has encountered an
+   unmatched parenthesis."
+
   (let ((state (make-instance 'expression-parse-state))
        (consumed-any-p nil))