• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python pypeg2.compose函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中pypeg2.compose函数的典型用法代码示例。如果您正苦于以下问题:Python compose函数的具体用法?Python compose怎么用?Python compose使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了compose函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: compose

    def compose(self, p, **x):
        """Produce the equivalent simple language as matched.

        Might have different whitespace and be otherwise formatted
        in a normalized fashion.

        """
        return "{0} = {1}".format(compose(self[0]), compose(self[1]))
开发者ID:jserv,项目名称:lang-simple,代码行数:8,代码来源:parsing_simple.py


示例2: test_expression

 def test_expression(string):
     expression = expressions.parse(string)
     switched = expression.accept(Switcher())
     assert_equal(compose(expression)
                    .replace('and', '%OLDAND%')
                    .replace('or', 'and')
                    .replace('%OLDAND%', 'or'),
                  compose(switched))
开发者ID:varda,项目名称:varda,代码行数:8,代码来源:test_expressions.py


示例3: test_if_tx1yx2y

    def test_if_tx1yx2y(self):
        """Test parsing if statement if (x > y) {...} else {...}."""
        expected = "if (x > y)\n"
        expected += "{\n"
        expected += "  x = 1;\n"
        expected += "  y = x * 3;\n"
        expected += "}\n"
        expected += "else\n"
        expected += "{\n"
        expected += "  x = 2;\n"
        expected += "  y = 3 * x;\n"
        expected += "}"
        ast = parse(expected, p.If)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual(expected, c)
        self.assertEqual(
            If(
                GreaterThan(Variable('x'), Variable('y')),
                Sequence(
                    Assign('x', Number(1)),
                    Assign('y', Multiply(Variable('x'), Number(3)))),
                Sequence(
                    Assign('x', Number(2)),
                    Assign('y', Multiply(Number(3), Variable('x'))))),
            e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:27,代码来源:test_parsing_simple.py


示例4: test_not_x

    def test_not_x(self):
        """Test parsing logical negation expression !x."""
        ast = parse("!x", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("!x", c)
        self.assertEqual(Not(Variable('x')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例5: test_multiplication_15x

    def test_multiplication_15x(self):
        """Test parsing multiplication expression 1.5 * x."""
        ast = parse("1.5 * x", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("1.5 * x", c)
        self.assertEqual(Multiply(Number(1.5), Variable('x')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例6: test_division_xy

    def test_division_xy(self):
        """Test parsing division expression x / y."""
        ast = parse("x / y", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("x / y", c)
        self.assertEqual(Divide(Variable('x'), Variable('y')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例7: test_or_nxy

    def test_or_nxy(self):
        """Test parsing logical or expression !x || y."""
        ast = parse("!x || y", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("!x || y", c)
        self.assertEqual(Or(Not(Variable('x')), Variable('y')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例8: test_assign_nxt

    def test_assign_nxt(self):
        """Test parsing assignment statement."""
        ast = parse("x = !true;", p.Assign)
        c = compose(ast, indent="  ", autoblank=False)
        s = ast.to_simple()

        self.assertEqual("x = !true;", c)
        self.assertEqual(Assign('x', Not(Boolean(True))), s)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例9: test_lessthan_2m1m

    def test_lessthan_2m1m(self):
        """Test parsing less than expression -2 - -1."""
        ast = parse("-2 < -1", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("-2 < -1", c)
        self.assertEqual(LessThan(Number(-2), Number(-1)), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例10: test_or_xf

    def test_or_xf(self):
        """Test parsing logical or expression x || false."""
        ast = parse("x || false", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("x || false", c)
        self.assertEqual(Or(Variable('x'), Boolean(False)), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例11: test_subtraction_xy

    def test_subtraction_xy(self):
        """Test parsing subtraction expression x - y."""
        ast = parse("x - y", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("x - y", c)
        self.assertEqual(Subtract(Variable('x'), Variable('y')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例12: test_greaterthan_x25

    def test_greaterthan_x25(self):
        """Test parsing greater than expression x > 2.5."""
        ast = parse("x > 2.5", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("x > 2.5", c)
        self.assertEqual(GreaterThan(Variable('x'), Number(2.5)), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例13: test_subtraction_15x

    def test_subtraction_15x(self):
        """Test parsing subtraction expression 1.5 - x."""
        ast = parse("1.5 - x", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("1.5 - x", c)
        self.assertEqual(Subtract(Number(1.5), Variable('x')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例14: test_subtraction_2m1m

    def test_subtraction_2m1m(self):
        """Test parsing subtraction expression -2 - -1."""
        ast = parse("-2 - -1", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("-2 - -1", c)
        self.assertEqual(Subtract(Number(-2), Number(-1)), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例15: test_multiplication_xy

    def test_multiplication_xy(self):
        """Test parsing multiplication expression x * y."""
        ast = parse("x * y", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("x * y", c)
        self.assertEqual(Multiply(Variable('x'), Variable('y')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例16: test_not_1p1

    def test_not_1p1(self):
        """Test parsing logical negation expression !1.1."""
        ast = parse("!1.1", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("!1.1", c)
        self.assertEqual(Not(Number(1.1)), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例17: test_lessthan_15x

    def test_lessthan_15x(self):
        """Test parsing less than expression 1.5 < x."""
        ast = parse("1.5 < x", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("1.5 < x", c)
        self.assertEqual(LessThan(Number(1.5), Variable('x')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例18: test_or_ft

    def test_or_ft(self):
        """Test parsing logical or expression false || true."""
        ast = parse("false || true", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("false || true", c)
        self.assertEqual(Or(Boolean(False), Boolean(True)), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例19: test_lessthan_xy

    def test_lessthan_xy(self):
        """Test parsing less than expression x < y."""
        ast = parse("x < y", p.Expression)
        c = compose(ast, indent="  ", autoblank=False)
        e = ast.to_simple()

        self.assertEqual("x < y", c)
        self.assertEqual(LessThan(Variable('x'), Variable('y')), e)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py


示例20: test_number_fp_1

    def test_number_fp_1(self):
        """Test parsing floating point literal value 1.23."""
        ast = parse("1.23", p.term_expression)
        c = compose(ast, indent="  ", autoblank=False)
        n = ast.to_simple()

        self.assertEqual("1.23", c)
        self.assertEqual(Number(1.23), n)
开发者ID:JeNeSuisPasDave,项目名称:lang-simple,代码行数:8,代码来源:test_parsing_simple.py



注:本文中的pypeg2.compose函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python pypeg2.parse函数代码示例发布时间:2022-05-27
下一篇:
Python data.makePypeLocalFile函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap