def mytest(): printer = PrettyPrinter() cond2 = model.Conditional(model.Number(30), [model.Number(10)], [model.Number(20)]) cond = model.Conditional( model.Number(42), [model.Number(1), cond2, model.Number(3)], [model.Number(4), model.Number(5)]) cond3 = model.Conditional(model.Number(228), [], []) func2 = model.Function(('p111', 'p222'), [ model.Reference("x"), model.Print(model.Reference("p111")), model.Read("myVar") ]) fd2 = model.FunctionDefinition("anotherPrettyFunc", func2) func = model.Function( (), [model.UnaryOperation("-", model.Number(100000000)), fd2, cond, cond3]) fd = model.FunctionDefinition("myPrettyFunc", func) printer.visit(fd) asd = model.BinaryOperation( model.BinaryOperation(model.Number(123), "+", model.Reference("xx")), "*", model.UnaryOperation( "-", model.BinaryOperation(model.Reference("xx"), "+", model.Reference("yy")))) printer.visit(asd) asd2 = model.BinaryOperation( model.BinaryOperation(model.Number(123), "/", model.Reference("xx")), "/", model.BinaryOperation( model.BinaryOperation(model.Reference("xx"), "/", model.Reference("yy")), "/", model.BinaryOperation(model.Number(123), "/", model.Reference("yy")))) printer.visit(asd2) printer.visit(model.FunctionCall(model.Reference("func"), [asd, asd2])) cond4 = model.Conditional(model.Number(228), []) printer.visit(cond4)
def main(): v = PrettyPrinter() v.visit(m.Print(m.Number(10))) v.visit(m.UnaryOperation('-', m.Number(10))) v.visit( m.BinaryOperation( m.BinaryOperation(m.Reference('foo'), '+', m.Number(7)), '*', m.Number(2))) v.visit(m.Read("read")) v.visit( m.Conditional( m.Number(5), [m.BinaryOperation(m.Reference('var'), '-', m.Number(-5))])) v.visit( m.FunctionDefinition( 'summer', m.Function(['a', 'b'], [ m.Print( m.BinaryOperation(m.Reference('a'), '+', m.Reference('b'))), m.BinaryOperation(m.Reference('a'), '+', m.Reference('b')) ]))) v.visit( m.FunctionCall( m.Reference('summer'), [m.Number(1), m.BinaryOperation(m.Number(2), '+', m.Number(3))])) v.visit( m.Print( m.Conditional(m.BinaryOperation(m.Number(4), '-', m.Number(4)), [], [ m.BinaryOperation(m.Number(9), '/', m.Number(3)), m.Reference('var') ]))) v.visit( m.FunctionDefinition( 'abs', m.Function(['a', 'b'], [ m.Conditional( m.BinaryOperation( m.BinaryOperation(m.Reference('a'), '-', m.Reference('b')), '>', m.Number(0)), [ m.Print( m.BinaryOperation(m.Reference('a'), '-', m.Reference('b'))) ], [ m.Print( m.BinaryOperation(m.Reference('b'), '-', m.Reference('a'))) ]) ]))) v.visit( m.FunctionCall( m.Reference('abs'), [m.Number(23), m.UnaryOperation('-', m.Number(-30))])) v.visit(m.FunctionDefinition('fu', m.Function([], []))) v.visit(m.FunctionCall(m.Reference('fu'), [])) v.visit(m.Print(m.BinaryOperation(m.Number(5), '&&', m.Number(6)))) v.visit(m.Print(m.BinaryOperation(m.Number(3), '<', m.Number(5)))) v.visit(m.Print(m.Conditional(m.Number(3), None, None))) v.visit(m.Print(m.BinaryOperation(m.Number(1), '||', m.Number(4))))
def test_read(self): read = model.Read("x") printer = PrettyPrinter() result = printer.visit(read) assert result == "read x;\n"
def visit_read(self, read_expr): return m.Read(read_expr.name)
def parse_read(self): self.ensure_token('read') name = self.parse_name() return model.Read(name)