parserImport Languages::MicroJava; parserImport Languages::MicroJava::Statements; parserImport Languages::MicroJava::Expressions; parserImport XOCL; import Languages; import MicroJava; import OCL; import Structure; import Statements; import Expressions; import Mappings; context Mappings @Operation iterExpToMicroJava(C,op,x,e,locals) let name = newName() then var = OCL::Var(name) in @Case op of "exists" do OCLtoMicroJava([| -> iterate( = false | or ) |],locals) end "forAll" do OCLtoMicroJava([| -> iterate( = true | and ) |],locals) end "select" do OCLtoMicroJava([| -> iterate( = .emptyCopy() | if then ->including() else end) |],locals) end else CommentLine("Unknown iteration operator: " + op) end end end