Package parser
Class UnaryPreOperator
java.lang.Object
parser.Operator
parser.UnaryPreOperator
- All Implemented Interfaces:
Validatable
Models a post-operand Operator
object e.g the trigonometric,logarithmic,exponential e.t.c. operators.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
The index of this operator in the scanned MathExpression that it belongs to.private final Precedence
The precedence of this BinaryOperator object.Fields inherited from class parser.Operator
AND, ASSIGN, AT, CLOSE_CIRC_BRAC, CLOSE_SQUARE_BRAC, COLON, COMBINATION, COMMA, CONST, CUBE, CUBE_ROOT, DIVIDE, EN_DASH, EQUALS, EXIT, FACTORIAL, GREATER_OR_EQUALS, GREATER_THAN, INVERSE, LESS_OR_EQUALS, LESS_THAN, MINUS, MULTIPLY, name, OPEN_CIRC_BRAC, OPEN_SQUARE_BRAC, operators, OR, PERMUTATION, PLUS, POWER, REMAINDER, ROOT, SEMI_COLON, SPACE, SQUARE, STORE
-
Constructor Summary
ConstructorsConstructorDescriptionUnaryPreOperator
(String name, int index, ArrayList<String> scan) Creates a new UnaryPreOperator object -
Method Summary
Modifier and TypeMethodDescriptionstatic void
assignCompoundTokens
(MathExpression function) boolean
Methods inherited from class parser.Operator
getName, getPrecedence, isAssignmentOperator, isAtOperator, isBinaryOperator, isBracket, isClosingBrace, isClosingBracket, isColon, isComma, isConstantStoreCommand, isCube, isCubeRoot, isEqualsOperator, isExitCommand, isFactorial, isInverse, isLogicOperator, isMulOrDiv, isMulOrDivOrRemOrPermOrCombOrPow, isOpeningBrace, isOpeningBracket, isOperatorString, isPermOrComb, isPlusOrMinus, isPower, isRemainder, isSemiColon, isSquare, isSquareRoot, isStoreCommand, isUnaryPostOperator, isUnaryPreOperator, setName, validateAll
-
Field Details
-
precedence
The precedence of this BinaryOperator object. -
index
private int indexThe index of this operator in the scanned MathExpression that it belongs to.
-
-
Constructor Details
-
UnaryPreOperator
Creates a new UnaryPreOperator object- Parameters:
name
- The name of the operatorindex
- The index of the operator in the listscan
- The scanner output
-
-
Method Details
-
getPrecedence
- Returns:
- the precedence of this operator
-
validate
- Specified by:
validate
in interfaceValidatable
- Parameters:
scan
- the ArrayList object that this UnaryPreOperator 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 repect to its 2 immediate neighbouring tokens to the left and to the right is correct.
-
assignCompoundTokens
- Parameters:
function
- the MathExpression object that contains the power operator
-