Ensure that lexers don't share state

This commit is contained in:
Dustin Spicuzza 2020-12-31 00:24:01 -05:00
parent 09194f599b
commit 3f9c03a37b

View File

@ -248,6 +248,7 @@ class Lexer:
print("Lex error: ", v)
_lexer = None
lex: lex.Lexer
def __new__(cls, *args, **kwargs):
# only build the lexer once
@ -256,6 +257,7 @@ class Lexer:
cls._lexer = lex.lex(module=inst)
inst.lex = cls._lexer.clone(inst)
inst.lex.begin("INITIAL")
return inst
def __init__(self, filename: typing.Optional[str] = None):