当前位置: 首页>>代码示例>>Python>>正文


Python symbol.expr方法代码示例

本文整理汇总了Python中symbol.expr方法的典型用法代码示例。如果您正苦于以下问题:Python symbol.expr方法的具体用法?Python symbol.expr怎么用?Python symbol.expr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在symbol的用法示例。


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

示例1: decorator

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def decorator(self, nodelist):
        # '@' dotted_name [ '(' [arglist] ')' ]
        assert len(nodelist) in (3, 5, 6)
        assert nodelist[0][0] == token.AT
        assert nodelist[-1][0] == token.NEWLINE

        assert nodelist[1][0] == symbol.dotted_name
        funcname = self.decorator_name(nodelist[1][1:])

        if len(nodelist) > 3:
            assert nodelist[2][0] == token.LPAR
            expr = self.com_call_function(funcname, nodelist[3])
        else:
            expr = funcname

        return expr 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:18,代码来源:transformer.py

示例2: parseexpr

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def parseexpr(self, text):
        """Return a modified parse tree for the given expression text."""
        return self.transform(parser.expr(text)) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:5,代码来源:transformer.py

示例3: yield_stmt

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def yield_stmt(self, nodelist):
        expr = self.com_node(nodelist[0])
        return Discard(expr, lineno=expr.lineno) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:5,代码来源:transformer.py

示例4: exec_stmt

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def exec_stmt(self, nodelist):
        # exec_stmt: 'exec' expr ['in' expr [',' expr]]
        expr1 = self.com_node(nodelist[1])
        if len(nodelist) >= 4:
            expr2 = self.com_node(nodelist[3])
            if len(nodelist) >= 6:
                expr3 = self.com_node(nodelist[5])
            else:
                expr3 = None
        else:
            expr2 = expr3 = None

        return Exec(expr1, expr2, expr3, lineno=nodelist[0][2]) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:15,代码来源:transformer.py

示例5: testlist

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def testlist(self, nodelist):
        # testlist: expr (',' expr)* [',']
        # testlist_safe: test [(',' test)+ [',']]
        # exprlist: expr (',' expr)* [',']
        return self.com_binary(Tuple, nodelist) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:7,代码来源:transformer.py

示例6: expr

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def expr(self, nodelist):
        # xor_expr ('|' xor_expr)*
        return self.com_binary(Bitor, nodelist) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:5,代码来源:transformer.py

示例7: com_try_except_finally

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def com_try_except_finally(self, nodelist):
        # ('try' ':' suite
        #  ((except_clause ':' suite)+ ['else' ':' suite] ['finally' ':' suite]
        #   | 'finally' ':' suite))

        if nodelist[3][0] == token.NAME:
            # first clause is a finally clause: only try-finally
            return TryFinally(self.com_node(nodelist[2]),
                              self.com_node(nodelist[5]),
                              lineno=nodelist[0][2])

        #tryexcept:  [TryNode, [except_clauses], elseNode)]
        clauses = []
        elseNode = None
        finallyNode = None
        for i in range(3, len(nodelist), 3):
            node = nodelist[i]
            if node[0] == symbol.except_clause:
                # except_clause: 'except' [expr [(',' | 'as') expr]] */
                if len(node) > 2:
                    expr1 = self.com_node(node[2])
                    if len(node) > 4:
                        expr2 = self.com_assign(node[4], OP_ASSIGN)
                    else:
                        expr2 = None
                else:
                    expr1 = expr2 = None
                clauses.append((expr1, expr2, self.com_node(nodelist[i+2])))

            if node[0] == token.NAME:
                if node[1] == 'else':
                    elseNode = self.com_node(nodelist[i+2])
                elif node[1] == 'finally':
                    finallyNode = self.com_node(nodelist[i+2])
        try_except = TryExcept(self.com_node(nodelist[2]), clauses, elseNode,
                               lineno=nodelist[0][2])
        if finallyNode:
            return TryFinally(try_except, finallyNode, lineno=nodelist[0][2])
        else:
            return try_except 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:42,代码来源:transformer.py

示例8: com_with_item

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def com_with_item(self, nodelist, body, lineno):
        # with_item: test ['as' expr]
        if len(nodelist) == 4:
            var = self.com_assign(nodelist[3], OP_ASSIGN)
        else:
            var = None
        expr = self.com_node(nodelist[1])
        return With(expr, var, body, lineno=lineno) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:10,代码来源:transformer.py

示例9: com_list_comprehension

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def com_list_comprehension(self, expr, node):
        return self.com_comprehension(expr, None, node, 'list') 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,代码来源:transformer.py

示例10: com_generator_expression

# 需要导入模块: import symbol [as 别名]
# 或者: from symbol import expr [as 别名]
def com_generator_expression(self, expr, node):
        # comp_iter: comp_for | comp_if
        # comp_for: 'for' exprlist 'in' test [comp_iter]
        # comp_if: 'if' test [comp_iter]

        lineno = node[1][2]
        fors = []
        while node:
            t = node[1][1]
            if t == 'for':
                assignNode = self.com_assign(node[2], OP_ASSIGN)
                genNode = self.com_node(node[4])
                newfor = GenExprFor(assignNode, genNode, [],
                                    lineno=node[1][2])
                fors.append(newfor)
                if (len(node)) == 5:
                    node = None
                else:
                    node = self.com_comp_iter(node[5])
            elif t == 'if':
                test = self.com_node(node[2])
                newif = GenExprIf(test, lineno=node[1][2])
                newfor.ifs.append(newif)
                if len(node) == 3:
                    node = None
                else:
                    node = self.com_comp_iter(node[3])
            else:
                raise SyntaxError, \
                        ("unexpected generator expression element: %s %d"
                         % (node, lineno))
        fors[0].is_outmost = True
        return GenExpr(GenExprInner(expr, fors), lineno=lineno) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:35,代码来源:transformer.py


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