operators
Class PSLt

java.lang.Object
  extended byoperators.PSLt
All Implemented Interfaces:
PSEqualityOperator, PSObject, PSOperator

public class PSLt
extends java.lang.Object
implements PSEqualityOperator

Implements PSEqualityOperator interface.

Methods such as getOperatorToken() are inherited from PSEqualityOperator interface which, in turn, are inherited from PSOperator. This concrete class is responsible for comparing the top 2 literals of the Runtime Stack pushing back a boolean value representing if the first given is lower than the second.

Before comparison action() has to check if there are 2 PSNumber, PSStrings literals on top of the runtime stack.


Constructor Summary
PSLt()
           
 
Method Summary
 void action(PSStack s)
          Compares the literals given and returns the result back to the 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PSLt

public PSLt()
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 "lt".

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.

Comparison can occur if there are 2 literals on top of the stack.

Precondition : A valid instance of PSStack is given with 2 literals of the same type (PSNumber or PSString) on top.
Postcondition : A reply to the question whether the operator can perfom its defined behaviour.

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

action

public void action(PSStack s)
Compares the literals given and returns the result back to the stack.

Precondition : A valid stack is given to method with 2 literals of the same type (PSNumber or PSString) on top.
Postcondition : A boolean value will be pushed back to the Runtime Stack.

Specified by:
action in interface PSEqualityOperator
Parameters:
s - The Runtime Stack which holds the literals.