Class UnaryPostOperator

java.lang.Object
parser.Operator
parser.UnaryPostOperator
All Implemented Interfaces:
Validatable

public class UnaryPostOperator extends Operator implements Validatable
Models a post-operand Operator object e.g the !, inverse, square, cube operators
  • Field Details

    • precedence

      private final Precedence precedence
      The precedence of this UnaryPostOperator object.
    • index

      private int index
      The index of this operator in the scanned Function that it belongs to.
  • Constructor Details

    • UnaryPostOperator

      public UnaryPostOperator(String name, int index, ArrayList<String> scan)
      Creates a new UnaryPostOperator object
      Parameters:
      name - The name that identifies this UnaryPostOperator object
      scan - The List object that contains the tokens
  • Method Details

    • getPrecedence

      public Precedence getPrecedence()
      Returns:
      the Precedence of this Operator object.
    • validate

      public boolean validate(ArrayList<String> scan)
      Specified by:
      validate in interface Validatable
      Parameters:
      scan - the scanner-list object that this UnaryPostOperator object exists in. validates the grammatical usage of this operator (by leaving the correctFunction attribute of the function object un-modified) if the usage of this operator in its immediate environment i.e to its left and right is correct.
      Returns:
      true if the grammatical usage of this token with respect to its 2 immediate neighboring tokens to the left and to the right is correct.
    • assignCompoundTokens

      public static void assignCompoundTokens(ArrayList<String> scan)
      Carefully interpretes the correct arrangement of a loose math statement for objects of this class and applies the correct one to the MathExpression object. Examples: ²,³,-¹,!
      Parameters:
      scan - The ArrayList object that is the scanner of the MathExpression object and so contains this UnaryPostOperator object