Class IterationsAnweisung

  • All Implemented Interfaces:
    Anweisung, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck

    public class IterationsAnweisung
    extends AbstractAnweisung
    die Repräsentation einer Iterationsanweisung innerhalb eines Uda-Skripts.
    Eine Iterationsanweisung enthält eine Iterationsbedingung und einen Anweisungsblock. Der Anweisungsblock wird solange ausgeführt, bis die Bedingung nicht mehr gültig ist.
    Uda unterstützt folgende Iterationen:
    • Iteration per Laufvariable über eine Menge
    • Iteration mit einer Bedingung (entspricht einer WHILE-Schleife)
    • Iteration mit numerischen Laufvariable (entspricht einer FOR-Schleife mit ganzzahligem Laufindex)
    • Method Summary

      Modifier and Type Method Description
      java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck> getNachfolger()
      .
      java.lang.Object interpret​(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
      .
      Die Funktion erzeugt einen lokalen Kontext, in den alle Variablen des übergebenden Kontextes übernommen werden, um ein überschreiben einer Variable des umgebenden Kontextes durch eine Laufvariable zu vermeiden.
      • Methods inherited from class java.lang.Object

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

      • IterationsAnweisung

        public IterationsAnweisung​(int zeile,
                                   java.lang.String skript,
                                   IterationsBedingung bedingung,
                                   AnweisungsBlock anweisungen)
        Konstruktor.
        Parameters:
        zeile - die Nummer der Zeile, in der die Anweisung definiert ist
        skript - der name des Skripts
        bedingung - die Bedingung unter der die Anweisungen ausgeführt werden
        anweisungen - die auszuführenden Anweisungen
    • Method Detail

      • getNachfolger

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck> getNachfolger()
        .
        See Also:
        Ausdruck.getNachfolger()
      • interpret

        public final java.lang.Object interpret​(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
        .
        Die Funktion erzeugt einen lokalen Kontext, in den alle Variablen des übergebenden Kontextes übernommen werden, um ein überschreiben einer Variable des umgebenden Kontextes durch eine Laufvariable zu vermeiden. Die Bedingung wird geprüft, wenn diese den Wahrheitswert "wahr" liefert, wird der Anweisungsblock ausgeführt. Dies wird solange wiederholt bis die Bedingung nicht mehr gültig ist.
        Tritt bei der Auswertung der Bedingung oder der Ausführung des Anweisungsblockes ein unbehandelter Fehler auf, wird die Ausführung der Iteration ebenfalls unterbrochen und die Ausnahme weitergereicht. Am Ende der Ausführung der Anweisung werden alle Daten, bis auf die Daten der Laufvariable in den umgebenden Kontext zurückübertragen.
        Die Anweisung liefert immer den Wert undefiniert zurück.
        See Also:
        Ausdruck.interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext)