Package de.bsvrz.ibv.uda.interpreter
Class AnweisungsBlock
- java.lang.Object
-
- de.bsvrz.ibv.uda.interpreter.anweisung.AbstractAnweisung
-
- de.bsvrz.ibv.uda.interpreter.AnweisungsBlock
-
- All Implemented Interfaces:
Anweisung
,de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
- Direct Known Subclasses:
BedingterAnweisungsBlock
public class AnweisungsBlock extends AbstractAnweisung
Ein Block von Anweisungen in einem Uda-Skript.
EIn Anweisungsblock setzt sich aus einer Liste von Anweisungen zusammen, die nacheinander ausgeführt werden. Ein Skript besteht im wesentlichen selbst aus einem Anweisungsblock. Anweisungsblöcke können aber auch Bestandteile von anderen strukturierten Anweisungen sein.
-
-
Constructor Summary
Constructors Constructor Description AnweisungsBlock(int zeile, java.lang.String skript)
Konstruktor.
-
Method Summary
Modifier and Type Method Description void
addAnweisung(de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck anweisung)
fügt dem Anweisungsblock eine Anweisung hinzu.
Die Funktion wird vom Interpreter beim Übersetzen des vom Parser gelieferten AST in den Interpreterbaum aufgerufen.protected void
addAnweisungen(java.util.Collection<Anweisung> anweisungen)
fügt der Anweisungsliste die übergebene Liste von Anweisungen hinzu.void
beenden()
beendet die Ausführung des Anweisungsblock nach dem Ende der Ausführung der aktuellen Anweisung.java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck>
getNachfolger()
.java.lang.Object
interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
Auswertung der Anweisungen des Anweisungsblockes.
Die Funktion führt nacheinander alle Anweisungen die in dem Block enthalten sind aus.protected void
setRunning(boolean status)
setzt den Status für die Ausführung der nachfolgenden Anweisungen.-
Methods inherited from class de.bsvrz.ibv.uda.interpreter.anweisung.AbstractAnweisung
erzeugeAnweisungsFehler, getSkript, getZeile
-
-
-
-
Method Detail
-
addAnweisung
public void addAnweisung(de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck anweisung)
fügt dem Anweisungsblock eine Anweisung hinzu.
Die Funktion wird vom Interpreter beim Übersetzen des vom Parser gelieferten AST in den Interpreterbaum aufgerufen.- Parameters:
anweisung
- die einzufügende Anweisung
-
addAnweisungen
protected void addAnweisungen(java.util.Collection<Anweisung> anweisungen)
fügt der Anweisungsliste die übergebene Liste von Anweisungen hinzu.- Parameters:
anweisungen
- eine Liste von Anweisungen
-
beenden
public void beenden()
beendet die Ausführung des Anweisungsblock nach dem Ende der Ausführung der aktuellen Anweisung.
-
getNachfolger
public java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck> getNachfolger()
.- See Also:
Ausdruck.getNachfolger()
-
interpret
public java.lang.Object interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
Auswertung der Anweisungen des Anweisungsblockes.
Die Funktion führt nacheinander alle Anweisungen die in dem Block enthalten sind aus. Das Ergebnis der Auswertung ist das Ergebnis der zuletzt ausgeführten Anweisungen. Das ist in der Regel eine Rückgabeanweisung.
Tritt bei der Ausführung des Anweisungsblocks ein Fehler auf, der nicht innerhalb der betroffenen Anweisung abgefangen werden konnte, wird der aufgetretene Fehler als Ausnahme geworfen.
Wird von den ausgeführten Anweisungen kein Ergebnis ermittelt, liefert die Funktion den Wert "undefiniert".
- See Also:
Ausdruck.interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext)
-
setRunning
protected void setRunning(boolean status)
setzt den Status für die Ausführung der nachfolgenden Anweisungen.- Parameters:
status
- der Status
-
-