def parse_to_ivy(s): dm = dp.parse(s) im = ip.parse(preamble) with ModuleContext(dm,im): dm.to_ivy() print im return im
interpret * -> * """ def parse_to_ivy(s): dm = dp.parse(s) im = ip.parse(preamble) with ModuleContext(dm,im): dm.to_ivy() print im return im if __name__ == "__main__": with iu.ErrorPrinter(): dm = dp.parse(""" // a comment var x : bool; var y : object; method P(y:object) returns (x:object) modifies x; ensures x == y; { x := y; assume x == y; }""") im = ip.Ivy() with ModuleContext(dm,im): dm.to_ivy() print im