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


Python Literal.addParseAction方法代码示例

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


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

示例1: _define_grammer

# 需要导入模块: from pyparsing import Literal [as 别名]
# 或者: from pyparsing.Literal import addParseAction [as 别名]
 def _define_grammer(self):
     """Define the grammar to be used, and add the various actions"""
     self._define_actions()
     node_name = Word(alphas, alphanums)
     lb = Literal("(").suppress()
     clb = Literal("(").suppress()
     rb = Literal(")").suppress()
     crb = Literal(")").suppress()
     node = Forward()
     children = clb + Group(ZeroOrMore(node)) + crb
     node << lb + node_name + Optional(children) + rb
     empty_tree = lb + rb
     tree = node | empty_tree
     self._grammar = tree
     node_name.addParseAction(self._name_action)
     clb.addParseAction(self._clb_action)
     crb.addParseAction(self._crb_action)
开发者ID:bizatheo,项目名称:training-material,代码行数:19,代码来源:node_parser.py

示例2: push_current

# 需要导入模块: from pyparsing import Literal [as 别名]
# 或者: from pyparsing.Literal import addParseAction [as 别名]

def push_current():
    global current_node, node_stack
    node_stack.append(current_node)
    current_node = None


def pop_current():
    global current_node, node_stack
    current_node = node_stack.pop()

node_name = Word(alphas, alphanums)
node_name.addParseAction(create_node)
lb = Literal('(').suppress()
clb = Literal('(').suppress()
clb.addParseAction(push_current)
rb = Literal(')').suppress()
crb = Literal(')').suppress()
crb.addParseAction(pop_current)
node = Forward()
children = clb + Group(ZeroOrMore(node)) + crb
node << lb + node_name + Optional(children) + rb

tree_str = '(c1 ((c2) (c3 ((c4) (c5))) (c6)))'

results = node.parseString(tree_str)
print(results)
writer = IndentedStringWriter()
print(writer.write(current_node))
开发者ID:bizatheo,项目名称:training-material,代码行数:31,代码来源:tree_parser_script.py


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