summaryrefslogtreecommitdiff
path: root/pyparsing/core.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyparsing/core.py')
-rw-r--r--pyparsing/core.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/pyparsing/core.py b/pyparsing/core.py
index 13ebf16..0b875e3 100644
--- a/pyparsing/core.py
+++ b/pyparsing/core.py
@@ -274,11 +274,6 @@ def _trim_arity(func, max_limit=3):
limit = 0
found_arity = False
- def extract_tb(tb, limit=0):
- frames = traceback.extract_tb(tb, limit=limit)
- frame_summary = frames[-1]
- return [frame_summary[:2]]
-
# synthesize what would be returned by traceback.extract_stack at the call to
# user's parse action 'func', so that we don't incur call penalty at parse time
@@ -302,8 +297,10 @@ def _trim_arity(func, max_limit=3):
raise
else:
tb = te.__traceback__
+ frames = traceback.extract_tb(tb, limit=2)
+ frame_summary = frames[-1]
trim_arity_type_error = (
- extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth
+ [frame_summary[:2]][-1][:2] == pa_call_line_synth
)
del tb
@@ -4005,7 +4002,7 @@ class Or(ParseExpression):
loc2 = e.try_parse(instring, loc, raise_fatal=True)
except ParseFatalException as pfe:
pfe.__traceback__ = None
- pfe.parserElement = e
+ pfe.parser_element = e
fatals.append(pfe)
maxException = None
maxExcLoc = -1
@@ -4063,7 +4060,7 @@ class Or(ParseExpression):
if len(fatals) > 1:
fatals.sort(key=lambda e: -e.loc)
if fatals[0].loc == fatals[1].loc:
- fatals.sort(key=lambda e: (-e.loc, -len(str(e.parserElement))))
+ fatals.sort(key=lambda e: (-e.loc, -len(str(e.parser_element))))
max_fatal = fatals[0]
raise max_fatal
@@ -4167,7 +4164,7 @@ class MatchFirst(ParseExpression):
)
except ParseFatalException as pfe:
pfe.__traceback__ = None
- pfe.parserElement = e
+ pfe.parser_element = e
raise
except ParseException as err:
if err.loc > maxExcLoc:
@@ -4354,7 +4351,7 @@ class Each(ParseExpression):
tmpLoc = e.try_parse(instring, tmpLoc, raise_fatal=True)
except ParseFatalException as pfe:
pfe.__traceback__ = None
- pfe.parserElement = e
+ pfe.parser_element = e
fatals.append(pfe)
failed.append(e)
except ParseException:
@@ -4373,7 +4370,7 @@ class Each(ParseExpression):
if len(fatals) > 1:
fatals.sort(key=lambda e: -e.loc)
if fatals[0].loc == fatals[1].loc:
- fatals.sort(key=lambda e: (-e.loc, -len(str(e.parserElement))))
+ fatals.sort(key=lambda e: (-e.loc, -len(str(e.parser_element))))
max_fatal = fatals[0]
raise max_fatal