Python: Allow comments in subscripts

Once again, the interaction between anchors and extras (specifically
comments) was causing trouble.

The root of the problem was the fact that in `a[b]`, we put `b` in the
`index` field of the subscript node, whereas in `a[b,c]`, we
additionally synthesize a `Tuple` node for `b,c` (which matches the
Python AST).

To fix this, we refactored the grammar slightly so as to make that tuple
explicit, such that a subscript node either contains a single expression
or the newly added tuple node. This greatly simplifies the logic.
This commit is contained in:
Taus
2025-02-06 14:04:57 +00:00
parent 57735388e0
commit c5be2a3e2d
3 changed files with 37 additions and 55 deletions

View File

@@ -0,0 +1,21 @@
a[b]
c[d,e]
c1[d1,]
# And now with many comments
e[
# comment1
f
# comment2
]
g[
# comment3
h,
# comment4
i
# comment5
]