X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/055797d428ee796327bd81e0406bc765cac9ef7f..122cd9509e433c57e037d2cdc73ac7b295d96636:/src/parser/parser-expr-proto.lisp diff --git a/src/parser/parser-expr-proto.lisp b/src/parser/parser-expr-proto.lisp index 326f3e5..9052e54 100644 --- a/src/parser/parser-expr-proto.lisp +++ b/src/parser/parser-expr-proto.lisp @@ -28,29 +28,6 @@ (cl:in-package #:sod-parser) ;;;-------------------------------------------------------------------------- ;;; Basic protocol. -(export 'push-operator) -(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.")) - -(export 'push-value) -(defgeneric push-value (value state) - (:documentation - "Push VALUE onto the STATE's value stack. - - The default method just does that without any fuss. It's unlikely that - this will need changing unless you invent some really weird values.")) - -(export 'apply-operator) -(defgeneric apply-operator (operator state) - (:documentation - "Apply the OPERATOR to argument on the STATE's value stack. - - This should pop any necessary arguments, and push the result.")) - (export 'operator-push-action) (defgeneric operator-push-action (left right) (:documentation @@ -149,9 +126,7 @@ (defclass prefix-operator () Prefix operators are special because they are pushed at a time when the existing topmost operator on the stack may not have its operand available. It is therefore incorrect to attempt to apply any existing - operators without careful checking. This class provides a method on - `push-operator' which immediately pushes the new operator without - inspecting the existing stack.")) + operators without careful checking.")) (export 'simple-operator) (defclass simple-operator ()