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 vomProtocolParserundProtocolTreeWalkerverwendet, um die Semantik des Skripts zu überprüfen. FallsprocessScripttrue ist, dann wird überprüft, ob jede Qualifizierung ein Objekt enthält. Enthält sie statt des Objekts einen Objekttyp, so wird eineCriticalParserExceptiongeworfen. Dies ist notwendig, da zur Datenaufbereitung konkrete Objekte benötigt werden. Vor der Verwendung vonpidurch 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.DataModelmodelVerwendetes DatenModelprotected ProcessingInformationpiDatenobjekt, in dem alle zur Datenaufbereitung notwendigen Daten abgelegt werdenprotected booleanprocessScriptTrue 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 SymbolTablesymbolTableSymboltabelle
-
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 voidcleanUp(ProcessingParameter pp, boolean makeProcessScript)Führt abschließende Semantiküberprüfungen durch und stellt die zur Datenaufbereitung notwendigen Informationen inpizusammen.AggregationSemanticsgetAggregationSemantics()AttributeGroupSemanticsgetAttributeGroupSemantics()AttributeSemanticsgetAttributeSemantics()MemberCheckgetCheck()Liefert das Hilfsobjekt für Typüberprüfungen zurück.ExpressionSemanticsgetExpressionSemantics()MiscellaneousSemanticsgetMiscSemantics()ProcessingInformationgetProcessingInformation()Gibt die zur Datenaufbereitung notwendigen Informationen zurück.RealAttributeSemanticsgetRealAttributeSemantics()ScopeSemanticsgetScopeSemantics()SymbolTablegetSymbolTable()TempAttributeSemanticsgetTempAttributeSemantics()
-
-
-
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 CriticalParserExceptionKonstruktor. 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 inpizusammen. Dabei werden dieSemanticChecks.cleanUp(ProcessingParameter,boolean)Methoden aller Objekte, die Semantiküberprüfungen durchführen, aufgerufen. Außerdem wird, fallsprocessScripttrue ist, überprüft, ob alle Aspekte gebunden werden konnten.- Specified by:
cleanUpin interfaceSemanticChecks- Parameters:
pp- AuftragsparametermakeProcessScript-truewenn ein Protokoll erstellt werden soll.falsesonst.- 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()
-
-