public class Semantics extends java.lang.Object implements SemanticChecks
ProtocolParser
und ProtocolTreeWalker
verwendet, um die Semantik des Skripts zu überprüfen. Falls processScript
true ist, dann wird
überprüft, ob jede Qualifizierung ein Objekt enthält. Enthält sie statt des Objekts einen Objekttyp, so wird eine CriticalParserException
geworfen.
Dies ist notwendig, da zur Datenaufbereitung konkrete Objekte benötigt werden. Vor der Verwendung von pi
durch andere Klassen muss SemanticChecks.cleanUp(ProcessingParameter,boolean)
aufgerufen werden, um abschließende semantische Überprüfungen
durchzuführen.Modifier and Type | Field and Description |
---|---|
private AggregationSemantics |
_aggregationSemantics
Objekt das die Semantik von Aggregationen überprüft
|
private AttributeGroupSemantics |
_attributeGroupSemantics
Objekt das die Semantik von Attributgruppen überprüft
|
private AttributeSemantics |
_attributeSemantics
Objekt das die Semantik von Attributen aus dem Spaltenbereich überprüft
|
private static Debug |
_debug
Debug Ausgabe
|
private ExpressionSemantics |
_expressionSemantics
Objekt das die Semantik von Ausdrücken überprüft
|
private MiscellaneousSemantics |
_miscSemantics
Objekt das die Semantik von diversen Konstrukten überprüft
|
private RealAttributeSemantics |
_realAttributeSemantics
Objekt das die Semantik von Realen Attributen überprüft
|
private ScopeSemantics |
_scopeSemantics
Objekt das die Semantik des Mit-Konstrukts überprüft
|
private java.util.List<SemanticChecks> |
_semanticChecks
Liste mit allen Objekten, die Semantiküberprüfungen durchführen.
|
private TempAttributeSemantics |
_tempAttributeSemantics
Objekt das die Semantik von temporären Attributen überprüft
|
private MemberCheck |
check
Objekt das Typüberprüfungen durchführt
|
protected DataModel |
model
Verwendetes DatenModel
|
protected ProcessingInformation |
pi
Datenobjekt, in dem alle zur Datenaufbereitung notwendigen Daten abgelegt werden
|
protected boolean |
processScript
True falls das Skript vollständig ausgewertet werden soll, d.h. wenn später die Datenaufbereitung auf pi gestartet werden soll.
|
protected SymbolTable |
symbolTable
Symboltabelle
|
Constructor and Description |
---|
Semantics(DataModel model,
SymbolTable symbol,
ProcessingInformation pi)
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
void |
cleanUp(ProcessingParameter pp,
boolean makeProcessScript)
Führt abschließende Semantiküberprüfungen durch und stellt die zur Datenaufbereitung notwendigen Informationen in
pi 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() |
private static final Debug _debug
protected DataModel model
private MemberCheck check
protected SymbolTable symbolTable
protected ProcessingInformation pi
protected boolean processScript
private java.util.List<SemanticChecks> _semanticChecks
private AggregationSemantics _aggregationSemantics
private AttributeGroupSemantics _attributeGroupSemantics
private AttributeSemantics _attributeSemantics
private ExpressionSemantics _expressionSemantics
private MiscellaneousSemantics _miscSemantics
private RealAttributeSemantics _realAttributeSemantics
private ScopeSemantics _scopeSemantics
private TempAttributeSemantics _tempAttributeSemantics
public Semantics(DataModel model, SymbolTable symbol, ProcessingInformation pi) throws CriticalParserException
model
- Verbindung zur Konfigurationsymbol
- Symboltabellepi
- Objekt, in das die gewonnenen Informationen abgelegt werden sollenCriticalParserException
- Falls einer der Parameter null istpublic void cleanUp(ProcessingParameter pp, boolean makeProcessScript) throws SemanticErrorException
pi
zusammen. Dabei werden die
SemanticChecks.cleanUp(ProcessingParameter,boolean)
Methoden aller Objekte, die Semantiküberprüfungen durchführen, aufgerufen. Außerdem wird, falls
processScript
true ist, überprüft, ob alle Aspekte gebunden werden konnten.cleanUp
in interface SemanticChecks
pp
- AuftragsparametermakeProcessScript
- true
wenn ein Protokoll erstellt werden soll. false
sonst.SemanticErrorException
- Falls es zu einem Fehler bei der Überprüfung kommtpublic ProcessingInformation getProcessingInformation()
public MemberCheck getCheck()
public AggregationSemantics getAggregationSemantics()
public AttributeGroupSemantics getAttributeGroupSemantics()
public AttributeSemantics getAttributeSemantics()
public ExpressionSemantics getExpressionSemantics()
public MiscellaneousSemantics getMiscSemantics()
public RealAttributeSemantics getRealAttributeSemantics()
public ScopeSemantics getScopeSemantics()
public TempAttributeSemantics getTempAttributeSemantics()
public SymbolTable getSymbolTable()