|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectoperators.PSAdd
Implements PSArithmeticOperator interface.
Methods such as getOperatorToken() are inherited by PSArithmenticOperator interface which in turn, are inherited by PSOperator.This concrete class is responsible for the addittion of two numbers found on the top of the stack.
Before the addition,action() checks : First,there have to be at least two elements inside the stack. Second, both operands must be numbers,ie both types are PSNumber.Last,the addition is performed.
| Constructor Summary | |
PSAdd()
|
|
| Method Summary | |
void |
action(PSStack s)
Performs addition on two operands. |
java.lang.String |
getOperatorToken()
Returns the token identifying this operator. |
boolean |
isValid(PSStack s)
Checks if it valid to use this operator now. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public PSAdd()
| Method Detail |
public java.lang.String getOperatorToken()
Returns the name of the operand that this concrete class simulates,here "add".
Precondition : A valid operator class has been created.
Postcondition : A string is returned,labeling the semantics of this class.
getOperatorToken in interface PSOperator
public boolean isValid(PSStack s)
throws PSSyntaxException
The addition can occur only if the stack contains two objects,both being of type PSNumber.
Precondition : A valid instance of PSStack is given.
Postcondition : A reply to the question whether the addition can occur.
isValid in interface PSOperators - A reference to a PSStack instance.
PSSyntaxException - The syntax of the token is wrong.public void action(PSStack s)
Perfoms the addition upon the top two elements of the stack .
Precondition : A valid stack is given to method with at least two PSNumber operands.It is always executed after the checking made by the isValid() method.
Postcondition : Addition will be performed and the result will be stored back to the stack.
action in interface PSArithmeticOperators - The Run-time Stack where the operands (here literals) are retrieved and stored.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||