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


Python Tokenizer.pop方法代码示例

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


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

示例1: Parser

# 需要导入模块: from tokenizer import Tokenizer [as 别名]
# 或者: from tokenizer.Tokenizer import pop [as 别名]
class Parser(object):
    def __init__(self, stmt):
        # We always wrap with ()'s
        self.tnz = Tokenizer('(' + stmt + ')')

    def pop(self):
        return self.tnz.pop()

    def peek(self):
        return self.tnz.peek()

    def top(self):
        return self.tnz.top()

    def parse(self, indent=0):
        indent = deepcopy(indent)
        indent += 1
        if istype(self.top(), 'Lparen'):
            self.pop()  # Open paren
            n = self.parse(indent)
            cp = self.pop()  # Close paren
            if istype(self.top(), 'Bop'):
                bopr = Node(self.pop(), indent)
                bopr.l_child = n
                bopr.r_child = self.parse(indent)
                return bopr
            else:
                return n
        if istype(self.top(), 'Term'):
            if istype(self.peek(), 'Bop'):
                t1 = Node(self.pop(), indent)
                bopr = Node(self.pop(), indent)
                bopr.l_child = t1
                if istype(self.top(), 'Term'):
                    bopr.r_child = self.parse(indent)
                elif istype(self.top(), 'Lparen'):
                    bopr.r_child = self.parse(indent)
                else:
                    raise SyntaxError("Expected Term or (")
                return bopr
            elif istype(self.peek(), 'Rparen'):
                t1 = Node(self.pop(), indent)
                return t1
            elif istype(self.peek(), 'Term'):
                t1 = Node(self.pop(), indent)
                return t1
            else:
                raise SyntaxError("Expecting term or (")
开发者ID:Ziaunys,项目名称:chili,代码行数:50,代码来源:parser.py


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