9.3.2 OclExpressionCS

OclExpression有多条产生式规则,每一条对应一个OclExpression的子类。注意,UnspecifiedValueExp在OclMessageArgCS中进行显式的处理,因为那里是它唯一被允许呆的地方。

[A] OclExpressionCS ::= CallExpCS
[B] OclExpressionCS ::= VariableExpCS
[C] OclExpressionCS ::= LiteralExpCS
[D] OclExpressionCS ::= LetExpCS
[E] OclExpressionCS ::= OclMessageExpCS
[F] OclExpressionCS ::= IfExpCS

抽象语法映射

OclExpressionCS.ast : OclExpression

合成的属性

[A] OclExpressionCS.ast = CallExpCS.ast
[B] OclExpressionCS.ast = VariableExpCS.ast
[C] OclExpressionCS.ast = LiteralExpCS.ast
[D] OclExpressionCS.ast = LetExpCS.ast
[E] OclExpressionCS.ast = OclMessageExpCS.ast
[F] OclExpressionCS.ast = IfExpCS.ast

继承的属性

[A] CallExpCS.env         = OclExpressionCS.env
[B] VariableExpCS.env     = OclExpressionCS.env
[C] LiteralExpCS.env      = OclExpressionCS.env
[D] LetExpCS.env          = OclExpressionCS.env
[E] OclMessageExpCS.env   = OclExpressionCS.env
[F] IfExpCS.env           = OclExpressionCS.env

歧义消除规则

歧义消除规则定义在每个孩子上。

results matching ""

    No results matching ""