From 1ecbe672bcf2751849155976a607100c6a8b8240 Mon Sep 17 00:00:00 2001 From: John Doty Date: Fri, 15 Nov 2024 21:32:58 -0800 Subject: [PATCH] [sql] Inline configuration creation, faster --- parser/parser.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/parser/parser.py b/parser/parser.py index 78cc51e..cc71f82 100644 --- a/parser/parser.py +++ b/parser/parser.py @@ -1457,7 +1457,18 @@ class ParserGenerator: lookahead.update(context) for rule in rules: - new_core = Configuration.from_rule(config_next, rule) + if len(rule) == 0: + next = None + else: + next = rule[0] + + new_core = Configuration( + name=config_next, + symbols=rule, + position=0, + next=next, + ) + todo.append((new_core, lookahead)) return ItemSet(closure)