Class BedingterAnweisungsBlock
- java.lang.Object
-
- de.bsvrz.ibv.uda.interpreter.anweisung.AbstractAnweisung
-
- de.bsvrz.ibv.uda.interpreter.AnweisungsBlock
-
- de.bsvrz.ibv.uda.interpreter.anweisung.BedingterAnweisungsBlock
-
- All Implemented Interfaces:
Anweisung
,de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
public class BedingterAnweisungsBlock extends AnweisungsBlock
die Repräsentation eines bedingten Anweisungsblocks.
Bedingte Anweisungsblöcke werden innerhalb einer WennAnweisung verwendet, um die einzelnen Alternativen bei der Ausführung der Anweisung darzustellen.
Die Auswertung des Ausdrucks entspricht der Auswertung eines Anweisungsblocks. Im Gegensatz zum "einfachen" Anweisungsblock werden die Anweisungen jedoch nur ausgeführt, wenn die enthaltene Bedingung gültig ist.
Das Ergebnis der Auswertung eines "Bedingten Anweisungsblocks" ist ein logischer Wert, der beschreibt, ob der Anweisungsblock ausgeführt wurde oder nicht.
Eine bei der Ausführung des Anweisungsblocks nicht abgefangene Ausnahme wird nach außen weitergereicht.
-
-
Constructor Summary
Constructors Constructor Description BedingterAnweisungsBlock(int zeile, java.lang.String skript, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck bedingung, java.util.Collection<Anweisung> anweisungen)
Konstruktor.
-
Method Summary
Modifier and Type Method Description java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck>
getNachfolger()
.boolean
isGueltig(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
ermittelt, ob die Bedingung düe die Ausführung des Blocks erfüllt ist.-
Methods inherited from class de.bsvrz.ibv.uda.interpreter.AnweisungsBlock
addAnweisung, addAnweisungen, beenden, interpret, setRunning
-
Methods inherited from class de.bsvrz.ibv.uda.interpreter.anweisung.AbstractAnweisung
erzeugeAnweisungsFehler, getSkript, getZeile
-
-
-
-
Constructor Detail
-
BedingterAnweisungsBlock
public BedingterAnweisungsBlock(int zeile, java.lang.String skript, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck bedingung, java.util.Collection<Anweisung> anweisungen)
Konstruktor.- Parameters:
zeile
- die Nummer der Zeile, in der der Anweisungsblock im Quelltext definiert istskript
- der Name des Skriptsbedingung
- die Bedingung für die Ausführung des Anweisungenanweisungen
- die auszuführenden Anweisungen
-
-
Method Detail
-
isGueltig
public boolean isGueltig(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
ermittelt, ob die Bedingung düe die Ausführung des Blocks erfüllt ist.- Parameters:
kontext
- der Konetxt für die Auswerting der Bedingung- Returns:
- wahr, wenn die Bedingung gültig ist
-
getNachfolger
public java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck> getNachfolger()
..- Specified by:
getNachfolger
in interfacede.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
- Overrides:
getNachfolger
in classAnweisungsBlock
- See Also:
AnweisungsBlock.getNachfolger()
-
-