Class Group

  • All Implemented Interfaces:
    java.lang.Comparable<Operator>

    public class Group
    extends Operator
    A group is a special N-ary operator delineated by a left-hand symbol and a right-hand symbol, with comma-separated arguments.

    Typically, these are various forms of parentheses, although in principle any pair of two distinct symbols is allowed.

    Author:
    Curtis Rueden
    • Constructor Detail

      • Group

        public Group​(java.lang.String initiator,
                     java.lang.String terminator,
                     double precedence)
    • Method Detail

      • getTerminator

        public java.lang.String getTerminator()
      • incArity

        public void incArity()
      • matches

        public boolean matches​(Group g)
        Returns true iff the given group is the same as this one, in terms of token (lefthand symbol), terminator (righthand symbol) and precedence.

        Note that this method intentionally does not compare arity; the idea is that if you have a Group and call instance() to duplicate it, that copy will match this one, even though the copy initially starts at arity 0.

      • getArity

        public int getArity()
        Description copied from class: Operator
        1 for unary, 2 for binary, etc.
        Overrides:
        getArity in class Operator
      • isInfix

        public boolean isInfix()
        Description copied from class: Operator
        True iff the operator is an infix operator (e.g., a-b).
        Overrides:
        isInfix in class Operator
      • isPrefix

        public boolean isPrefix()
        Description copied from class: Operator
        True iff the operator is a prefix operator (e.g., -a).
        Overrides:
        isPrefix in class Operator
      • instance

        public Group instance()
        Creates an instance of a group operator, using this one as a template.

        The created group will have the same initiator and terminator symbols, as well as the same precedence. But it will begin as a nullary group until incArity() is called.

        Overrides:
        instance in class Operator
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Token