classification
Title: more helpful diagnostics for parser module
Type: enhancement Stage: resolved
Components: Extension Modules Versions: Python 3.8
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: A. Skrobov, benjamin.peterson, berker.peksag, brett.cannon, fdrake, gregory.p.smith, pablogsal, python-dev, serhiy.storchaka
Priority: normal Keywords: patch

Created on 2019-03-26 15:33 by A. Skrobov, last changed 2019-04-06 07:47 by xcombelle. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 12565 merged A. Skrobov, 2019-03-26 15:38
PR 12671 merged pablogsal, 2019-04-03 05:22
Messages (11)
msg338897 - (view) Author: A. Skrobov (A. Skrobov) * Date: 2019-03-26 15:33
Seeing that the implicit resolution at #36256 was to keep the parser module in place, may I suggest that the diagnostics it produces be improved, so that instead of "Expected node type 305, got 11", it would raise "Expected namedexpr_test, got COLON"
msg338899 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2019-03-26 15:39
Thank you very much for creating the issue :)

> Seeing that the implicit resolution at #36256 was to keep the parser module in place

Nothing was really "decided", just that meanwhile is better not to ship a broken parser module.

>  may I suggest that the diagnostics it produces be improved, so that instead of "Expected node type 305, got 11", it would raise "Expected namedexpr_test, got COLON"

Would you like to produce a PR for this?
msg338900 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2019-03-26 15:40
Haha, you were faster creating the PR than me posting the message!
msg338901 - (view) Author: A. Skrobov (A. Skrobov) * Date: 2019-03-26 15:48
> Nothing was really "decided", just that meanwhile is better not to ship a broken parser module.

Totally true, but the issue is closed and resolved, meaning that no one will ever look at it again.
msg338902 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2019-03-26 15:50
> Meaning that no one will ever look at it again.

I am very interested in a better alternative to the parser module, so I will open soon another issue for that matter. But as the original issue was about a specific bug, I prefer to mark it as resolved :)
msg339378 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2019-04-03 05:12
New changeset cb0748d3939c31168ab5d3b80e3677494497d5e3 by Pablo Galindo (tyomitch) in branch 'master':
bpo-36440: include node names in ParserError messages, instead of numeric IDs (GH-12565)
https://github.com/python/cpython/commit/cb0748d3939c31168ab5d3b80e3677494497d5e3
msg339412 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2019-04-03 18:35
New changeset 513d142993bb8c13e6803727fa086e44eafc360f by Pablo Galindo in branch '3.7':
[3.7] bpo-36440: include node names in ParserError messages, instead of numeric IDs (GH-12565) (GH-12671)
https://github.com/python/cpython/commit/513d142993bb8c13e6803727fa086e44eafc360f
msg339413 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2019-04-03 18:35
Thanks A. Skrobov for your contribution! :)
msg339414 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2019-04-03 18:59
Why was this merged in 3.7? This is a new feature, not a bug fix.
msg339416 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2019-04-03 19:08
Issue #36256 (a real bug) was backported to 3.7 but also includes a similar improvement regarding node names in error messages. I can revert it from 3.7 if you consider it should not be there.
msg339527 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2019-04-06 07:19
Since the parser module did not work in 3.7, I think this will not harm. But in general new features (including changes in error messages) are added only in the developed version.
History
Date User Action Args
2019-04-06 07:47:33xcombellesetnosy: - xcombelle
2019-04-06 07:19:46serhiy.storchakasetmessages: + msg339527
2019-04-03 19:08:46pablogsalsetmessages: + msg339416
2019-04-03 18:59:04serhiy.storchakasetmessages: + msg339414
2019-04-03 18:35:34pablogsalsetstatus: open -> closed
resolution: fixed
messages: + msg339413

stage: patch review -> resolved
2019-04-03 18:35:09pablogsalsetmessages: + msg339412
2019-04-03 05:22:07pablogsalsetstage: patch review
pull_requests: + pull_request12599
2019-04-03 05:12:15pablogsalsetmessages: + msg339378
2019-03-31 14:25:01serhiy.storchakasetversions: + Python 3.8, - Python 3.9
2019-03-26 15:50:28pablogsalsetmessages: + msg338902
2019-03-26 15:48:17A. Skrobovsetmessages: + msg338901
2019-03-26 15:40:18pablogsalsetmessages: + msg338900
2019-03-26 15:39:49pablogsalsetmessages: + msg338899
stage: patch review -> (no value)
2019-03-26 15:38:10A. Skrobovsetkeywords: + patch
stage: patch review
pull_requests: + pull_request12510
2019-03-26 15:33:28A. Skrobovcreate