本文整理汇总了Python中rule.Rule.first方法的典型用法代码示例。如果您正苦于以下问题:Python Rule.first方法的具体用法?Python Rule.first怎么用?Python Rule.first使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rule.Rule
的用法示例。
在下文中一共展示了Rule.first方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: process_match
# 需要导入模块: from rule import Rule [as 别名]
# 或者: from rule.Rule import first [as 别名]
def process_match(self, match):
"""Deal with a matching digram"""
from rule import Rule
rule = None
if (match.prev.is_guard() and match.next.next.is_guard()):
# reuse an existing rule
rule = match.prev.rule
self.substitute(rule)
self.prev.propagate_change()
else:
# create a new rule
rule = Rule(self.grammar)
rule.last().insert_after(Symbol.factory(self.grammar, self))
rule.last().insert_after(Symbol.factory(self.grammar, self.next))
self.grammar.add_index(rule.first())
match.substitute(rule)
match.prev.propagate_change()
self.substitute(rule)
self.prev.propagate_change()
# Check for an under-used rule
if (NonTerminal == type(rule.first()) and (rule.first().rule.reference_count == 1)):
rule.first().expand()