Class LaufIterationsBedingung
- java.lang.Object
-
- de.bsvrz.ibv.uda.interpreter.anweisung.iteration.LaufIterationsBedingung
-
- All Implemented Interfaces:
IterationsBedingung
,de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
public class LaufIterationsBedingung extends java.lang.Object implements IterationsBedingung
Bedingung für eine Iteration mit einer numerischen Laufvariable.
Die Verwendung entspricht einer FOR-Schleife mit einem numerischen Laufindex, einem vorgegebenen Startwert und einer optionalen Schrittweite für die Inkrementierung der Laufvariable.
-
-
Constructor Summary
Constructors Constructor Description LaufIterationsBedingung(Variable variable, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck von, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck bis, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck schrittweite)
Konstruktor.
-
Method Summary
Modifier and Type Method Description java.lang.String
getLaufVariable()
liefert den Namen der Laufvariable, die in der Bedingung verwendet wird oder null, wenn keine solche existiert.java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck>
getNachfolger()
.de.bsvrz.sys.funclib.bitctrl.interpreter.logik.LogischerWert
interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
Die Funktion setzt den Wert der Laufvariable.boolean
isGueltig(SkriptKontext kontext)
ermittelt, ob die betreffende Bedingung gültig ist.void
reset()
setzt die intern gespeicherten Informationen einer Iterationsbedingung zurück.
-
-
-
Constructor Detail
-
LaufIterationsBedingung
public LaufIterationsBedingung(Variable variable, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck von, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck bis, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck schrittweite)
Konstruktor.- Parameters:
variable
- die Variable für den Laufindexvon
- der Ausdruck für den Startwertbis
- der Ausdruck für den Endwertschrittweite
- der Ausdruck für die Schrittweite
-
-
Method Detail
-
interpret
public de.bsvrz.sys.funclib.bitctrl.interpreter.logik.LogischerWert interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
Die Funktion setzt den Wert der Laufvariable. Dazu wird im ersten Schritt der Ausdruck für den Startwert ausgewertet. In jedem folgenden Schritt der Ausdruck für die Schrittweite. Der Inhalt der Laufvariable wird mit dem Wert der Auswertung des Ausdrucks für den Endwert verglichen.
Es wird der Wert "wahr" geliefert solange der Wert der Laufvariable <= dem Wert des Ausdrucks für den Endwert ist.
Nicht behandelte Fehler bei der Auswertung der Ausdrücke werden weitergereicht.- Specified by:
interpret
in interfacede.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
- Parameters:
kontext
- der Kontext, in dem der Ausdruck ausgewertet wird- Returns:
- einen
LogischerWert
, der den Wert der Bedingung darstellt - See Also:
Ausdruck.interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext)
-
getLaufVariable
public java.lang.String getLaufVariable()
liefert den Namen der Laufvariable, die in der Bedingung verwendet wird oder null, wenn keine solche existiert..- Specified by:
getLaufVariable
in interfaceIterationsBedingung
- Returns:
- den Namen ode null
- See Also:
IterationsBedingung.getLaufVariable()
-
isGueltig
public boolean isGueltig(SkriptKontext kontext)
ermittelt, ob die betreffende Bedingung gültig ist..- Specified by:
isGueltig
in interfaceIterationsBedingung
- Parameters:
kontext
- der Kontext für die üÜberprüfung der Gültigkeit- Returns:
- die Gültigkeit der Bedingung
- See Also:
IterationsBedingung.isGueltig(de.bsvrz.ibv.uda.interpreter.daten.SkriptKontext)
-
reset
public void reset()
setzt die intern gespeicherten Informationen einer Iterationsbedingung zurück.. Die Markierung für die Initialisierung der Laufvariable wird zurückgesetzt.- Specified by:
reset
in interfaceIterationsBedingung
- See Also:
IterationsBedingung.reset()
-
getNachfolger
public java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck> getNachfolger()
.- Specified by:
getNachfolger
in interfacede.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
- See Also:
Ausdruck.getNachfolger()
-
-