parserImport XOCL; import Languages; import MicroJava; import Expressions; context Expressions @Class BinExp extends JExp @Attribute left : JExp (?) end @Attribute op : String (?) end @Attribute right : JExp (?) end @Constructor(left,op,right) ! end @Operation pprint(out) left.pprint(out); if op.isKindOf(String) then format(out," ~S ",Seq{op}) else op.pprint(out,0) end; right.pprint(out) end @Operation toXOCL():Performable OCL::BinExp(left.toXOCL(),self.opToXOCL(),right.toXOCL()) end @Operation opToXOCL():String @Case op of "==" do "=" end else op end end end