Skip to content

Conversation

encukou
Copy link
Member

@encukou encukou commented Aug 13, 2025

Lexically, there is no difference between operators and delimiters, so I combined the section.

This section also serves as a kind of guide for what all the ASCII "symbol" characters do, with notes like “The period can also occur in floating-point and imaginary literals” and “The following printing ASCII characters are not used in Python”.
I've expanded the notes to include @, {, etc., but (for now) stopped short of adding a table of ASCII characters with links to where they appear.

The tables of symbols are reorganized slightly.
. was added to operators (like @, it can be either operator or delimiter).
-> was moved from augmented assignment to delimiters.


📚 Documentation preview 📚: https://cpython-previews--137713.org.readthedocs.build/

@encukou encukou marked this pull request as draft August 20, 2025 16:06
@encukou
Copy link
Member Author

encukou commented Aug 20, 2025

So, I looked at this and #99000 again, and found a better (IMO) way to present the information. What do you think?

What this PR is missing now is information from some existing notes:

  • The period can also occur in floating-point and imaginary literals.
  • ' " # \ have special meaning [...]
  • $ ? ` are not used in Python

I'll try adding a section for that next week.

@encukou encukou marked this pull request as ready for review August 27, 2025 15:40
Comment on lines 1374 to 1381
| arithmetic_operator
| bitwise_operator
| comparison_operator
| enclosing_delimiter
| other_delimiter
| assignment_operator
| other_op
| "..."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should e.g. assignment op be higher? += is a longer string than +.

@encukou encukou enabled auto-merge (squash) September 3, 2025 15:19
@encukou encukou merged commit cfcfbdd into python:main Sep 3, 2025
27 checks passed
@github-project-automation github-project-automation bot moved this from Todo to Done in Docs PRs Sep 3, 2025
@miss-islington-app
Copy link

Thanks @encukou for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Sep 3, 2025
…GH-137713)

(cherry picked from commit cfcfbdd)

Co-authored-by: Petr Viktorin <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Adam Turner <[email protected]>
@bedevere-app
Copy link

bedevere-app bot commented Sep 3, 2025

GH-138457 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.14 bugs and security fixes label Sep 3, 2025
@encukou encukou deleted the lex-analysis-operators branch September 5, 2025 15:25
lkollar pushed a commit to lkollar/cpython that referenced this pull request Sep 9, 2025
hugovk pushed a commit that referenced this pull request Sep 11, 2025
…7713) (#138457)

Co-authored-by: Petr Viktorin <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Adam Turner <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation in the Doc dir skip news
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

An operator is missing in the list of tokens
2 participants