本文整理汇总了Python中tokenizer.Tokenizer.top方法的典型用法代码示例。如果您正苦于以下问题:Python Tokenizer.top方法的具体用法?Python Tokenizer.top怎么用?Python Tokenizer.top使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tokenizer.Tokenizer
的用法示例。
在下文中一共展示了Tokenizer.top方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Parser
# 需要导入模块: from tokenizer import Tokenizer [as 别名]
# 或者: from tokenizer.Tokenizer import top [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 (")