From d7d7b956b78caa5914a970db81fd58f4f4685719 Mon Sep 17 00:00:00 2001 From: Erez Shinan Date: Mon, 30 Jul 2018 19:26:49 +0300 Subject: [PATCH] BUGFIX: Bad naming scheme in tree-builder callbacks caused conflicts (Issue #198) --- lark/parse_tree_builder.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lark/parse_tree_builder.py b/lark/parse_tree_builder.py index b9a4158..5db1134 100644 --- a/lark/parse_tree_builder.py +++ b/lark/parse_tree_builder.py @@ -134,8 +134,10 @@ class ParseTreeBuilder: def create_callback(self, transformer=None): callback = Callback() + i = 0 for rule, wrapper_chain in self.rule_builders: - internal_callback_name = '_callback_%s_%s' % (rule.origin, '_'.join(x.name for x in rule.expansion)) + internal_callback_name = '_cb%d_%s' % (i, rule.origin) + i += 1 user_callback_name = rule.alias or rule.origin.name try: