pascalinterpreter
Class UnaryOperator

java.lang.Object
  extended bypascalinterpreter.Operator
      extended bypascalinterpreter.UnaryOperator
Direct Known Subclasses:
AssignRegistry, Memory

public abstract class UnaryOperator
extends Operator


Field Summary
 
Fields inherited from class pascalinterpreter.Operator
OP_REG_VAR_NAME
 
Constructor Summary
UnaryOperator()
           
 
Method Summary
protected  void execInitialize(Variable operand)
          Metoda sprawdza typy operandu.
abstract  void execute(Variable operand)
          Metoda wykonuje operację na operandzie.
abstract  boolean isPossible(DataType type)
          Metoda sprawdza, czy operacja jest możliwa na takim typie danych.
 
Methods inherited from class pascalinterpreter.Operator
getRegistry, setRegistry, setRegistry, setRegistry, setRegistry
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnaryOperator

public UnaryOperator()
Method Detail

execute

public abstract void execute(Variable operand)
                      throws InternalException,
                             RuntimeException
Metoda wykonuje operację na operandzie.

Parameters:
operand - - zmienna, na której ma zostać wykonana operacja.
Throws:
InternalException - - Może wystąpić tylko podczas niepoprawnej pracy interpretera.
RuntimeException - - Może wystąpić jeżeli w programie użytkownika występują niedozwolone operacje.

isPossible

public abstract boolean isPossible(DataType type)
Metoda sprawdza, czy operacja jest możliwa na takim typie danych.

Parameters:
type - - sprawdzany typ danych.
Returns:
True, jeżeli operator operuje na typie przekazanym w parametrze. Jeżeli nie, to false.

execInitialize

protected void execInitialize(Variable operand)
                       throws InternalException
Metoda sprawdza typy operandu.

Parameters:
operand - - operand lewy.
Throws:
InternalException - Wyjątek generowany, jeżeli operacja nie może zostać wykonana.