| |
62 Angenommene Spezifikation UML Ocl 2,0 Mehrfache Vorkommen der Produktionsnamen. In einigen Produktionsrichtlinien wird der gleiche Elementname mehr als einmal verwendet. , um zwischen diesen Vorkommen zu unterscheiden postfixed die Namen durch eine Zahl in den eckigen Klammern, wie im folgenden Beispiel. CollectionRangeCS::= OclExpressionCS[1 ] '..', OclExpressionCS[2 ] Disambiguierende Richtlinien. Einige der Produktionsrichtlinien sind syntaktisch vieldeutig. Für solche disambiguierende Produktionen Richtlinien sind definiert worden. Mit diesen Richtlinien wird jede Produktion und folglich die komplette Grammatik nonambiguous. Für Beispiel, wenn a.b() analysiert wird gibt es mindestens drei mögliche Satzgliederungslösungen: 1. a ist ein VariableExpr (ein Hinweis auf ließ oder eine iteratorvariable) 2. a ist ein AttributeCallExp (Selbst ist implizit) 3. a ist ein NavigationCallExp (Selbst ist implizit) Eine Entscheidung, auf der zu verwendende die Grammatikproduktionsrichtlinie, nur aufgestellt werden kann, wenn das Klima des Ausdruckes genommen wird in Betracht. Die disambiguierenden Richtlinien beschreiben diese Wahlen, die auf dem Klima basieren und erlauben die eindeutige Satzgliederung von a.b() . In diesem Fall würden die Richtlinien (auf normales Englisch) sein: ? wenn a ist eine definierte Variable im gegenwärtigen Bereich, a ist ein VariableExp. ? wenn nicht, Überprüfungsselbst- und alle iteratorvariablen im Bereich. Für den der innerste Bereich, wie irgendein ist Tabelle 13 - Die Klimaart ModelElement (vom Kern) Klima LEER _ ENV : Klima lookupLocal() lookup() lookupLocal() lookup() addElement() addNamespace() nestedEnvironment() lookupImplicitAttribute() lookupImplicitSourceForAttribute() lookupImplicitAssociationEnd() lookupImplicitOperation() NamedElement Name: Zeichenkette mayBeImplicit: Boolesch getType() +namedElements 0..n +referredElement 1 |  |
|
| |
|
|