Class Semantics
- java.lang.Object
-
- de.bsvrz.pua.prot.interpreter.semantics.Semantics
-
- All Implemented Interfaces:
SemanticChecks
public class Semantics extends java.lang.Object implements SemanticChecks
Diese Klasse bietet Methoden zum Überprüfen der Semantik eines Skripts. Semantics wird vomProtocolParser
undProtocolTreeWalker
verwendet, um die Semantik des Skripts zu überprüfen. FallsprocessScript
true ist, dann wird überprüft, ob jede Qualifizierung ein Objekt enthält. Enthält sie statt des Objekts einen Objekttyp, so wird eineCriticalParserException
geworfen. Dies ist notwendig, da zur Datenaufbereitung konkrete Objekte benötigt werden. Vor der Verwendung vonpi
durch andere Klassen mussSemanticChecks.cleanUp(ProcessingParameter,boolean)
aufgerufen werden, um abschließende semantische Überprüfungen durchzuführen.
-
-
Field Summary
Fields Modifier and Type Field Description protected de.bsvrz.dav.daf.main.config.DataModel
model
Verwendetes DatenModelprotected ProcessingInformation
pi
Datenobjekt, in dem alle zur Datenaufbereitung notwendigen Daten abgelegt werdenprotected boolean
processScript
True falls das Skript vollständig ausgewertet werden soll, d.h. wenn später die Datenaufbereitung auf pi gestartet werden soll.
Bei 'False' wird zum Beispiel nicht darauf bestanden, dass eine Bindung für jedes Objekt existiertprotected SymbolTable
symbolTable
Symboltabelle
-
Constructor Summary
Constructors Constructor Description Semantics(de.bsvrz.dav.daf.main.config.DataModel model, SymbolTable symbol, ProcessingInformation pi)
Konstruktor.
-
Method Summary
Modifier and Type Method Description void
cleanUp(ProcessingParameter pp, boolean makeProcessScript)
Führt abschließende Semantiküberprüfungen durch und stellt die zur Datenaufbereitung notwendigen Informationen inpi
zusammen.AggregationSemantics
getAggregationSemantics()
AttributeGroupSemantics
getAttributeGroupSemantics()
AttributeSemantics
getAttributeSemantics()
MemberCheck
getCheck()
Liefert das Hilfsobjekt für Typüberprüfungen zurück.ExpressionSemantics
getExpressionSemantics()
MiscellaneousSemantics
getMiscSemantics()
ProcessingInformation
getProcessingInformation()
Gibt die zur Datenaufbereitung notwendigen Informationen zurück.RealAttributeSemantics
getRealAttributeSemantics()
ScopeSemantics
getScopeSemantics()
SymbolTable
getSymbolTable()
TempAttributeSemantics
getTempAttributeSemantics()
-
-
-
Field Detail
-
model
protected de.bsvrz.dav.daf.main.config.DataModel model
Verwendetes DatenModel
-
symbolTable
protected SymbolTable symbolTable
Symboltabelle
-
pi
protected ProcessingInformation pi
Datenobjekt, in dem alle zur Datenaufbereitung notwendigen Daten abgelegt werden
-
processScript
protected boolean processScript
True falls das Skript vollständig ausgewertet werden soll, d.h. wenn später die Datenaufbereitung auf pi gestartet werden soll.
Bei 'False' wird zum Beispiel nicht darauf bestanden, dass eine Bindung für jedes Objekt existiert
-
-
Constructor Detail
-
Semantics
public Semantics(de.bsvrz.dav.daf.main.config.DataModel model, SymbolTable symbol, ProcessingInformation pi) throws CriticalParserException
Konstruktor. Erzeugt die Objekte zur Semantiküberprüfung.- Parameters:
model
- Verbindung zur Konfigurationsymbol
- Symboltabellepi
- Objekt, in das die gewonnenen Informationen abgelegt werden sollen- Throws:
CriticalParserException
- Falls einer der Parameter null ist
-
-
Method Detail
-
cleanUp
public void cleanUp(ProcessingParameter pp, boolean makeProcessScript) throws SemanticErrorException
Führt abschließende Semantiküberprüfungen durch und stellt die zur Datenaufbereitung notwendigen Informationen inpi
zusammen. Dabei werden dieSemanticChecks.cleanUp(ProcessingParameter,boolean)
Methoden aller Objekte, die Semantiküberprüfungen durchführen, aufgerufen. Außerdem wird, fallsprocessScript
true ist, überprüft, ob alle Aspekte gebunden werden konnten.- Specified by:
cleanUp
in interfaceSemanticChecks
- Parameters:
pp
- AuftragsparametermakeProcessScript
-true
wenn ein Protokoll erstellt werden soll.false
sonst.- Throws:
SemanticErrorException
- Falls es zu einem Fehler bei der Überprüfung kommt
-
getProcessingInformation
public ProcessingInformation getProcessingInformation()
Gibt die zur Datenaufbereitung notwendigen Informationen zurück.- Returns:
- ProcessingInformation Gibt die zur Datenaufbereitung notwendigen Informationen zurück.
-
getCheck
public MemberCheck getCheck()
Liefert das Hilfsobjekt für Typüberprüfungen zurück.- Returns:
- Hilfsobjekt für Typüberprüfungen.
-
getAggregationSemantics
public AggregationSemantics getAggregationSemantics()
- Returns:
- Objekt das die Semantik von Aggregationen überprüft
-
getAttributeGroupSemantics
public AttributeGroupSemantics getAttributeGroupSemantics()
- Returns:
- Objekt das die Semantik von Attributgruppen überprüft
-
getAttributeSemantics
public AttributeSemantics getAttributeSemantics()
- Returns:
- Objekt das die Semantik von Attributen aus dem Spaltenbereich überprüft
-
getExpressionSemantics
public ExpressionSemantics getExpressionSemantics()
- Returns:
- Objekt das die Semantik von Ausdrücken überprüft
-
getMiscSemantics
public MiscellaneousSemantics getMiscSemantics()
- Returns:
- Objekt das die Semantik von diversen Konstrukten überprüft
-
getRealAttributeSemantics
public RealAttributeSemantics getRealAttributeSemantics()
- Returns:
- Objekt das die Semantik von Realen Attributen überprüft
-
getScopeSemantics
public ScopeSemantics getScopeSemantics()
- Returns:
- Objekt das die Semantik des Mit-Konstrukts überprüft
-
getTempAttributeSemantics
public TempAttributeSemantics getTempAttributeSemantics()
- Returns:
- Objekt das die Semantik von temporären Attributen überprüft
-
getSymbolTable
public SymbolTable getSymbolTable()
-
-