diff --git a/python/ccxt/static_dependencies/lark/parsers/lalr_analysis.py b/python/ccxt/static_dependencies/lark/parsers/lalr_analysis.py index b7b3fdfc7a327..dd45cec92db7d 100644 --- a/python/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +++ b/python/ccxt/static_dependencies/lark/parsers/lalr_analysis.py @@ -43,12 +43,20 @@ def __init__(self, states, start_states, end_states): def serialize(self, memo): tokens = Enumerator() + tokens_get = tokens.get # Local ref for speed + Reduce_action = Reduce # Local ref for speed + + states = {} + for state, actions in self.states.items(): + state_dict = {} + for token, (action, arg) in actions.items(): + tid = tokens_get(token) + if action is Reduce_action: + state_dict[tid] = (1, arg.serialize(memo)) + else: + state_dict[tid] = (0, arg) + states[state] = state_dict - states = { - state: {tokens.get(token): ((1, arg.serialize(memo)) if action is Reduce else (0, arg)) - for token, (action, arg) in actions.items()} - for state, actions in self.states.items() - } return { 'tokens': tokens.reversed(), diff --git a/python/ccxt/static_dependencies/lark/utils.py b/python/ccxt/static_dependencies/lark/utils.py index 04d6eae21aead..811ea350ea579 100644 --- a/python/ccxt/static_dependencies/lark/utils.py +++ b/python/ccxt/static_dependencies/lark/utils.py @@ -7,6 +7,8 @@ ###{standalone import sys, re import logging +import sre_constants +import sre_parse logger: logging.Logger = logging.getLogger("lark") logger.addHandler(logging.StreamHandler())