Class Operation<T,​O>

  • All Implemented Interfaces:
    Ausdruck<T>

    public class Operation<T,​O>
    extends java.lang.Object
    implements Ausdruck<T>
    Ein Nicht-Terminal-Symbol des Interpreters, sprich ein Operatorsymbol bzw eine Operation.
    • Constructor Summary

      Constructors 
      Constructor Description
      Operation​(Operator operator, Ausdruck<O>... operanden)
      Konstruiert ein Symbol mit den gegebenen Operator und Operanden.
      Operation​(Operator operator, java.util.List<? extends Ausdruck<O>> operanden)
      Konstruiert ein Symbol mit den gegebenen Operator und Operanden.
      Operation​(java.lang.String operatorSymbol, Ausdruck<O>... operanden)
      Konstruiert ein Symbol mit den gegebenen Operatorsymbol und Operanden.
      Operation​(java.lang.String operatorSymbol, java.util.List<? extends Ausdruck<O>> operanden)
      Konstruiert ein Symbol mit den gegebenen Operatorsymbol und Operanden.
    • Method Summary

      Modifier and Type Method Description
      java.util.List<? extends Ausdruck<O>> getNachfolger()
      Gibt eine Liste der verschachtelten Ausdrücke zurück.
      java.util.List<? extends Ausdruck<O>> getOperanden()
      Gibt die Operanden der Operation zurück.
      Operator getOperator()
      Gibt den Operator dieser Operation zurück.
      T interpret​(Kontext kontext)
      Interpretiert den Ausdruck im gegebenen Kontext.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Operation

        public Operation​(Operator operator,
                         Ausdruck<O>... operanden)
        Konstruiert ein Symbol mit den gegebenen Operator und Operanden.
        Parameters:
        operator - Operator
        operanden - Liste mit Operanden
        Throws:
        java.lang.NullPointerException - Wenn ein Funktionsparameter null ist
      • Operation

        public Operation​(Operator operator,
                         java.util.List<? extends Ausdruck<O>> operanden)
        Konstruiert ein Symbol mit den gegebenen Operator und Operanden.
        Parameters:
        operator - Operator
        operanden - Liste mit Operanden
        Throws:
        java.lang.NullPointerException - Wenn ein Funktionsparameter null ist
      • Operation

        public Operation​(java.lang.String operatorSymbol,
                         Ausdruck<O>... operanden)
        Konstruiert ein Symbol mit den gegebenen Operatorsymbol und Operanden.
        Parameters:
        operatorSymbol - Operator
        operanden - Liste mit Operanden
        Throws:
        java.lang.NullPointerException - Wenn ein Funktionsparameter null ist
      • Operation

        public Operation​(java.lang.String operatorSymbol,
                         java.util.List<? extends Ausdruck<O>> operanden)
        Konstruiert ein Symbol mit den gegebenen Operatorsymbol und Operanden.
        Parameters:
        operatorSymbol - Operator
        operanden - Liste mit Operanden
        Throws:
        java.lang.NullPointerException - Wenn ein Funktionsparameter null ist
    • Method Detail

      • getNachfolger

        public java.util.List<? extends Ausdruck<O>> getNachfolger()
        Description copied from interface: Ausdruck
        Gibt eine Liste der verschachtelten Ausdrücke zurück.
        Specified by:
        getNachfolger in interface Ausdruck<T>
        Returns:
        Liste der Ausdrücke direkt unter diesen Ausdruck. Die Methode arbeiten im Gegensatz zu Ausdruck.interpret(Kontext) nicht rekursiv.
      • getOperanden

        public java.util.List<? extends Ausdruck<O>> getOperanden()
        Gibt die Operanden der Operation zurück.
        Returns:
        Die Liste der Operanden
      • getOperator

        public Operator getOperator()
        Gibt den Operator dieser Operation zurück.
        Returns:
        Operator
      • interpret

        public T interpret​(Kontext kontext)
        Description copied from interface: Ausdruck
        Interpretiert den Ausdruck im gegebenen Kontext.
        Specified by:
        interpret in interface Ausdruck<T>
        Parameters:
        kontext - Kontext, indem der Ausdruck ausgewertet wird
        Returns:
        Wert des interpretierten Ausdrucks
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object