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 |
---|---|
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() |
protected DataModel model
protected SymbolTable symbolTable
protected ProcessingInformation pi
protected boolean processScript
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()