Repository navigation
PEP 701 – Syntactic formalization of f-strings #102856
Description
Activity
See this for the latest report on errors from @isidentical
Draft PR for the C tokenizer up: #102855
Things for the cleanup of #102855:
- Cleaning up the grammar and the action helpers (the names are still ridiculous and there are multiple rules commented out).
- Remove the old parsing code and check that we didn't break anything 😅
- Clean/refactor the tokenizer struct (better names, factor stuff into its own structure as needed).
- Consider factoring out
tok_get_fstring_modebecause is a monster.
Ok with #102855 we have the following failing tests:
- test_ast
- test_cmd_line_script
- test_eof
- test_exceptions
- test_fstring
- test_tokenize
- test_type_comments
- test_unparse
Most of these are updating error messages, line numbers and other stuff but some may have actual bugs so we should check them. Please, mention which ones are you working on so we don't clash with one another.
Working on
test_tokenizeReacted by Pablo Galindo SalgadoHello, Pablo!
Can I get work ontest_ast?
Recently I sent some PR's about this file (for example, #102797). So, I have some experience in that =)I can work with
test_type_commentsandtest_unparse.@Eclips4 @ramvikrams wonderful! Just make PRs against my fork!
Report here or ping any of us if you find something that could be a bug (don't just fix the tests blindly because there may be bugs lurking).
Reacted by Ram Vikram Singh and Kirill Podoprigora@lysnikolaou can you work on cleaning up the grammar + the actions?
@isidentical can you work on cleaning up some of the tokenizer layers? (This is quite a lot so we can probably work together here).
@pablogsal
Abouttest_ast.py
Seems thats like there only a one test will be failed, and how I undestand, that's a bug:
Lines 779 to 780 in 7f760c2
with self.assertRaises(SyntaxError): ast.parse('f"{x=}"', feature_version=(3, 7)) I think, there's two solutions:
- Remove this test, because support of python3.7 will be ended soon.
- Now errors raised by
tokenizer.cinstead ofstring_parser.c, so as I understand, we should changepython_gram, is it right? ( We need access tofeature_version, which in tokenizer inaccessible )
2. Now errors raised by
tokenizer.cinstead ofstring_parser.c, so as I understand, we should changepython_gram, is it right? ( We need access tofeature_version, which in tokenizer inaccessible )Probably we can do this but on the other hand I would prefer to not overcomplicate this so I think (1) is better
Reacted by Kirill Podoprigora and Lysandros Nikolaou@lysnikolaou can you work on cleaning up the grammar + the actions?
Will do!
Also, I can take a look at
test_cmd_line_script. Seems easy.Also, I can take a look at
test_cmd_line_script. Seems easy.All yours!
52 remaining items
- added a commit that references this issue
on May 24, 2023 Closing this as we already have a What's New entry, C tokenizer, and Python tokenizer. Let's tackle any small remaining items in separate issues from now on.
Probably we need to alter https://docs.python.org/3/reference/lexical_analysis.html#formatted-string-literals. @lysnikolaou can you take a go at that?
Reacted by Lysandros Nikolaou- added a commit that references this issue
on May 24, 2023 Probably we need to alter https://docs.python.org/3/reference/lexical_analysis.html#formatted-string-literals. @lysnikolaou can you take a go at that?
Sure!
- added a commit that references this issue
on May 24, 2023 Ah great! I didn't know someone would continue PEP 536. Happy that it's happening!
Shouldn't PEP 536 be mentioned in this one?
Ah great! I didn't know someone would continue PEP 536. Happy that it's happening!
Shouldn't PEP 536 be mentioned in this one?
It's mentioned in the PEP:
https://peps.python.org/pep-0701/
Btw as heads up: We don't monitor normally closed issues so is very likely that people won't answer to comments when the issue is closed :)
Reacted by Philipp A.Thanks! Seems like I missed the mention then. Perfect!
Linked PRs