Class 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 vom 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.
    • 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 Konfiguration
        symbol - Symboltabelle
        pi - Objekt, in das die gewonnenen Informationen abgelegt werden sollen
        Throws:
        CriticalParserException - Falls einer der Parameter null ist
    • Method Detail

      • 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