Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 3 additions & 12 deletions tatsu/contexts.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from .ast import AST
from .collections import OrderedSet as oset
from .exceptions import (
FailedCut,
FailedExpectingEndOfText,
FailedKeywordSemantics,
FailedLeftRecursion,
Expand Down Expand Up @@ -240,9 +239,6 @@ def parse(self, text, /, config: ParserConfig | None = None, **settings):
try:
rule = self._find_rule(start)
return rule()
except FailedCut as e:
self._set_furthest_exception(e.nested)
raise self._furthest_exception from e
except FailedParse as e:
self._set_furthest_exception(e)
raise self._furthest_exception from e
Expand Down Expand Up @@ -778,11 +774,9 @@ def _option(self):
with self._try():
yield
raise OptionSucceeded()
except FailedCut:
raise
except FailedParse as e:
except FailedParse:
if self._is_cut_set():
raise FailedCut(e) from e
raise
# else: ignore, so next option is tried
finally:
self._cut_stack.pop()
Expand All @@ -791,10 +785,7 @@ def _option(self):
def _choice(self):
self.last_node = None
with suppress(OptionSucceeded):
try:
yield
except FailedCut as e:
raise e.nested from e
yield

@contextmanager
def _optional(self):
Expand Down
14 changes: 0 additions & 14 deletions tatsu/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,20 +112,6 @@ def message(self):
return f"could not resolve reference to rule '{self.name}'"


class FailedCut(FailedParse):
def __init__(self, nested):
super().__init__(nested.tokenizer, nested.stack, nested.item)
self.pos = nested.pos
self.nested = nested

@property
def message(self):
return self.nested.message

def __reduce__(self):
return type(self), (self.nested,)


class FailedChoice(FailedParse):
@property
def message(self):
Expand Down