[runtime] Slightly better messages
Picking the final reduction seems to get to a better place.
This commit is contained in:
parent
2828d13e3a
commit
c44083b610
1 changed files with 4 additions and 4 deletions
|
|
@ -527,7 +527,7 @@ class Parser:
|
||||||
# See if we can figure out what we were working on here,
|
# See if we can figure out what we were working on here,
|
||||||
# for the error message.
|
# for the error message.
|
||||||
if production_message is None and len(repair.reductions) > 0:
|
if production_message is None and len(repair.reductions) > 0:
|
||||||
production_message = f"while parsing {repair.reductions[0]}"
|
production_message = f"while parsing {repair.reductions[-1]}"
|
||||||
|
|
||||||
match repair.repair:
|
match repair.repair:
|
||||||
case RepairAction.Base:
|
case RepairAction.Base:
|
||||||
|
|
@ -553,7 +553,7 @@ class Parser:
|
||||||
cursor += 1
|
cursor += 1
|
||||||
|
|
||||||
if token_message is None:
|
if token_message is None:
|
||||||
token_message = f"Expected {repair.value}"
|
token_message = f"(Did you forget {repair.value}?)"
|
||||||
|
|
||||||
case RepairAction.Delete:
|
case RepairAction.Delete:
|
||||||
del input[cursor]
|
del input[cursor]
|
||||||
|
|
@ -567,10 +567,10 @@ class Parser:
|
||||||
|
|
||||||
# Add the extra information about what we were looking for
|
# Add the extra information about what we were looking for
|
||||||
# here.
|
# here.
|
||||||
if token_message is not None:
|
|
||||||
error_message = f"{error_message}. {token_message}"
|
|
||||||
if production_message is not None:
|
if production_message is not None:
|
||||||
error_message = f"{error_message} {production_message}"
|
error_message = f"{error_message} {production_message}"
|
||||||
|
if token_message is not None:
|
||||||
|
error_message = f"{error_message}. {token_message}"
|
||||||
errors.append(
|
errors.append(
|
||||||
ParseError(
|
ParseError(
|
||||||
message=error_message,
|
message=error_message,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue