4.1. Literals

Figure 4.1. 

Expression

Type

VoidLiteral

result := kermeta::standard::Void

BooleanLiteral

result := kermeta::standard::Boolean

IntegerLiteral

result := kermeta::standard::Integer

StringLiteral

result := kermeta::standard::String

TypeLiteral

if expression.typeref.upper == 1 then

result := expression.typeref.type

else

if expression.typeref.unique and expression.typeref.ordered then

result := OrderedSet<expression.typeref.type>

end

if expression.typeref.unique and not expression.typeref.ordered then

result := Set<expression.typeref.type>

end

if not expression.typeref.unique and expression.typeref.ordered then

result := Sequence<expression.typeref.type>

end

if not expression.typeref.unique and not expression.typeref.ordered then

result := Bag<expression.typeref.type>

end

end