9.3.27 VariableDeclarationCS

在变量声明中,类型和初始化表达式是可选的。当这些事必须的情况下,它们就要被定义在一个使用变量声明的产生式规则中。

VariableDeclarationCS ::= simpleNameCS (‘:’ typeCS)? ( ‘=’ OclExpressionCS )?

抽象语法映射

VariableDeclarationCS.ast : VariableDeclaration

合成的属性

VariableDeclarationCS.ast.name = simpleNameCS.ast
VariableDeclarationCS.ast.initExpression = OclExpressionCS.ast
-- 根据抽象语法,良构的变量声明必须有一个类型
-- 值null用于在具体语法中没有给定类型的情况
-- 使用它的产生式规则需要检查这种类型
VariableDeclarationCS.ast.type = if typeCS->notEmpty() then
    typeCS.ast
else if OclExpressionCS.ast.type->notEmpty() then
        OclExpressionCS.ast.type
     else
        null
     endif
endif

继承的属性

OclExpressionCS.env = VariableDeclarationCS.env
typeCS.env = VariableDeclarationCS.env

歧义消除规则

--none

results matching ""

    No results matching ""