de.bsvrz.pua.prot.interpreter.semantics
Class TempAttributeSemantics

java.lang.Object
  extended by de.bsvrz.pua.prot.interpreter.semantics.TempAttributeSemantics
All Implemented Interfaces:
SemanticChecks

public class TempAttributeSemantics
extends java.lang.Object
implements SemanticChecks

Semantische Überprüfung der temporären Attribute.

Version:
$Revision: 1.1 $ / $Date: 2008/01/22 16:38:04 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Martin Hilgers

Constructor Summary
TempAttributeSemantics(Semantics semantics, AttributeSemantics attributeSemantics)
           
 
Method Summary
 void addTempAttribute(java.lang.String name)
          Fügt ein Platzhalter Attribut in die Liste der Attribute ein.
 void addTempAttributeDefinition(AST ast, java.lang.String attribute, java.lang.String type, ExpressionTree expression)
          Überprüft die Definition eines temporären Attributs.
 void cleanUp(ProcessingParameter pp, boolean processScript)
          Führt eine abschließende Überprüfung durch.
- Stellt sicher, dass jedes verwendete temporäre Attribut eine gültige Definition besitzt.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TempAttributeSemantics

public TempAttributeSemantics(Semantics semantics,
                              AttributeSemantics attributeSemantics)
Parameters:
semantics -
attributeSemantics -
Method Detail

addTempAttributeDefinition

public void addTempAttributeDefinition(AST ast,
                                       java.lang.String attribute,
                                       java.lang.String type,
                                       ExpressionTree expression)
                                throws CriticalParserException
Überprüft die Definition eines temporären Attributs. Falls es auf ein reales Attribut verweist, wird der Attribut-Zähler AttributeSemantics.incAttributeCount() erhöht.

Parameters:
ast - Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)
attribute - Temporäres Attribut
type - Typ des temporären Attributs
expression - Ausdruck um den Wert des temporären AttributeDescription zu berechnen
Throws:
CriticalParserException - Falls das Attribut nicht korrekt definiert wurde oder es zu einem Kommunikationsfehler kommt

addTempAttribute

public void addTempAttribute(java.lang.String name)
Fügt ein Platzhalter Attribut in die Liste der Attribute ein. Dies ist notwendig, damit die Reihenfolge der Attribute bestehen bleibt! Der Platzhalter muss abschließend (@see #cleanUp(ProcessingParameter, boolean)} durch das jeweilige temporäre Attribut ersetzt werden.

Parameters:
name - Name des temporären Attributs

cleanUp

public void cleanUp(ProcessingParameter pp,
                    boolean processScript)
             throws SemanticErrorException
Führt eine abschließende Überprüfung durch.
- Stellt sicher, dass jedes verwendete temporäre Attribut eine gültige Definition besitzt.
- Stellt sicher, dass es keine Rekursion aufgetreten ist.
- Ersetzt Platzhalter-Attribute(von addTempAttribute(String) eingefügt) durch das jeweilige temporäre Attribut.

Specified by:
cleanUp in interface SemanticChecks
Parameters:
pp - Wird nicht berücksichtigt.
processScript - Hat keine Bedeutung.
Throws:
SemanticErrorException - Undefiniertes temporäres Attribut.


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.