| Index: tools/lexer_generator/regex_parser.py
|
| diff --git a/tools/lexer_generator/regex_parser.py b/tools/lexer_generator/regex_parser.py
|
| index 1d2ff388670e35273700daf53151cf583124bc94..c508cb35f5ab636ac23ee97c9adb10306c9e8fa9 100644
|
| --- a/tools/lexer_generator/regex_parser.py
|
| +++ b/tools/lexer_generator/regex_parser.py
|
| @@ -135,7 +135,7 @@ class RegexParser:
|
| 'empty :'
|
|
|
| def p_error(self, p):
|
| - raise Exception("Syntax error in input '%s'" % p)
|
| + raise Exception("Syntax error in input '%s'" % str(p))
|
|
|
| @staticmethod
|
| def __cat(left, right):
|
| @@ -156,4 +156,8 @@ class RegexParser:
|
| parser = RegexParser()
|
| parser.build()
|
| RegexParser.__static_instance = parser
|
| - return parser.parser.parse(data, lexer=parser.lexer.lexer)
|
| + try:
|
| + return parser.parser.parse(data, lexer=parser.lexer.lexer)
|
| + except Exception as e:
|
| + RegexParser.__static_instance = None
|
| + raise e
|
|
|