Skip to content

gh-134026: Fix grammar description of for statement #134034

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 26 commits into from
May 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6873af5
doc: clarify for_stmt grammar by replacing starred_list with expressi…
Yash-Vijay29 May 15, 2025
3795065
star_expressions
Yash-Vijay29 May 15, 2025
02c6d47
Merge branch 'main' into fix-for-stmt-docs
Yash-Vijay29 May 15, 2025
1152b1b
star_expressions
Yash-Vijay29 May 15, 2025
9967ec9
star_expressions
Yash-Vijay29 May 15, 2025
9442bf8
doc: clarify for_stmt grammar by replacing starred_list with expressi…
Yash-Vijay29 May 15, 2025
c9abb45
star_expressions
Yash-Vijay29 May 15, 2025
ec6005b
star_expressions
Yash-Vijay29 May 15, 2025
e760500
star_expressions
Yash-Vijay29 May 15, 2025
b8beb7d
star_expressions
Yash-Vijay29 May 16, 2025
7f53e8b
Merge remote-tracking branch 'origin/fix-for-stmt-docs' into fix-for-…
Yash-Vijay29 May 16, 2025
e908fce
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
50f1e09
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
8e860fa
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
0866ba2
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
27c94a6
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
99c40ff
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
a448548
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
32e1ee1
Merge branch 'python:main' into fix-for-stmt-docs
Yash-Vijay29 May 18, 2025
cab198f
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
5b1fad3
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
a4839cb
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
9af4d49
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
0ef3fb7
Merge branch 'main' into fix-for-stmt-docs
Yash-Vijay29 May 20, 2025
5ce932e
Update compound_stmts.rst
Yash-Vijay29 May 21, 2025
0417261
Update compound_stmts.rst
Yash-Vijay29 May 21, 2025
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
14 changes: 7 additions & 7 deletions Doc/reference/compound_stmts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -154,15 +154,15 @@ The :keyword:`for` statement is used to iterate over the elements of a sequence
(such as a string, tuple or list) or other iterable object:

.. productionlist:: python-grammar
for_stmt: "for" `target_list` "in" `starred_list` ":" `suite`
for_stmt: "for" `target_list` "in" `starred_expression_list` ":" `suite`
: ["else" ":" `suite`]

The ``starred_list`` expression is evaluated once; it should yield an
:term:`iterable` object. An :term:`iterator` is created for that iterable.
The first item provided
by the iterator is then assigned to the target list using the standard
rules for assignments (see :ref:`assignment`), and the suite is executed. This
repeats for each item provided by the iterator. When the iterator is exhausted,
The :token:`~python-grammar:starred_expression_list` expression is evaluated
once; it should yield an :term:`iterable` object. An :term:`iterator` is
created for that iterable. The first item provided by the iterator is then
assigned to the target list using the standard rules for assignments
(see :ref:`assignment`), and the suite is executed. This repeats for each
item provided by the iterator. When the iterator is exhausted,
the suite in the :keyword:`!else` clause,
if present, is executed, and the loop terminates.

Expand Down
2 changes: 1 addition & 1 deletion Doc/reference/expressions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1928,7 +1928,7 @@ Expression lists
single: , (comma); expression list

.. productionlist:: python-grammar
starred_expression: ["*"] `or_expr`
starred_expression: "*" `or_expr` | `expression`
flexible_expression: `assignment_expression` | `starred_expression`
flexible_expression_list: `flexible_expression` ("," `flexible_expression`)* [","]
starred_expression_list: `starred_expression` ("," `starred_expression`)* [","]
Expand Down
Loading