operators
Class PSExch

java.lang.Object
  extended byoperators.PSExch
All Implemented Interfaces:
PSObject, PSOperator, PSStackOperator

public class PSExch
extends java.lang.Object
implements PSStackOperator

Implements PSStackOperator interface.

Methods such as getOperatorToken() are inherited by PSStackOperator interface which in turn, are inherited by PSOperator.This concrete class is responsible for exchanging the two top elements of stack. 


Constructor Summary
PSExch()
           
 
Method Summary
 void action(PSStack s)
          Exchanges the two top literals of stack.
 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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PSExch

public PSExch()
Method Detail

getOperatorToken

public java.lang.String getOperatorToken()
Returns the token identifying this operator.

Returns the name of the operand that this concrete class simulates,here "exch".

Precondition : A valid operator class has been created.
Postcondition : A string is returned,labeling the semantics of this class.

Specified by:
getOperatorToken in interface PSOperator
Returns:
The token identifying this operator.

isValid

public boolean isValid(PSStack s)
                throws PSSyntaxException
Checks if it valid to use this operator now.

Checks if the exchange of the two toppest elements on stack can be made.

Precondition : A valid instance of PSStack is given.
Postcondition : A reply to whether the elements of the stack can be exchanged.

Specified by:
isValid in interface PSOperator
Parameters:
s - A reference to a PSStack instance.
Returns:
True if the operation can be performed,false otherwise.
Throws:
PSSyntaxException - The syntax of the token is wrong.

action

public void action(PSStack s)
Exchanges the two top literals of stack.

Precondition : A valid stack is given to method.
Postcondition : Exchanges the two top literals of stack.

Specified by:
action in interface PSStackOperator
Parameters:
s - The Run-time Stack where the elements are stored.