summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2021-04-12 15:59:30 (GMT)
committerGitHub <noreply@github.com>2021-04-12 15:59:30 (GMT)
commitb86ed8e3bb41ede77eeab4a8bb4e2b91a8065283 (patch)
tree250e32e95a6bead87006d2e1e1a06d9058fc3b91
parent2459b92a4db69d9b14d0a86a9b81cc075894e910 (diff)
downloadcpython-b86ed8e3bb41ede77eeab4a8bb4e2b91a8065283.zip
cpython-b86ed8e3bb41ede77eeab4a8bb4e2b91a8065283.tar.gz
cpython-b86ed8e3bb41ede77eeab4a8bb4e2b91a8065283.tar.bz2
bpo-43797: Improve syntax error for invalid comparisons (#25317)
* bpo-43797: Improve syntax error for invalid comparisons * Update Lib/test/test_fstring.py Co-authored-by: Guido van Rossum <gvanrossum@gmail.com> * Apply review comments * can't -> cannot Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
-rw-r--r--Grammar/python.gram33
-rw-r--r--Lib/test/test_cmd_line_script.py8
-rw-r--r--Lib/test/test_codeop.py1
-rw-r--r--Lib/test/test_exceptions.py2
-rw-r--r--Lib/test/test_fstring.py6
-rw-r--r--Lib/test/test_generators.py2
-rw-r--r--Lib/test/test_genexps.py2
-rw-r--r--Lib/test/test_syntax.py116
-rw-r--r--Lib/test/test_unpack_ex.py10
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2021-04-09-19-12-48.bpo-43797.HfRqNP.rst2
-rw-r--r--Parser/parser.c1736
-rw-r--r--Parser/pegen.c8
12 files changed, 1261 insertions, 665 deletions
diff --git a/Grammar/python.gram b/Grammar/python.gram
index eb10fc2..324793c 100644
--- a/Grammar/python.gram
+++ b/Grammar/python.gram
@@ -163,17 +163,20 @@ dotted_name[expr_ty]:
| NAME
if_stmt[stmt_ty]:
- | 'if' a=named_expression &&':' b=block c=elif_stmt {
+ | 'if' a=named_expression ':' b=block c=elif_stmt {
_PyAST_If(a, b, CHECK(asdl_stmt_seq*, _PyPegen_singleton_seq(p, c)), EXTRA) }
- | 'if' a=named_expression &&':' b=block c=[else_block] { _PyAST_If(a, b, c, EXTRA) }
+ | 'if' a=named_expression ':' b=block c=[else_block] { _PyAST_If(a, b, c, EXTRA) }
+ | invalid_if_stmt
elif_stmt[stmt_ty]:
- | 'elif' a=named_expression &&':' b=block c=elif_stmt {
+ | 'elif' a=named_expression ':' b=block c=elif_stmt {
_PyAST_If(a, b, CHECK(asdl_stmt_seq*, _PyPegen_singleton_seq(p, c)), EXTRA) }
- | 'elif' a=named_expression &&':' b=block c=[else_block] { _PyAST_If(a, b, c, EXTRA) }
+ | 'elif' a=named_expression ':' b=block c=[else_block] { _PyAST_If(a, b, c, EXTRA) }
+ | invalid_elif_stmt
else_block[asdl_stmt_seq*]: 'else' &&':' b=block { b }
while_stmt[stmt_ty]:
- | 'while' a=named_expression &&':' b=block c=[else_block] { _PyAST_While(a, b, c, EXTRA) }
+ | 'while' a=named_expression ':' b=block c=[else_block] { _PyAST_While(a, b, c, EXTRA) }
+ | invalid_while_stmt
for_stmt[stmt_ty]:
| 'for' t=star_targets 'in' ~ ex=star_expressions &&':' tc=[TYPE_COMMENT] b=block el=[else_block] {
@@ -438,10 +441,11 @@ star_named_expressions[asdl_expr_seq*]: a[asdl_expr_seq*]=','.star_named_express
star_named_expression[expr_ty]:
| '*' a=bitwise_or { _PyAST_Starred(a, Load, EXTRA) }
| named_expression
+
named_expression[expr_ty]:
| a=NAME ':=' ~ b=expression { _PyAST_NamedExpr(CHECK(expr_ty, _PyPegen_set_expr_context(p, a, Store)), b, EXTRA) }
- | expression !':='
| invalid_named_expression
+ | expression !':='
annotated_rhs[expr_ty]: yield_expr | star_expressions
@@ -772,6 +776,12 @@ invalid_named_expression:
| a=expression ':=' expression {
RAISE_SYNTAX_ERROR_KNOWN_LOCATION(
a, "cannot use assignment expressions with %s", _PyPegen_get_expr_name(a)) }
+ | a=NAME b='=' bitwise_or !('='|':='|',') {
+ RAISE_SYNTAX_ERROR_KNOWN_LOCATION(b, "invalid syntax. Maybe you meant '==' or ':=' instead of '='?") }
+ | !(list|tuple|genexp|'True'|'None'|'False') a=bitwise_or b='=' bitwise_or !('='|':='|',') {
+ RAISE_SYNTAX_ERROR_KNOWN_LOCATION(b, "cannot assign to %s here. Maybe you meant '==' instead of '='?",
+ _PyPegen_get_expr_name(a)) }
+
invalid_assignment:
| a=invalid_ann_assign_target ':' expression {
RAISE_SYNTAX_ERROR_KNOWN_LOCATION(
@@ -841,9 +851,9 @@ invalid_for_target:
invalid_group:
| '(' a=starred_expression ')' {
- RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "can't use starred expression here") }
+ RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "cannot use starred expression here") }
| '(' a='**' expression ')' {
- RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "can't use double starred expression here") }
+ RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "cannot use double starred expression here") }
invalid_import_from_targets:
| import_from_as_names ',' {
RAISE_SYNTAX_ERROR("trailing comma not allowed without surrounding parentheses") }
@@ -860,6 +870,11 @@ invalid_except_block:
invalid_match_stmt:
| "match" subject_expr !':' { CHECK_VERSION(void*, 10, "Pattern matching is", RAISE_SYNTAX_ERROR("expected ':'") ) }
-
invalid_case_block:
| "case" patterns guard? !':' { RAISE_SYNTAX_ERROR("expected ':'") }
+invalid_if_stmt:
+ | 'if' named_expression NEWLINE { RAISE_SYNTAX_ERROR("expected ':'") }
+invalid_elif_stmt:
+ | 'elif' named_expression NEWLINE { RAISE_SYNTAX_ERROR("expected ':'") }
+invalid_while_stmt:
+ | 'while' named_expression NEWLINE { RAISE_SYNTAX_ERROR("expected ':'") }
diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py
index 8f12b1e..2e0b5f7 100644
--- a/Lib/test/test_cmd_line_script.py
+++ b/Lib/test/test_cmd_line_script.py
@@ -600,8 +600,8 @@ class CmdLineTest(unittest.TestCase):
script_name = _make_test_script(script_dir, 'script', script)
exitcode, stdout, stderr = assert_python_failure(script_name)
text = io.TextIOWrapper(io.BytesIO(stderr), 'ascii').read()
- # Confirm that the caret is located under the first 1 character
- self.assertIn("\n 1 + 1 = 2\n ^", text)
+ # Confirm that the caret is located under the '=' sign
+ self.assertIn("\n 1 + 1 = 2\n ^\n", text)
def test_syntaxerror_indented_caret_position(self):
script = textwrap.dedent("""\
@@ -613,7 +613,7 @@ class CmdLineTest(unittest.TestCase):
exitcode, stdout, stderr = assert_python_failure(script_name)
text = io.TextIOWrapper(io.BytesIO(stderr), 'ascii').read()
# Confirm that the caret is located under the first 1 character
- self.assertIn("\n 1 + 1 = 2\n ^", text)
+ self.assertIn("\n 1 + 1 = 2\n ^\n", text)
# Try the same with a form feed at the start of the indented line
script = (
@@ -624,7 +624,7 @@ class CmdLineTest(unittest.TestCase):
exitcode, stdout, stderr = assert_python_failure(script_name)
text = io.TextIOWrapper(io.BytesIO(stderr), "ascii").read()
self.assertNotIn("\f", text)
- self.assertIn("\n 1 + 1 = 2\n ^", text)
+ self.assertIn("\n 1 + 1 = 2\n ^\n", text)
def test_syntaxerror_multi_line_fstring(self):
script = 'foo = f"""{}\nfoo"""\n'
diff --git a/Lib/test/test_codeop.py b/Lib/test/test_codeop.py
index ecc46af..07b46af 100644
--- a/Lib/test/test_codeop.py
+++ b/Lib/test/test_codeop.py
@@ -275,7 +275,6 @@ class CodeopTests(unittest.TestCase):
ai("a = 'a\\\n")
ai("a = 1","eval")
- ai("a = (","eval")
ai("]","eval")
ai("())","eval")
ai("[}","eval")
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 1e6f525..9dc3a81 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -260,7 +260,7 @@ class ExceptionTests(unittest.TestCase):
check('[*x for x in xs]', 1, 2)
check('foo(x for x in range(10), 100)', 1, 5)
check('for 1 in []: pass', 1, 5)
- check('(yield i) = 2', 1, 2)
+ check('(yield i) = 2', 1, 11)
check('def f(*):\n pass', 1, 8)
@cpython_only
diff --git a/Lib/test/test_fstring.py b/Lib/test/test_fstring.py
index 296cb05..caae1b7 100644
--- a/Lib/test/test_fstring.py
+++ b/Lib/test/test_fstring.py
@@ -990,7 +990,7 @@ x = (
])
def test_assignment(self):
- self.assertAllRaise(SyntaxError, 'invalid syntax',
+ self.assertAllRaise(SyntaxError, r'invalid syntax',
["f'' = 3",
"f'{0}' = x",
"f'{x}' = x",
@@ -1276,11 +1276,11 @@ x = (
f'{1:_,}'
def test_syntax_error_for_starred_expressions(self):
- error_msg = re.escape("can't use starred expression here")
+ error_msg = re.escape("cannot use starred expression here")
with self.assertRaisesRegex(SyntaxError, error_msg):
compile("f'{*a}'", "?", "exec")
- error_msg = re.escape("can't use double starred expression here")
+ error_msg = re.escape("cannot use double starred expression here")
with self.assertRaisesRegex(SyntaxError, error_msg):
compile("f'{**a}'", "?", "exec")
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
index a634ccd..ebf8bb7 100644
--- a/Lib/test/test_generators.py
+++ b/Lib/test/test_generators.py
@@ -2013,7 +2013,7 @@ SyntaxError: 'yield' outside function
>>> def f(): (yield bar) = y
Traceback (most recent call last):
...
-SyntaxError: cannot assign to yield expression
+SyntaxError: cannot assign to yield expression here. Maybe you meant '==' instead of '='?
>>> def f(): (yield bar) += y
Traceback (most recent call last):
diff --git a/Lib/test/test_genexps.py b/Lib/test/test_genexps.py
index 5c1a209..70fe2bb 100644
--- a/Lib/test/test_genexps.py
+++ b/Lib/test/test_genexps.py
@@ -103,7 +103,7 @@ Verify that parenthesis are required when used as a keyword argument value
>>> dict(a = i for i in range(10))
Traceback (most recent call last):
...
- SyntaxError: invalid syntax
+ SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
Verify that parenthesis are required when used as a keyword argument value
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index 730c297..78b11c9 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -61,7 +61,7 @@ SyntaxError: cannot assign to __debug__
>>> f() = 1
Traceback (most recent call last):
-SyntaxError: cannot assign to function call
+SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
>>> yield = 1
Traceback (most recent call last):
@@ -73,7 +73,7 @@ SyntaxError: cannot delete function call
>>> a + 1 = 2
Traceback (most recent call last):
-SyntaxError: cannot assign to operator
+SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='?
>>> (x for x in x) = 1
Traceback (most recent call last):
@@ -81,19 +81,19 @@ SyntaxError: cannot assign to generator expression
>>> 1 = 1
Traceback (most recent call last):
-SyntaxError: cannot assign to literal
+SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?
>>> "abc" = 1
Traceback (most recent call last):
-SyntaxError: cannot assign to literal
+SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?
>>> b"" = 1
Traceback (most recent call last):
-SyntaxError: cannot assign to literal
+SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?
>>> ... = 1
Traceback (most recent call last):
-SyntaxError: cannot assign to Ellipsis
+SyntaxError: cannot assign to Ellipsis here. Maybe you meant '==' instead of '='?
>>> `1` = 1
Traceback (most recent call last):
@@ -126,15 +126,15 @@ SyntaxError: cannot assign to __debug__
>>> [a, b, c + 1] = [1, 2, 3]
Traceback (most recent call last):
-SyntaxError: cannot assign to operator
+SyntaxError: cannot assign to expression
>>> [a, b[1], c + 1] = [1, 2, 3]
Traceback (most recent call last):
-SyntaxError: cannot assign to operator
+SyntaxError: cannot assign to expression
>>> [a, b.c.d, c + 1] = [1, 2, 3]
Traceback (most recent call last):
-SyntaxError: cannot assign to operator
+SyntaxError: cannot assign to expression
>>> a if 1 else b = 1
Traceback (most recent call last):
@@ -181,7 +181,7 @@ SyntaxError: cannot assign to function call
>>> for (*a, b, c+1) in b: pass
Traceback (most recent call last):
-SyntaxError: cannot assign to operator
+SyntaxError: cannot assign to expression
>>> for (x, *(y, z.d())) in b: pass
Traceback (most recent call last):
@@ -193,7 +193,7 @@ SyntaxError: cannot assign to function call
>>> for a, b, (c + 1, d()): pass
Traceback (most recent call last):
-SyntaxError: cannot assign to operator
+SyntaxError: cannot assign to expression
>>> for i < (): pass
Traceback (most recent call last):
@@ -217,7 +217,7 @@ SyntaxError: cannot assign to function call
>>> with a as (*b, c, d+1): pass
Traceback (most recent call last):
-SyntaxError: cannot assign to operator
+SyntaxError: cannot assign to expression
>>> with a as (x, *(y, z.d())): pass
Traceback (most recent call last):
@@ -465,7 +465,7 @@ keyword slot of a call site. Test a few different options.
# SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
# >>> f(True=2)
# Traceback (most recent call last):
-# SyntaxError: cannot assign to True
+# SyntaxError: cannot assign to True here. Maybe you meant '==' instead of '='?
>>> f(__debug__=1)
Traceback (most recent call last):
SyntaxError: cannot assign to __debug__
@@ -684,7 +684,7 @@ leading to spurious errors.
... pass
Traceback (most recent call last):
...
- SyntaxError: cannot assign to function call
+ SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
>>> if 1:
... pass
@@ -692,7 +692,7 @@ leading to spurious errors.
... x() = 1
Traceback (most recent call last):
...
- SyntaxError: cannot assign to function call
+ SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
>>> if 1:
... x() = 1
@@ -702,7 +702,7 @@ leading to spurious errors.
... pass
Traceback (most recent call last):
...
- SyntaxError: cannot assign to function call
+ SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
>>> if 1:
... pass
@@ -712,7 +712,7 @@ leading to spurious errors.
... pass
Traceback (most recent call last):
...
- SyntaxError: cannot assign to function call
+ SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
>>> if 1:
... pass
@@ -722,7 +722,7 @@ leading to spurious errors.
... x() = 1
Traceback (most recent call last):
...
- SyntaxError: cannot assign to function call
+ SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
Missing ':' before suites:
@@ -843,6 +843,26 @@ leading to spurious errors.
Traceback (most recent call last):
SyntaxError: expected ':'
+ >>> if x = 3:
+ ... pass
+ Traceback (most recent call last):
+ SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
+
+ >>> while x = 3:
+ ... pass
+ Traceback (most recent call last):
+ SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
+
+ >>> if x.a = 3:
+ ... pass
+ Traceback (most recent call last):
+ SyntaxError: cannot assign to attribute here. Maybe you meant '==' instead of '='?
+
+ >>> while x.a = 3:
+ ... pass
+ Traceback (most recent call last):
+ SyntaxError: cannot assign to attribute here. Maybe you meant '==' instead of '='?
+
Make sure that the old "raise X, Y[, Z]" form is gone:
>>> raise X, Y
Traceback (most recent call last):
@@ -894,19 +914,19 @@ SyntaxError: keyword argument repeated: a
>>> {1, 2, 3} = 42
Traceback (most recent call last):
-SyntaxError: cannot assign to set display
+SyntaxError: cannot assign to set display here. Maybe you meant '==' instead of '='?
>>> {1: 2, 3: 4} = 42
Traceback (most recent call last):
-SyntaxError: cannot assign to dict display
+SyntaxError: cannot assign to dict literal here. Maybe you meant '==' instead of '='?
>>> f'{x}' = 42
Traceback (most recent call last):
-SyntaxError: cannot assign to f-string expression
+SyntaxError: cannot assign to f-string expression here. Maybe you meant '==' instead of '='?
>>> f'{x}-{y}' = 42
Traceback (most recent call last):
-SyntaxError: cannot assign to f-string expression
+SyntaxError: cannot assign to f-string expression here. Maybe you meant '==' instead of '='?
>>> from t import x,
Traceback (most recent call last):
@@ -988,7 +1008,7 @@ class SyntaxTestCase(unittest.TestCase):
def test_expression_with_assignment(self):
self._check_error(
"print(end1 + end2 = ' ')",
- 'expression cannot contain assignment, perhaps you meant "=="?',
+ "cannot assign to expression here. Maybe you meant '==' instead of '='?",
offset=19
)
@@ -1000,31 +1020,31 @@ class SyntaxTestCase(unittest.TestCase):
def test_assign_del(self):
self._check_error("del (,)", "invalid syntax")
- self._check_error("del 1", "delete literal")
- self._check_error("del (1, 2)", "delete literal")
- self._check_error("del None", "delete None")
- self._check_error("del *x", "delete starred")
- self._check_error("del (*x)", "use starred expression")
- self._check_error("del (*x,)", "delete starred")
- self._check_error("del [*x,]", "delete starred")
- self._check_error("del f()", "delete function call")
- self._check_error("del f(a, b)", "delete function call")
- self._check_error("del o.f()", "delete function call")
- self._check_error("del a[0]()", "delete function call")
- self._check_error("del x, f()", "delete function call")
- self._check_error("del f(), x", "delete function call")
- self._check_error("del [a, b, ((c), (d,), e.f())]", "delete function call")
- self._check_error("del (a if True else b)", "delete conditional")
- self._check_error("del +a", "delete operator")
- self._check_error("del a, +b", "delete operator")
- self._check_error("del a + b", "delete operator")
- self._check_error("del (a + b, c)", "delete operator")
- self._check_error("del (c[0], a + b)", "delete operator")
- self._check_error("del a.b.c + 2", "delete operator")
- self._check_error("del a.b.c[0] + 2", "delete operator")
- self._check_error("del (a, b, (c, d.e.f + 2))", "delete operator")
- self._check_error("del [a, b, (c, d.e.f[0] + 2)]", "delete operator")
- self._check_error("del (a := 5)", "delete named expression")
+ self._check_error("del 1", "cannot delete literal")
+ self._check_error("del (1, 2)", "cannot delete literal")
+ self._check_error("del None", "cannot delete None")
+ self._check_error("del *x", "cannot delete starred")
+ self._check_error("del (*x)", "cannot use starred expression")
+ self._check_error("del (*x,)", "cannot delete starred")
+ self._check_error("del [*x,]", "cannot delete starred")
+ self._check_error("del f()", "cannot delete function call")
+ self._check_error("del f(a, b)", "cannot delete function call")
+ self._check_error("del o.f()", "cannot delete function call")
+ self._check_error("del a[0]()", "cannot delete function call")
+ self._check_error("del x, f()", "cannot delete function call")
+ self._check_error("del f(), x", "cannot delete function call")
+ self._check_error("del [a, b, ((c), (d,), e.f())]", "cannot delete function call")
+ self._check_error("del (a if True else b)", "cannot delete conditional")
+ self._check_error("del +a", "cannot delete expression")
+ self._check_error("del a, +b", "cannot delete expression")
+ self._check_error("del a + b", "cannot delete expression")
+ self._check_error("del (a + b, c)", "cannot delete expression")
+ self._check_error("del (c[0], a + b)", "cannot delete expression")
+ self._check_error("del a.b.c + 2", "cannot delete expression")
+ self._check_error("del a.b.c[0] + 2", "cannot delete expression")
+ self._check_error("del (a, b, (c, d.e.f + 2))", "cannot delete expression")
+ self._check_error("del [a, b, (c, d.e.f[0] + 2)]", "cannot delete expression")
+ self._check_error("del (a := 5)", "cannot delete named expression")
# We don't have a special message for this, but make sure we don't
# report "cannot delete name"
self._check_error("del a += b", "invalid syntax")
diff --git a/Lib/test/test_unpack_ex.py b/Lib/test/test_unpack_ex.py
index 049e48b..bd79421 100644
--- a/Lib/test/test_unpack_ex.py
+++ b/Lib/test/test_unpack_ex.py
@@ -349,27 +349,27 @@ Now some general starred expressions (all fail).
>>> (*x),y = 1, 2 # doctest:+ELLIPSIS
Traceback (most recent call last):
...
- SyntaxError: can't use starred expression here
+ SyntaxError: cannot use starred expression here
>>> (((*x))),y = 1, 2 # doctest:+ELLIPSIS
Traceback (most recent call last):
...
- SyntaxError: can't use starred expression here
+ SyntaxError: cannot use starred expression here
>>> z,(*x),y = 1, 2, 4 # doctest:+ELLIPSIS
Traceback (most recent call last):
...
- SyntaxError: can't use starred expression here
+ SyntaxError: cannot use starred expression here
>>> z,(*x) = 1, 2 # doctest:+ELLIPSIS
Traceback (most recent call last):
...
- SyntaxError: can't use starred expression here
+ SyntaxError: cannot use starred expression here
>>> ((*x),y) = 1, 2 # doctest:+ELLIPSIS
Traceback (most recent call last):
...
- SyntaxError: can't use starred expression here
+ SyntaxError: cannot use starred expression here
Some size constraints (all fail.)
diff --git a/Misc/NEWS.d/next/Core and Builtins/2021-04-09-19-12-48.bpo-43797.HfRqNP.rst b/Misc/NEWS.d/next/Core and Builtins/2021-04-09-19-12-48.bpo-43797.HfRqNP.rst
new file mode 100644
index 0000000..2c10bb6
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2021-04-09-19-12-48.bpo-43797.HfRqNP.rst
@@ -0,0 +1,2 @@
+Improve ``SyntaxError`` error messages for invalid comparisons. Patch by
+Pablo Galindo.
diff --git a/Parser/parser.c b/Parser/parser.c
index af0c088..099186e 100644
--- a/Parser/parser.c
+++ b/Parser/parser.c
@@ -264,188 +264,194 @@ static KeywordToken *reserved_keywords[] = {
#define invalid_except_block_type 1196
#define invalid_match_stmt_type 1197
#define invalid_case_block_type 1198
-#define _loop0_1_type 1199
-#define _loop0_2_type 1200
-#define _loop0_4_type 1201
-#define _gather_3_type 1202
-#define _loop0_6_type 1203
-#define _gather_5_type 1204
-#define _loop0_8_type 1205
-#define _gather_7_type 1206
-#define _loop0_10_type 1207
-#define _gather_9_type 1208
-#define _loop1_11_type 1209
-#define _loop0_13_type 1210
-#define _gather_12_type 1211
-#define _tmp_14_type 1212
-#define _tmp_15_type 1213
-#define _tmp_16_type 1214
-#define _tmp_17_type 1215
-#define _tmp_18_type 1216
-#define _tmp_19_type 1217
-#define _tmp_20_type 1218
-#define _tmp_21_type 1219
-#define _loop1_22_type 1220
-#define _tmp_23_type 1221
-#define _tmp_24_type 1222
-#define _loop0_26_type 1223
-#define _gather_25_type 1224
-#define _loop0_28_type 1225
-#define _gather_27_type 1226
-#define _tmp_29_type 1227
-#define _tmp_30_type 1228
-#define _loop0_31_type 1229
-#define _loop1_32_type 1230
-#define _loop0_34_type 1231
-#define _gather_33_type 1232
-#define _tmp_35_type 1233
-#define _loop0_37_type 1234
-#define _gather_36_type 1235
-#define _tmp_38_type 1236
-#define _loop0_40_type 1237
-#define _gather_39_type 1238
-#define _loop0_42_type 1239
-#define _gather_41_type 1240
-#define _loop0_44_type 1241
-#define _gather_43_type 1242
-#define _loop0_46_type 1243
-#define _gather_45_type 1244
-#define _tmp_47_type 1245
-#define _loop1_48_type 1246
-#define _tmp_49_type 1247
-#define _loop1_50_type 1248
-#define _loop0_52_type 1249
-#define _gather_51_type 1250
-#define _tmp_53_type 1251
-#define _tmp_54_type 1252
-#define _tmp_55_type 1253
-#define _loop0_57_type 1254
-#define _gather_56_type 1255
-#define _tmp_58_type 1256
-#define _loop0_60_type 1257
-#define _gather_59_type 1258
-#define _tmp_61_type 1259
-#define _loop0_63_type 1260
-#define _gather_62_type 1261
-#define _loop0_65_type 1262
-#define _gather_64_type 1263
-#define _tmp_66_type 1264
-#define _tmp_67_type 1265
-#define _tmp_68_type 1266
-#define _tmp_69_type 1267
-#define _loop0_70_type 1268
-#define _loop0_71_type 1269
-#define _loop0_72_type 1270
-#define _loop1_73_type 1271
-#define _loop0_74_type 1272
-#define _loop1_75_type 1273
-#define _loop1_76_type 1274
-#define _loop1_77_type 1275
-#define _loop0_78_type 1276
-#define _loop1_79_type 1277
-#define _loop0_80_type 1278
-#define _loop1_81_type 1279
-#define _loop0_82_type 1280
-#define _loop1_83_type 1281
-#define _loop1_84_type 1282
-#define _tmp_85_type 1283
-#define _loop1_86_type 1284
-#define _loop0_88_type 1285
-#define _gather_87_type 1286
-#define _loop1_89_type 1287
-#define _loop0_90_type 1288
-#define _loop0_91_type 1289
-#define _loop0_92_type 1290
-#define _loop1_93_type 1291
-#define _loop0_94_type 1292
-#define _loop1_95_type 1293
-#define _loop1_96_type 1294
-#define _loop1_97_type 1295
-#define _loop0_98_type 1296
-#define _loop1_99_type 1297
-#define _loop0_100_type 1298
-#define _loop1_101_type 1299
-#define _loop0_102_type 1300
-#define _loop1_103_type 1301
-#define _loop1_104_type 1302
-#define _loop1_105_type 1303
-#define _loop1_106_type 1304
-#define _tmp_107_type 1305
-#define _loop0_109_type 1306
-#define _gather_108_type 1307
-#define _tmp_110_type 1308
-#define _tmp_111_type 1309
-#define _tmp_112_type 1310
-#define _tmp_113_type 1311
-#define _loop1_114_type 1312
-#define _tmp_115_type 1313
-#define _tmp_116_type 1314
-#define _loop0_118_type 1315
-#define _gather_117_type 1316
-#define _loop1_119_type 1317
-#define _loop0_120_type 1318
-#define _loop0_121_type 1319
-#define _loop0_123_type 1320
-#define _gather_122_type 1321
-#define _tmp_124_type 1322
-#define _loop0_126_type 1323
-#define _gather_125_type 1324
-#define _loop0_128_type 1325
-#define _gather_127_type 1326
-#define _loop0_130_type 1327
-#define _gather_129_type 1328
-#define _loop0_132_type 1329
-#define _gather_131_type 1330
-#define _loop0_133_type 1331
-#define _loop0_135_type 1332
-#define _gather_134_type 1333
-#define _loop1_136_type 1334
-#define _tmp_137_type 1335
-#define _loop0_139_type 1336
-#define _gather_138_type 1337
-#define _loop0_141_type 1338
-#define _gather_140_type 1339
-#define _tmp_142_type 1340
-#define _loop0_143_type 1341
-#define _loop0_144_type 1342
-#define _loop0_145_type 1343
-#define _tmp_146_type 1344
-#define _tmp_147_type 1345
-#define _tmp_148_type 1346
-#define _loop0_149_type 1347
-#define _loop1_150_type 1348
-#define _loop0_151_type 1349
-#define _loop1_152_type 1350
-#define _tmp_153_type 1351
-#define _tmp_154_type 1352
-#define _tmp_155_type 1353
-#define _loop0_157_type 1354
-#define _gather_156_type 1355
-#define _loop0_159_type 1356
-#define _gather_158_type 1357
-#define _tmp_160_type 1358
-#define _tmp_161_type 1359
-#define _tmp_162_type 1360
-#define _tmp_163_type 1361
-#define _tmp_164_type 1362
-#define _tmp_165_type 1363
-#define _tmp_166_type 1364
-#define _tmp_167_type 1365
-#define _tmp_168_type 1366
-#define _tmp_169_type 1367
-#define _tmp_170_type 1368
-#define _tmp_171_type 1369
-#define _tmp_172_type 1370
-#define _tmp_173_type 1371
-#define _tmp_174_type 1372
-#define _tmp_175_type 1373
-#define _tmp_176_type 1374
-#define _tmp_177_type 1375
-#define _tmp_178_type 1376
-#define _tmp_179_type 1377
-#define _tmp_180_type 1378
-#define _tmp_181_type 1379
-#define _tmp_182_type 1380
+#define invalid_if_stmt_type 1199
+#define invalid_elif_stmt_type 1200
+#define invalid_while_stmt_type 1201
+#define _loop0_1_type 1202
+#define _loop0_2_type 1203
+#define _loop0_4_type 1204
+#define _gather_3_type 1205
+#define _loop0_6_type 1206
+#define _gather_5_type 1207
+#define _loop0_8_type 1208
+#define _gather_7_type 1209
+#define _loop0_10_type 1210
+#define _gather_9_type 1211
+#define _loop1_11_type 1212
+#define _loop0_13_type 1213
+#define _gather_12_type 1214
+#define _tmp_14_type 1215
+#define _tmp_15_type 1216
+#define _tmp_16_type 1217
+#define _tmp_17_type 1218
+#define _tmp_18_type 1219
+#define _tmp_19_type 1220
+#define _tmp_20_type 1221
+#define _tmp_21_type 1222
+#define _loop1_22_type 1223
+#define _tmp_23_type 1224
+#define _tmp_24_type 1225
+#define _loop0_26_type 1226
+#define _gather_25_type 1227
+#define _loop0_28_type 1228
+#define _gather_27_type 1229
+#define _tmp_29_type 1230
+#define _tmp_30_type 1231
+#define _loop0_31_type 1232
+#define _loop1_32_type 1233
+#define _loop0_34_type 1234
+#define _gather_33_type 1235
+#define _tmp_35_type 1236
+#define _loop0_37_type 1237
+#define _gather_36_type 1238
+#define _tmp_38_type 1239
+#define _loop0_40_type 1240
+#define _gather_39_type 1241
+#define _loop0_42_type 1242
+#define _gather_41_type 1243
+#define _loop0_44_type 1244
+#define _gather_43_type 1245
+#define _loop0_46_type 1246
+#define _gather_45_type 1247
+#define _tmp_47_type 1248
+#define _loop1_48_type 1249
+#define _tmp_49_type 1250
+#define _loop1_50_type 1251
+#define _loop0_52_type 1252
+#define _gather_51_type 1253
+#define _tmp_53_type 1254
+#define _tmp_54_type 1255
+#define _tmp_55_type 1256
+#define _loop0_57_type 1257
+#define _gather_56_type 1258
+#define _tmp_58_type 1259
+#define _loop0_60_type 1260
+#define _gather_59_type 1261
+#define _tmp_61_type 1262
+#define _loop0_63_type 1263
+#define _gather_62_type 1264
+#define _loop0_65_type 1265
+#define _gather_64_type 1266
+#define _tmp_66_type 1267
+#define _tmp_67_type 1268
+#define _tmp_68_type 1269
+#define _tmp_69_type 1270
+#define _loop0_70_type 1271
+#define _loop0_71_type 1272
+#define _loop0_72_type 1273
+#define _loop1_73_type 1274
+#define _loop0_74_type 1275
+#define _loop1_75_type 1276
+#define _loop1_76_type 1277
+#define _loop1_77_type 1278
+#define _loop0_78_type 1279
+#define _loop1_79_type 1280
+#define _loop0_80_type 1281
+#define _loop1_81_type 1282
+#define _loop0_82_type 1283
+#define _loop1_83_type 1284
+#define _loop1_84_type 1285
+#define _tmp_85_type 1286
+#define _loop1_86_type 1287
+#define _loop0_88_type 1288
+#define _gather_87_type 1289
+#define _loop1_89_type 1290
+#define _loop0_90_type 1291
+#define _loop0_91_type 1292
+#define _loop0_92_type 1293
+#define _loop1_93_type 1294
+#define _loop0_94_type 1295
+#define _loop1_95_type 1296
+#define _loop1_96_type 1297
+#define _loop1_97_type 1298
+#define _loop0_98_type 1299
+#define _loop1_99_type 1300
+#define _loop0_100_type 1301
+#define _loop1_101_type 1302
+#define _loop0_102_type 1303
+#define _loop1_103_type 1304
+#define _loop1_104_type 1305
+#define _loop1_105_type 1306
+#define _loop1_106_type 1307
+#define _tmp_107_type 1308
+#define _loop0_109_type 1309
+#define _gather_108_type 1310
+#define _tmp_110_type 1311
+#define _tmp_111_type 1312
+#define _tmp_112_type 1313
+#define _tmp_113_type 1314
+#define _loop1_114_type 1315
+#define _tmp_115_type 1316
+#define _tmp_116_type 1317
+#define _loop0_118_type 1318
+#define _gather_117_type 1319
+#define _loop1_119_type 1320
+#define _loop0_120_type 1321
+#define _loop0_121_type 1322
+#define _loop0_123_type 1323
+#define _gather_122_type 1324
+#define _tmp_124_type 1325
+#define _loop0_126_type 1326
+#define _gather_125_type 1327
+#define _loop0_128_type 1328
+#define _gather_127_type 1329
+#define _loop0_130_type 1330
+#define _gather_129_type 1331
+#define _loop0_132_type 1332
+#define _gather_131_type 1333
+#define _loop0_133_type 1334
+#define _loop0_135_type 1335
+#define _gather_134_type 1336
+#define _loop1_136_type 1337
+#define _tmp_137_type 1338
+#define _loop0_139_type 1339
+#define _gather_138_type 1340
+#define _loop0_141_type 1341
+#define _gather_140_type 1342
+#define _tmp_142_type 1343
+#define _tmp_143_type 1344
+#define _tmp_144_type 1345
+#define _tmp_145_type 1346
+#define _loop0_146_type 1347
+#define _loop0_147_type 1348
+#define _loop0_148_type 1349
+#define _tmp_149_type 1350
+#define _tmp_150_type 1351
+#define _tmp_151_type 1352
+#define _loop0_152_type 1353
+#define _loop1_153_type 1354
+#define _loop0_154_type 1355
+#define _loop1_155_type 1356
+#define _tmp_156_type 1357
+#define _tmp_157_type 1358
+#define _tmp_158_type 1359
+#define _loop0_160_type 1360
+#define _gather_159_type 1361
+#define _loop0_162_type 1362
+#define _gather_161_type 1363
+#define _tmp_163_type 1364
+#define _tmp_164_type 1365
+#define _tmp_165_type 1366
+#define _tmp_166_type 1367
+#define _tmp_167_type 1368
+#define _tmp_168_type 1369
+#define _tmp_169_type 1370
+#define _tmp_170_type 1371
+#define _tmp_171_type 1372
+#define _tmp_172_type 1373
+#define _tmp_173_type 1374
+#define _tmp_174_type 1375
+#define _tmp_175_type 1376
+#define _tmp_176_type 1377
+#define _tmp_177_type 1378
+#define _tmp_178_type 1379
+#define _tmp_179_type 1380
+#define _tmp_180_type 1381
+#define _tmp_181_type 1382
+#define _tmp_182_type 1383
+#define _tmp_183_type 1384
+#define _tmp_184_type 1385
+#define _tmp_185_type 1386
static mod_ty file_rule(Parser *p);
static mod_ty interactive_rule(Parser *p);
@@ -646,6 +652,9 @@ static void *invalid_with_stmt_rule(Parser *p);
static void *invalid_except_block_rule(Parser *p);
static void *invalid_match_stmt_rule(Parser *p);
static void *invalid_case_block_rule(Parser *p);
+static void *invalid_if_stmt_rule(Parser *p);
+static void *invalid_elif_stmt_rule(Parser *p);
+static void *invalid_while_stmt_rule(Parser *p);
static asdl_seq *_loop0_1_rule(Parser *p);
static asdl_seq *_loop0_2_rule(Parser *p);
static asdl_seq *_loop0_4_rule(Parser *p);
@@ -788,26 +797,26 @@ static asdl_seq *_gather_138_rule(Parser *p);
static asdl_seq *_loop0_141_rule(Parser *p);
static asdl_seq *_gather_140_rule(Parser *p);
static void *_tmp_142_rule(Parser *p);
-static asdl_seq *_loop0_143_rule(Parser *p);
-static asdl_seq *_loop0_144_rule(Parser *p);
-static asdl_seq *_loop0_145_rule(Parser *p);
-static void *_tmp_146_rule(Parser *p);
-static void *_tmp_147_rule(Parser *p);
-static void *_tmp_148_rule(Parser *p);
-static asdl_seq *_loop0_149_rule(Parser *p);
-static asdl_seq *_loop1_150_rule(Parser *p);
-static asdl_seq *_loop0_151_rule(Parser *p);
-static asdl_seq *_loop1_152_rule(Parser *p);
-static void *_tmp_153_rule(Parser *p);
-static void *_tmp_154_rule(Parser *p);
-static void *_tmp_155_rule(Parser *p);
-static asdl_seq *_loop0_157_rule(Parser *p);
-static asdl_seq *_gather_156_rule(Parser *p);
-static asdl_seq *_loop0_159_rule(Parser *p);
-static asdl_seq *_gather_158_rule(Parser *p);
-static void *_tmp_160_rule(Parser *p);
-static void *_tmp_161_rule(Parser *p);
-static void *_tmp_162_rule(Parser *p);
+static void *_tmp_143_rule(Parser *p);
+static void *_tmp_144_rule(Parser *p);
+static void *_tmp_145_rule(Parser *p);
+static asdl_seq *_loop0_146_rule(Parser *p);
+static asdl_seq *_loop0_147_rule(Parser *p);
+static asdl_seq *_loop0_148_rule(Parser *p);
+static void *_tmp_149_rule(Parser *p);
+static void *_tmp_150_rule(Parser *p);
+static void *_tmp_151_rule(Parser *p);
+static asdl_seq *_loop0_152_rule(Parser *p);
+static asdl_seq *_loop1_153_rule(Parser *p);
+static asdl_seq *_loop0_154_rule(Parser *p);
+static asdl_seq *_loop1_155_rule(Parser *p);
+static void *_tmp_156_rule(Parser *p);
+static void *_tmp_157_rule(Parser *p);
+static void *_tmp_158_rule(Parser *p);
+static asdl_seq *_loop0_160_rule(Parser *p);
+static asdl_seq *_gather_159_rule(Parser *p);
+static asdl_seq *_loop0_162_rule(Parser *p);
+static asdl_seq *_gather_161_rule(Parser *p);
static void *_tmp_163_rule(Parser *p);
static void *_tmp_164_rule(Parser *p);
static void *_tmp_165_rule(Parser *p);
@@ -828,6 +837,9 @@ static void *_tmp_179_rule(Parser *p);
static void *_tmp_180_rule(Parser *p);
static void *_tmp_181_rule(Parser *p);
static void *_tmp_182_rule(Parser *p);
+static void *_tmp_183_rule(Parser *p);
+static void *_tmp_184_rule(Parser *p);
+static void *_tmp_185_rule(Parser *p);
// file: statements? $
@@ -3737,8 +3749,9 @@ dotted_name_raw(Parser *p)
}
// if_stmt:
-// | 'if' named_expression &&':' block elif_stmt
-// | 'if' named_expression &&':' block else_block?
+// | 'if' named_expression ':' block elif_stmt
+// | 'if' named_expression ':' block else_block?
+// | invalid_if_stmt
static stmt_ty
if_stmt_rule(Parser *p)
{
@@ -3758,12 +3771,12 @@ if_stmt_rule(Parser *p)
UNUSED(_start_lineno); // Only used by EXTRA macro
int _start_col_offset = p->tokens[_mark]->col_offset;
UNUSED(_start_col_offset); // Only used by EXTRA macro
- { // 'if' named_expression &&':' block elif_stmt
+ { // 'if' named_expression ':' block elif_stmt
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> if_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' named_expression &&':' block elif_stmt"));
+ D(fprintf(stderr, "%*c> if_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' named_expression ':' block elif_stmt"));
Token * _keyword;
Token * _literal;
expr_ty a;
@@ -3774,14 +3787,14 @@ if_stmt_rule(Parser *p)
&&
(a = named_expression_rule(p)) // named_expression
&&
- (_literal = _PyPegen_expect_forced_token(p, 11, ":")) // forced_token=':'
+ (_literal = _PyPegen_expect_token(p, 11)) // token=':'
&&
(b = block_rule(p)) // block
&&
(c = elif_stmt_rule(p)) // elif_stmt
)
{
- D(fprintf(stderr, "%*c+ if_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' named_expression &&':' block elif_stmt"));
+ D(fprintf(stderr, "%*c+ if_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' named_expression ':' block elif_stmt"));
Token *_token = _PyPegen_get_last_nonnwhitespace_token(p);
if (_token == NULL) {
D(p->level--);
@@ -3801,14 +3814,14 @@ if_stmt_rule(Parser *p)
}
p->mark = _mark;
D(fprintf(stderr, "%*c%s if_stmt[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'if' named_expression &&':' block elif_stmt"));
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'if' named_expression ':' block elif_stmt"));
}
- { // 'if' named_expression &&':' block else_block?
+ { // 'if' named_expression ':' block else_block?
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> if_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' named_expression &&':' block else_block?"));
+ D(fprintf(stderr, "%*c> if_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' named_expression ':' block else_block?"));
Token * _keyword;
Token * _literal;
expr_ty a;
@@ -3819,14 +3832,14 @@ if_stmt_rule(Parser *p)
&&
(a = named_expression_rule(p)) // named_expression
&&
- (_literal = _PyPegen_expect_forced_token(p, 11, ":")) // forced_token=':'
+ (_literal = _PyPegen_expect_token(p, 11)) // token=':'
&&
(b = block_rule(p)) // block
&&
(c = else_block_rule(p), 1) // else_block?
)
{
- D(fprintf(stderr, "%*c+ if_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' named_expression &&':' block else_block?"));
+ D(fprintf(stderr, "%*c+ if_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' named_expression ':' block else_block?"));
Token *_token = _PyPegen_get_last_nonnwhitespace_token(p);
if (_token == NULL) {
D(p->level--);
@@ -3846,7 +3859,26 @@ if_stmt_rule(Parser *p)
}
p->mark = _mark;
D(fprintf(stderr, "%*c%s if_stmt[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'if' named_expression &&':' block else_block?"));
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'if' named_expression ':' block else_block?"));
+ }
+ if (p->call_invalid_rules) { // invalid_if_stmt
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> if_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "invalid_if_stmt"));
+ void *invalid_if_stmt_var;
+ if (
+ (invalid_if_stmt_var = invalid_if_stmt_rule(p)) // invalid_if_stmt
+ )
+ {
+ D(fprintf(stderr, "%*c+ if_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "invalid_if_stmt"));
+ _res = invalid_if_stmt_var;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s if_stmt[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "invalid_if_stmt"));
}
_res = NULL;
done:
@@ -3855,8 +3887,9 @@ if_stmt_rule(Parser *p)
}
// elif_stmt:
-// | 'elif' named_expression &&':' block elif_stmt
-// | 'elif' named_expression &&':' block else_block?
+// | 'elif' named_expression ':' block elif_stmt
+// | 'elif' named_expression ':' block else_block?
+// | invalid_elif_stmt
static stmt_ty
elif_stmt_rule(Parser *p)
{
@@ -3876,12 +3909,12 @@ elif_stmt_rule(Parser *p)
UNUSED(_start_lineno); // Only used by EXTRA macro
int _start_col_offset = p->tokens[_mark]->col_offset;
UNUSED(_start_col_offset); // Only used by EXTRA macro
- { // 'elif' named_expression &&':' block elif_stmt
+ { // 'elif' named_expression ':' block elif_stmt
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> elif_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'elif' named_expression &&':' block elif_stmt"));
+ D(fprintf(stderr, "%*c> elif_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'elif' named_expression ':' block elif_stmt"));
Token * _keyword;
Token * _literal;
expr_ty a;
@@ -3892,14 +3925,14 @@ elif_stmt_rule(Parser *p)
&&
(a = named_expression_rule(p)) // named_expression
&&
- (_literal = _PyPegen_expect_forced_token(p, 11, ":")) // forced_token=':'
+ (_literal = _PyPegen_expect_token(p, 11)) // token=':'
&&
(b = block_rule(p)) // block
&&
(c = elif_stmt_rule(p)) // elif_stmt
)
{
- D(fprintf(stderr, "%*c+ elif_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'elif' named_expression &&':' block elif_stmt"));
+ D(fprintf(stderr, "%*c+ elif_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'elif' named_expression ':' block elif_stmt"));
Token *_token = _PyPegen_get_last_nonnwhitespace_token(p);
if (_token == NULL) {
D(p->level--);
@@ -3919,14 +3952,14 @@ elif_stmt_rule(Parser *p)
}
p->mark = _mark;
D(fprintf(stderr, "%*c%s elif_stmt[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'elif' named_expression &&':' block elif_stmt"));
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'elif' named_expression ':' block elif_stmt"));
}
- { // 'elif' named_expression &&':' block else_block?
+ { // 'elif' named_expression ':' block else_block?
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> elif_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'elif' named_expression &&':' block else_block?"));
+ D(fprintf(stderr, "%*c> elif_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'elif' named_expression ':' block else_block?"));
Token * _keyword;
Token * _literal;
expr_ty a;
@@ -3937,14 +3970,14 @@ elif_stmt_rule(Parser *p)
&&
(a = named_expression_rule(p)) // named_expression
&&
- (_literal = _PyPegen_expect_forced_token(p, 11, ":")) // forced_token=':'
+ (_literal = _PyPegen_expect_token(p, 11)) // token=':'
&&
(b = block_rule(p)) // block
&&
(c = else_block_rule(p), 1) // else_block?
)
{
- D(fprintf(stderr, "%*c+ elif_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'elif' named_expression &&':' block else_block?"));
+ D(fprintf(stderr, "%*c+ elif_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'elif' named_expression ':' block else_block?"));
Token *_token = _PyPegen_get_last_nonnwhitespace_token(p);
if (_token == NULL) {
D(p->level--);
@@ -3964,7 +3997,26 @@ elif_stmt_rule(Parser *p)
}
p->mark = _mark;
D(fprintf(stderr, "%*c%s elif_stmt[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'elif' named_expression &&':' block else_block?"));
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'elif' named_expression ':' block else_block?"));
+ }
+ if (p->call_invalid_rules) { // invalid_elif_stmt
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> elif_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "invalid_elif_stmt"));
+ void *invalid_elif_stmt_var;
+ if (
+ (invalid_elif_stmt_var = invalid_elif_stmt_rule(p)) // invalid_elif_stmt
+ )
+ {
+ D(fprintf(stderr, "%*c+ elif_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "invalid_elif_stmt"));
+ _res = invalid_elif_stmt_var;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s elif_stmt[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "invalid_elif_stmt"));
}
_res = NULL;
done:
@@ -4019,7 +4071,7 @@ else_block_rule(Parser *p)
return _res;
}
-// while_stmt: 'while' named_expression &&':' block else_block?
+// while_stmt: 'while' named_expression ':' block else_block? | invalid_while_stmt
static stmt_ty
while_stmt_rule(Parser *p)
{
@@ -4039,12 +4091,12 @@ while_stmt_rule(Parser *p)
UNUSED(_start_lineno); // Only used by EXTRA macro
int _start_col_offset = p->tokens[_mark]->col_offset;
UNUSED(_start_col_offset); // Only used by EXTRA macro
- { // 'while' named_expression &&':' block else_block?
+ { // 'while' named_expression ':' block else_block?
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> while_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'while' named_expression &&':' block else_block?"));
+ D(fprintf(stderr, "%*c> while_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'while' named_expression ':' block else_block?"));
Token * _keyword;
Token * _literal;
expr_ty a;
@@ -4055,14 +4107,14 @@ while_stmt_rule(Parser *p)
&&
(a = named_expression_rule(p)) // named_expression
&&
- (_literal = _PyPegen_expect_forced_token(p, 11, ":")) // forced_token=':'
+ (_literal = _PyPegen_expect_token(p, 11)) // token=':'
&&
(b = block_rule(p)) // block
&&
(c = else_block_rule(p), 1) // else_block?
)
{
- D(fprintf(stderr, "%*c+ while_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'while' named_expression &&':' block else_block?"));
+ D(fprintf(stderr, "%*c+ while_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'while' named_expression ':' block else_block?"));
Token *_token = _PyPegen_get_last_nonnwhitespace_token(p);
if (_token == NULL) {
D(p->level--);
@@ -4082,7 +4134,26 @@ while_stmt_rule(Parser *p)
}
p->mark = _mark;
D(fprintf(stderr, "%*c%s while_stmt[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'while' named_expression &&':' block else_block?"));
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'while' named_expression ':' block else_block?"));
+ }
+ if (p->call_invalid_rules) { // invalid_while_stmt
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> while_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "invalid_while_stmt"));
+ void *invalid_while_stmt_var;
+ if (
+ (invalid_while_stmt_var = invalid_while_stmt_rule(p)) // invalid_while_stmt
+ )
+ {
+ D(fprintf(stderr, "%*c+ while_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "invalid_while_stmt"));
+ _res = invalid_while_stmt_var;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s while_stmt[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "invalid_while_stmt"));
}
_res = NULL;
done:
@@ -9214,7 +9285,7 @@ star_named_expression_rule(Parser *p)
return _res;
}
-// named_expression: NAME ':=' ~ expression | expression !':=' | invalid_named_expression
+// named_expression: NAME ':=' ~ expression | invalid_named_expression | expression !':='
static expr_ty
named_expression_rule(Parser *p)
{
@@ -9280,45 +9351,45 @@ named_expression_rule(Parser *p)
return NULL;
}
}
- { // expression !':='
+ if (p->call_invalid_rules) { // invalid_named_expression
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> named_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "expression !':='"));
- expr_ty expression_var;
+ D(fprintf(stderr, "%*c> named_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "invalid_named_expression"));
+ void *invalid_named_expression_var;
if (
- (expression_var = expression_rule(p)) // expression
- &&
- _PyPegen_lookahead_with_int(0, _PyPegen_expect_token, p, 53) // token=':='
+ (invalid_named_expression_var = invalid_named_expression_rule(p)) // invalid_named_expression
)
{
- D(fprintf(stderr, "%*c+ named_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "expression !':='"));
- _res = expression_var;
+ D(fprintf(stderr, "%*c+ named_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "invalid_named_expression"));
+ _res = invalid_named_expression_var;
goto done;
}
p->mark = _mark;
D(fprintf(stderr, "%*c%s named_expression[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "expression !':='"));
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "invalid_named_expression"));
}
- if (p->call_invalid_rules) { // invalid_named_expression
+ { // expression !':='
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> named_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "invalid_named_expression"));
- void *invalid_named_expression_var;
+ D(fprintf(stderr, "%*c> named_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "expression !':='"));
+ expr_ty expression_var;
if (
- (invalid_named_expression_var = invalid_named_expression_rule(p)) // invalid_named_expression
+ (expression_var = expression_rule(p)) // expression
+ &&
+ _PyPegen_lookahead_with_int(0, _PyPegen_expect_token, p, 53) // token=':='
)
{
- D(fprintf(stderr, "%*c+ named_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "invalid_named_expression"));
- _res = invalid_named_expression_var;
+ D(fprintf(stderr, "%*c+ named_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "expression !':='"));
+ _res = expression_var;
goto done;
}
p->mark = _mark;
D(fprintf(stderr, "%*c%s named_expression[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "invalid_named_expression"));
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "expression !':='"));
}
_res = NULL;
done:
@@ -17242,7 +17313,10 @@ invalid_kwarg_rule(Parser *p)
return _res;
}
-// invalid_named_expression: expression ':=' expression
+// invalid_named_expression:
+// | expression ':=' expression
+// | NAME '=' bitwise_or !('=' | ':=' | ',')
+// | !(list | tuple | genexp | 'True' | 'None' | 'False') bitwise_or '=' bitwise_or !('=' | ':=' | ',')
static void *
invalid_named_expression_rule(Parser *p)
{
@@ -17283,6 +17357,72 @@ invalid_named_expression_rule(Parser *p)
D(fprintf(stderr, "%*c%s invalid_named_expression[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "expression ':=' expression"));
}
+ { // NAME '=' bitwise_or !('=' | ':=' | ',')
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> invalid_named_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "NAME '=' bitwise_or !('=' | ':=' | ',')"));
+ expr_ty a;
+ Token * b;
+ expr_ty bitwise_or_var;
+ if (
+ (a = _PyPegen_name_token(p)) // NAME
+ &&
+ (b = _PyPegen_expect_token(p, 22)) // token='='
+ &&
+ (bitwise_or_var = bitwise_or_rule(p)) // bitwise_or
+ &&
+ _PyPegen_lookahead(0, _tmp_143_rule, p)
+ )
+ {
+ D(fprintf(stderr, "%*c+ invalid_named_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "NAME '=' bitwise_or !('=' | ':=' | ',')"));
+ _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( b , "invalid syntax. Maybe you meant '==' or ':=' instead of '='?" );
+ if (_res == NULL && PyErr_Occurred()) {
+ p->error_indicator = 1;
+ D(p->level--);
+ return NULL;
+ }
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s invalid_named_expression[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "NAME '=' bitwise_or !('=' | ':=' | ',')"));
+ }
+ { // !(list | tuple | genexp | 'True' | 'None' | 'False') bitwise_or '=' bitwise_or !('=' | ':=' | ',')
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> invalid_named_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "!(list | tuple | genexp | 'True' | 'None' | 'False') bitwise_or '=' bitwise_or !('=' | ':=' | ',')"));
+ expr_ty a;
+ Token * b;
+ expr_ty bitwise_or_var;
+ if (
+ _PyPegen_lookahead(0, _tmp_144_rule, p)
+ &&
+ (a = bitwise_or_rule(p)) // bitwise_or
+ &&
+ (b = _PyPegen_expect_token(p, 22)) // token='='
+ &&
+ (bitwise_or_var = bitwise_or_rule(p)) // bitwise_or
+ &&
+ _PyPegen_lookahead(0, _tmp_145_rule, p)
+ )
+ {
+ D(fprintf(stderr, "%*c+ invalid_named_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "!(list | tuple | genexp | 'True' | 'None' | 'False') bitwise_or '=' bitwise_or !('=' | ':=' | ',')"));
+ _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( b , "cannot assign to %s here. Maybe you meant '==' instead of '='?" , _PyPegen_get_expr_name ( a ) );
+ if (_res == NULL && PyErr_Occurred()) {
+ p->error_indicator = 1;
+ D(p->level--);
+ return NULL;
+ }
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s invalid_named_expression[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "!(list | tuple | genexp | 'True' | 'None' | 'False') bitwise_or '=' bitwise_or !('=' | ':=' | ',')"));
+ }
_res = NULL;
done:
D(p->level--);
@@ -17344,7 +17484,7 @@ invalid_assignment_rule(Parser *p)
D(fprintf(stderr, "%*c> invalid_assignment[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_named_expression ',' star_named_expressions* ':' expression"));
Token * _literal;
Token * _literal_1;
- asdl_seq * _loop0_143_var;
+ asdl_seq * _loop0_146_var;
expr_ty a;
expr_ty expression_var;
if (
@@ -17352,7 +17492,7 @@ invalid_assignment_rule(Parser *p)
&&
(_literal = _PyPegen_expect_token(p, 12)) // token=','
&&
- (_loop0_143_var = _loop0_143_rule(p)) // star_named_expressions*
+ (_loop0_146_var = _loop0_146_rule(p)) // star_named_expressions*
&&
(_literal_1 = _PyPegen_expect_token(p, 11)) // token=':'
&&
@@ -17409,10 +17549,10 @@ invalid_assignment_rule(Parser *p)
}
D(fprintf(stderr, "%*c> invalid_assignment[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "((star_targets '='))* star_expressions '='"));
Token * _literal;
- asdl_seq * _loop0_144_var;
+ asdl_seq * _loop0_147_var;
expr_ty a;
if (
- (_loop0_144_var = _loop0_144_rule(p)) // ((star_targets '='))*
+ (_loop0_147_var = _loop0_147_rule(p)) // ((star_targets '='))*
&&
(a = star_expressions_rule(p)) // star_expressions
&&
@@ -17439,10 +17579,10 @@ invalid_assignment_rule(Parser *p)
}
D(fprintf(stderr, "%*c> invalid_assignment[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "((star_targets '='))* yield_expr '='"));
Token * _literal;
- asdl_seq * _loop0_145_var;
+ asdl_seq * _loop0_148_var;
expr_ty a;
if (
- (_loop0_145_var = _loop0_145_rule(p)) // ((star_targets '='))*
+ (_loop0_148_var = _loop0_148_rule(p)) // ((star_targets '='))*
&&
(a = yield_expr_rule(p)) // yield_expr
&&
@@ -17468,7 +17608,7 @@ invalid_assignment_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_assignment[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_expressions augassign (yield_expr | star_expressions)"));
- void *_tmp_146_var;
+ void *_tmp_149_var;
expr_ty a;
AugOperator* augassign_var;
if (
@@ -17476,7 +17616,7 @@ invalid_assignment_rule(Parser *p)
&&
(augassign_var = augassign_rule(p)) // augassign
&&
- (_tmp_146_var = _tmp_146_rule(p)) // yield_expr | star_expressions
+ (_tmp_149_var = _tmp_149_rule(p)) // yield_expr | star_expressions
)
{
D(fprintf(stderr, "%*c+ invalid_assignment[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_expressions augassign (yield_expr | star_expressions)"));
@@ -17734,11 +17874,11 @@ invalid_comprehension_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_comprehension[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('[' | '(' | '{') starred_expression for_if_clauses"));
- void *_tmp_147_var;
+ void *_tmp_150_var;
expr_ty a;
asdl_comprehension_seq* for_if_clauses_var;
if (
- (_tmp_147_var = _tmp_147_rule(p)) // '[' | '(' | '{'
+ (_tmp_150_var = _tmp_150_rule(p)) // '[' | '(' | '{'
&&
(a = starred_expression_rule(p)) // starred_expression
&&
@@ -17767,11 +17907,11 @@ invalid_comprehension_rule(Parser *p)
Token * _literal;
void *_opt_var;
UNUSED(_opt_var); // Silence compiler warnings
- void *_tmp_148_var;
+ void *_tmp_151_var;
expr_ty a;
asdl_comprehension_seq* for_if_clauses_var;
if (
- (_tmp_148_var = _tmp_148_rule(p)) // '[' | '{'
+ (_tmp_151_var = _tmp_151_rule(p)) // '[' | '{'
&&
(a = star_named_expression_rule(p)) // star_named_expression
&&
@@ -17871,11 +18011,11 @@ invalid_parameters_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_parameters[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "param_no_default* invalid_parameters_helper param_no_default"));
- asdl_seq * _loop0_149_var;
+ asdl_seq * _loop0_152_var;
void *invalid_parameters_helper_var;
arg_ty param_no_default_var;
if (
- (_loop0_149_var = _loop0_149_rule(p)) // param_no_default*
+ (_loop0_152_var = _loop0_152_rule(p)) // param_no_default*
&&
(invalid_parameters_helper_var = invalid_parameters_helper_rule(p)) // invalid_parameters_helper
&&
@@ -17942,13 +18082,13 @@ invalid_parameters_helper_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_parameters_helper[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "param_with_default+"));
- asdl_seq * _loop1_150_var;
+ asdl_seq * _loop1_153_var;
if (
- (_loop1_150_var = _loop1_150_rule(p)) // param_with_default+
+ (_loop1_153_var = _loop1_153_rule(p)) // param_with_default+
)
{
D(fprintf(stderr, "%*c+ invalid_parameters_helper[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "param_with_default+"));
- _res = _loop1_150_var;
+ _res = _loop1_153_var;
goto done;
}
p->mark = _mark;
@@ -17979,11 +18119,11 @@ invalid_lambda_parameters_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_lambda_parameters[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "lambda_param_no_default* invalid_lambda_parameters_helper lambda_param_no_default"));
- asdl_seq * _loop0_151_var;
+ asdl_seq * _loop0_154_var;
void *invalid_lambda_parameters_helper_var;
arg_ty lambda_param_no_default_var;
if (
- (_loop0_151_var = _loop0_151_rule(p)) // lambda_param_no_default*
+ (_loop0_154_var = _loop0_154_rule(p)) // lambda_param_no_default*
&&
(invalid_lambda_parameters_helper_var = invalid_lambda_parameters_helper_rule(p)) // invalid_lambda_parameters_helper
&&
@@ -18052,13 +18192,13 @@ invalid_lambda_parameters_helper_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_lambda_parameters_helper[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "lambda_param_with_default+"));
- asdl_seq * _loop1_152_var;
+ asdl_seq * _loop1_155_var;
if (
- (_loop1_152_var = _loop1_152_rule(p)) // lambda_param_with_default+
+ (_loop1_155_var = _loop1_155_rule(p)) // lambda_param_with_default+
)
{
D(fprintf(stderr, "%*c+ invalid_lambda_parameters_helper[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "lambda_param_with_default+"));
- _res = _loop1_152_var;
+ _res = _loop1_155_var;
goto done;
}
p->mark = _mark;
@@ -18089,11 +18229,11 @@ invalid_star_etc_rule(Parser *p)
}
D(fprintf(stderr, "%*c> invalid_star_etc[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'*' (')' | ',' (')' | '**'))"));
Token * _literal;
- void *_tmp_153_var;
+ void *_tmp_156_var;
if (
(_literal = _PyPegen_expect_token(p, 16)) // token='*'
&&
- (_tmp_153_var = _tmp_153_rule(p)) // ')' | ',' (')' | '**')
+ (_tmp_156_var = _tmp_156_rule(p)) // ')' | ',' (')' | '**')
)
{
D(fprintf(stderr, "%*c+ invalid_star_etc[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'*' (')' | ',' (')' | '**'))"));
@@ -18163,11 +18303,11 @@ invalid_lambda_star_etc_rule(Parser *p)
}
D(fprintf(stderr, "%*c> invalid_lambda_star_etc[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'*' (':' | ',' (':' | '**'))"));
Token * _literal;
- void *_tmp_154_var;
+ void *_tmp_157_var;
if (
(_literal = _PyPegen_expect_token(p, 16)) // token='*'
&&
- (_tmp_154_var = _tmp_154_rule(p)) // ':' | ',' (':' | '**')
+ (_tmp_157_var = _tmp_157_rule(p)) // ':' | ',' (':' | '**')
)
{
D(fprintf(stderr, "%*c+ invalid_lambda_star_etc[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'*' (':' | ',' (':' | '**'))"));
@@ -18269,7 +18409,7 @@ invalid_with_item_rule(Parser *p)
&&
(a = expression_rule(p)) // expression
&&
- _PyPegen_lookahead(1, _tmp_155_rule, p)
+ _PyPegen_lookahead(1, _tmp_158_rule, p)
)
{
D(fprintf(stderr, "%*c+ invalid_with_item[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "expression 'as' expression &(',' | ')' | ':')"));
@@ -18368,7 +18508,7 @@ invalid_group_rule(Parser *p)
)
{
D(fprintf(stderr, "%*c+ invalid_group[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'(' starred_expression ')'"));
- _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "can't use starred expression here" );
+ _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "cannot use starred expression here" );
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
D(p->level--);
@@ -18401,7 +18541,7 @@ invalid_group_rule(Parser *p)
)
{
D(fprintf(stderr, "%*c+ invalid_group[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'(' '**' expression ')'"));
- _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "can't use double starred expression here" );
+ _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "cannot use double starred expression here" );
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
D(p->level--);
@@ -18482,7 +18622,7 @@ invalid_with_stmt_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_with_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "ASYNC? 'with' ','.(expression ['as' star_target])+ &&':'"));
- asdl_seq * _gather_156_var;
+ asdl_seq * _gather_159_var;
Token * _keyword;
Token * _literal;
void *_opt_var;
@@ -18492,13 +18632,13 @@ invalid_with_stmt_rule(Parser *p)
&&
(_keyword = _PyPegen_expect_token(p, 519)) // token='with'
&&
- (_gather_156_var = _gather_156_rule(p)) // ','.(expression ['as' star_target])+
+ (_gather_159_var = _gather_159_rule(p)) // ','.(expression ['as' star_target])+
&&
(_literal = _PyPegen_expect_forced_token(p, 11, ":")) // forced_token=':'
)
{
D(fprintf(stderr, "%*c+ invalid_with_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "ASYNC? 'with' ','.(expression ['as' star_target])+ &&':'"));
- _res = _PyPegen_dummy_name(p, _opt_var, _keyword, _gather_156_var, _literal);
+ _res = _PyPegen_dummy_name(p, _opt_var, _keyword, _gather_159_var, _literal);
goto done;
}
p->mark = _mark;
@@ -18511,7 +18651,7 @@ invalid_with_stmt_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> invalid_with_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "ASYNC? 'with' '(' ','.(expressions ['as' star_target])+ ','? ')' &&':'"));
- asdl_seq * _gather_158_var;
+ asdl_seq * _gather_161_var;
Token * _keyword;
Token * _literal;
Token * _literal_1;
@@ -18527,7 +18667,7 @@ invalid_with_stmt_rule(Parser *p)
&&
(_literal = _PyPegen_expect_token(p, 7)) // token='('
&&
- (_gather_158_var = _gather_158_rule(p)) // ','.(expressions ['as' star_target])+
+ (_gather_161_var = _gather_161_rule(p)) // ','.(expressions ['as' star_target])+
&&
(_opt_var_1 = _PyPegen_expect_token(p, 12), 1) // ','?
&&
@@ -18537,7 +18677,7 @@ invalid_with_stmt_rule(Parser *p)
)
{
D(fprintf(stderr, "%*c+ invalid_with_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "ASYNC? 'with' '(' ','.(expressions ['as' star_target])+ ','? ')' &&':'"));
- _res = _PyPegen_dummy_name(p, _opt_var, _keyword, _literal, _gather_158_var, _opt_var_1, _literal_1, _literal_2);
+ _res = _PyPegen_dummy_name(p, _opt_var, _keyword, _literal, _gather_161_var, _opt_var_1, _literal_1, _literal_2);
goto done;
}
p->mark = _mark;
@@ -18586,7 +18726,7 @@ invalid_except_block_rule(Parser *p)
&&
(expressions_var = expressions_rule(p)) // expressions
&&
- (_opt_var = _tmp_160_rule(p), 1) // ['as' NAME]
+ (_opt_var = _tmp_163_rule(p), 1) // ['as' NAME]
&&
(_literal_1 = _PyPegen_expect_token(p, 11)) // token=':'
)
@@ -18620,7 +18760,7 @@ invalid_except_block_rule(Parser *p)
&&
(expression_var = expression_rule(p)) // expression
&&
- (_opt_var = _tmp_161_rule(p), 1) // ['as' NAME]
+ (_opt_var = _tmp_164_rule(p), 1) // ['as' NAME]
&&
(_literal = _PyPegen_expect_forced_token(p, 11, ":")) // forced_token=':'
)
@@ -18757,6 +18897,147 @@ invalid_case_block_rule(Parser *p)
return _res;
}
+// invalid_if_stmt: 'if' named_expression NEWLINE
+static void *
+invalid_if_stmt_rule(Parser *p)
+{
+ D(p->level++);
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ void * _res = NULL;
+ int _mark = p->mark;
+ { // 'if' named_expression NEWLINE
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> invalid_if_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' named_expression NEWLINE"));
+ Token * _keyword;
+ expr_ty named_expression_var;
+ Token * newline_var;
+ if (
+ (_keyword = _PyPegen_expect_token(p, 510)) // token='if'
+ &&
+ (named_expression_var = named_expression_rule(p)) // named_expression
+ &&
+ (newline_var = _PyPegen_expect_token(p, NEWLINE)) // token='NEWLINE'
+ )
+ {
+ D(fprintf(stderr, "%*c+ invalid_if_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' named_expression NEWLINE"));
+ _res = RAISE_SYNTAX_ERROR ( "expected ':'" );
+ if (_res == NULL && PyErr_Occurred()) {
+ p->error_indicator = 1;
+ D(p->level--);
+ return NULL;
+ }
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s invalid_if_stmt[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'if' named_expression NEWLINE"));
+ }
+ _res = NULL;
+ done:
+ D(p->level--);
+ return _res;
+}
+
+// invalid_elif_stmt: 'elif' named_expression NEWLINE
+static void *
+invalid_elif_stmt_rule(Parser *p)
+{
+ D(p->level++);
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ void * _res = NULL;
+ int _mark = p->mark;
+ { // 'elif' named_expression NEWLINE
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> invalid_elif_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'elif' named_expression NEWLINE"));
+ Token * _keyword;
+ expr_ty named_expression_var;
+ Token * newline_var;
+ if (
+ (_keyword = _PyPegen_expect_token(p, 515)) // token='elif'
+ &&
+ (named_expression_var = named_expression_rule(p)) // named_expression
+ &&
+ (newline_var = _PyPegen_expect_token(p, NEWLINE)) // token='NEWLINE'
+ )
+ {
+ D(fprintf(stderr, "%*c+ invalid_elif_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'elif' named_expression NEWLINE"));
+ _res = RAISE_SYNTAX_ERROR ( "expected ':'" );
+ if (_res == NULL && PyErr_Occurred()) {
+ p->error_indicator = 1;
+ D(p->level--);
+ return NULL;
+ }
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s invalid_elif_stmt[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'elif' named_expression NEWLINE"));
+ }
+ _res = NULL;
+ done:
+ D(p->level--);
+ return _res;
+}
+
+// invalid_while_stmt: 'while' named_expression NEWLINE
+static void *
+invalid_while_stmt_rule(Parser *p)
+{
+ D(p->level++);
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ void * _res = NULL;
+ int _mark = p->mark;
+ { // 'while' named_expression NEWLINE
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> invalid_while_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'while' named_expression NEWLINE"));
+ Token * _keyword;
+ expr_ty named_expression_var;
+ Token * newline_var;
+ if (
+ (_keyword = _PyPegen_expect_token(p, 512)) // token='while'
+ &&
+ (named_expression_var = named_expression_rule(p)) // named_expression
+ &&
+ (newline_var = _PyPegen_expect_token(p, NEWLINE)) // token='NEWLINE'
+ )
+ {
+ D(fprintf(stderr, "%*c+ invalid_while_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'while' named_expression NEWLINE"));
+ _res = RAISE_SYNTAX_ERROR ( "expected ':'" );
+ if (_res == NULL && PyErr_Occurred()) {
+ p->error_indicator = 1;
+ D(p->level--);
+ return NULL;
+ }
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s invalid_while_stmt[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'while' named_expression NEWLINE"));
+ }
+ _res = NULL;
+ done:
+ D(p->level--);
+ return _res;
+}
+
// _loop0_1: NEWLINE
static asdl_seq *
_loop0_1_rule(Parser *p)
@@ -20005,12 +20286,12 @@ _loop1_22_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_22[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(star_targets '=')"));
- void *_tmp_162_var;
+ void *_tmp_165_var;
while (
- (_tmp_162_var = _tmp_162_rule(p)) // star_targets '='
+ (_tmp_165_var = _tmp_165_rule(p)) // star_targets '='
)
{
- _res = _tmp_162_var;
+ _res = _tmp_165_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -20513,12 +20794,12 @@ _loop0_31_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop0_31[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('.' | '...')"));
- void *_tmp_163_var;
+ void *_tmp_166_var;
while (
- (_tmp_163_var = _tmp_163_rule(p)) // '.' | '...'
+ (_tmp_166_var = _tmp_166_rule(p)) // '.' | '...'
)
{
- _res = _tmp_163_var;
+ _res = _tmp_166_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -20579,12 +20860,12 @@ _loop1_32_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_32[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('.' | '...')"));
- void *_tmp_164_var;
+ void *_tmp_167_var;
while (
- (_tmp_164_var = _tmp_164_rule(p)) // '.' | '...'
+ (_tmp_167_var = _tmp_167_rule(p)) // '.' | '...'
)
{
- _res = _tmp_164_var;
+ _res = _tmp_167_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -23695,12 +23976,12 @@ _loop1_84_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_84[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('@' named_expression NEWLINE)"));
- void *_tmp_165_var;
+ void *_tmp_168_var;
while (
- (_tmp_165_var = _tmp_165_rule(p)) // '@' named_expression NEWLINE
+ (_tmp_168_var = _tmp_168_rule(p)) // '@' named_expression NEWLINE
)
{
- _res = _tmp_165_var;
+ _res = _tmp_168_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -23813,12 +24094,12 @@ _loop1_86_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_86[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(',' star_expression)"));
- void *_tmp_166_var;
+ void *_tmp_169_var;
while (
- (_tmp_166_var = _tmp_166_rule(p)) // ',' star_expression
+ (_tmp_169_var = _tmp_169_rule(p)) // ',' star_expression
)
{
- _res = _tmp_166_var;
+ _res = _tmp_169_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -23998,12 +24279,12 @@ _loop1_89_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_89[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(',' expression)"));
- void *_tmp_167_var;
+ void *_tmp_170_var;
while (
- (_tmp_167_var = _tmp_167_rule(p)) // ',' expression
+ (_tmp_170_var = _tmp_170_rule(p)) // ',' expression
)
{
- _res = _tmp_167_var;
+ _res = _tmp_170_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -25028,12 +25309,12 @@ _loop1_104_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_104[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('or' conjunction)"));
- void *_tmp_168_var;
+ void *_tmp_171_var;
while (
- (_tmp_168_var = _tmp_168_rule(p)) // 'or' conjunction
+ (_tmp_171_var = _tmp_171_rule(p)) // 'or' conjunction
)
{
- _res = _tmp_168_var;
+ _res = _tmp_171_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -25099,12 +25380,12 @@ _loop1_105_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_105[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('and' inversion)"));
- void *_tmp_169_var;
+ void *_tmp_172_var;
while (
- (_tmp_169_var = _tmp_169_rule(p)) // 'and' inversion
+ (_tmp_172_var = _tmp_172_rule(p)) // 'and' inversion
)
{
- _res = _tmp_169_var;
+ _res = _tmp_172_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -26020,12 +26301,12 @@ _loop0_120_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop0_120[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('if' disjunction)"));
- void *_tmp_170_var;
+ void *_tmp_173_var;
while (
- (_tmp_170_var = _tmp_170_rule(p)) // 'if' disjunction
+ (_tmp_173_var = _tmp_173_rule(p)) // 'if' disjunction
)
{
- _res = _tmp_170_var;
+ _res = _tmp_173_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -26086,12 +26367,12 @@ _loop0_121_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop0_121[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "('if' disjunction)"));
- void *_tmp_171_var;
+ void *_tmp_174_var;
while (
- (_tmp_171_var = _tmp_171_rule(p)) // 'if' disjunction
+ (_tmp_174_var = _tmp_174_rule(p)) // 'if' disjunction
)
{
- _res = _tmp_171_var;
+ _res = _tmp_174_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -26157,7 +26438,7 @@ _loop0_123_rule(Parser *p)
while (
(_literal = _PyPegen_expect_token(p, 12)) // token=','
&&
- (elem = _tmp_172_rule(p)) // starred_expression | named_expression !'='
+ (elem = _tmp_175_rule(p)) // starred_expression | named_expression !'='
)
{
_res = elem;
@@ -26220,7 +26501,7 @@ _gather_122_rule(Parser *p)
void *elem;
asdl_seq * seq;
if (
- (elem = _tmp_172_rule(p)) // starred_expression | named_expression !'='
+ (elem = _tmp_175_rule(p)) // starred_expression | named_expression !'='
&&
(seq = _loop0_123_rule(p)) // _loop0_123
)
@@ -26766,12 +27047,12 @@ _loop0_133_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop0_133[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(',' star_target)"));
- void *_tmp_173_var;
+ void *_tmp_176_var;
while (
- (_tmp_173_var = _tmp_173_rule(p)) // ',' star_target
+ (_tmp_176_var = _tmp_176_rule(p)) // ',' star_target
)
{
- _res = _tmp_173_var;
+ _res = _tmp_176_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -26946,12 +27227,12 @@ _loop1_136_rule(Parser *p)
return NULL;
}
D(fprintf(stderr, "%*c> _loop1_136[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(',' star_target)"));
- void *_tmp_174_var;
+ void *_tmp_177_var;
while (
- (_tmp_174_var = _tmp_174_rule(p)) // ',' star_target
+ (_tmp_177_var = _tmp_177_rule(p)) // ',' star_target
)
{
- _res = _tmp_174_var;
+ _res = _tmp_177_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -27314,9 +27595,288 @@ _tmp_142_rule(Parser *p)
return _res;
}
-// _loop0_143: star_named_expressions
+// _tmp_143: '=' | ':=' | ','
+static void *
+_tmp_143_rule(Parser *p)
+{
+ D(p->level++);
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ void * _res = NULL;
+ int _mark = p->mark;
+ { // '='
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_143[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'='"));
+ Token * _literal;
+ if (
+ (_literal = _PyPegen_expect_token(p, 22)) // token='='
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_143[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'='"));
+ _res = _literal;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_143[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'='"));
+ }
+ { // ':='
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_143[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':='"));
+ Token * _literal;
+ if (
+ (_literal = _PyPegen_expect_token(p, 53)) // token=':='
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_143[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':='"));
+ _res = _literal;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_143[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "':='"));
+ }
+ { // ','
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_143[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "','"));
+ Token * _literal;
+ if (
+ (_literal = _PyPegen_expect_token(p, 12)) // token=','
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_143[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "','"));
+ _res = _literal;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_143[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "','"));
+ }
+ _res = NULL;
+ done:
+ D(p->level--);
+ return _res;
+}
+
+// _tmp_144: list | tuple | genexp | 'True' | 'None' | 'False'
+static void *
+_tmp_144_rule(Parser *p)
+{
+ D(p->level++);
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ void * _res = NULL;
+ int _mark = p->mark;
+ { // list
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_144[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "list"));
+ expr_ty list_var;
+ if (
+ (list_var = list_rule(p)) // list
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_144[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "list"));
+ _res = list_var;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_144[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "list"));
+ }
+ { // tuple
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_144[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "tuple"));
+ expr_ty tuple_var;
+ if (
+ (tuple_var = tuple_rule(p)) // tuple
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_144[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "tuple"));
+ _res = tuple_var;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_144[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "tuple"));
+ }
+ { // genexp
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_144[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "genexp"));
+ expr_ty genexp_var;
+ if (
+ (genexp_var = genexp_rule(p)) // genexp
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_144[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "genexp"));
+ _res = genexp_var;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_144[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "genexp"));
+ }
+ { // 'True'
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_144[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'True'"));
+ Token * _keyword;
+ if (
+ (_keyword = _PyPegen_expect_token(p, 524)) // token='True'
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_144[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'True'"));
+ _res = _keyword;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_144[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'True'"));
+ }
+ { // 'None'
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_144[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'None'"));
+ Token * _keyword;
+ if (
+ (_keyword = _PyPegen_expect_token(p, 523)) // token='None'
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_144[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'None'"));
+ _res = _keyword;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_144[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'None'"));
+ }
+ { // 'False'
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_144[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'False'"));
+ Token * _keyword;
+ if (
+ (_keyword = _PyPegen_expect_token(p, 525)) // token='False'
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_144[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'False'"));
+ _res = _keyword;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_144[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'False'"));
+ }
+ _res = NULL;
+ done:
+ D(p->level--);
+ return _res;
+}
+
+// _tmp_145: '=' | ':=' | ','
+static void *
+_tmp_145_rule(Parser *p)
+{
+ D(p->level++);
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ void * _res = NULL;
+ int _mark = p->mark;
+ { // '='
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_145[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'='"));
+ Token * _literal;
+ if (
+ (_literal = _PyPegen_expect_token(p, 22)) // token='='
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_145[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'='"));
+ _res = _literal;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_145[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'='"));
+ }
+ { // ':='
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_145[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':='"));
+ Token * _literal;
+ if (
+ (_literal = _PyPegen_expect_token(p, 53)) // token=':='
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_145[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':='"));
+ _res = _literal;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_145[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "':='"));
+ }
+ { // ','
+ if (p->error_indicator) {
+ D(p->level--);
+ return NULL;
+ }
+ D(fprintf(stderr, "%*c> _tmp_145[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "','"));
+ Token * _literal;
+ if (
+ (_literal = _PyPegen_expect_token(p, 12)) // token=','
+ )
+ {
+ D(fprintf(stderr, "%*c+ _tmp_145[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "','"));
+ _res = _literal;
+ goto done;
+ }
+ p->mark = _mark;
+ D(fprintf(stderr, "%*c%s _tmp_145[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "','"));
+ }
+ _res = NULL;
+ done:
+ D(p->level--);
+ return _res;
+}
+
+// _loop0_146: star_named_expressions
static asdl_seq *
-_loop0_143_rule(Parser *p)
+_loop0_146_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27340,7 +27900,7 @@ _loop0_143_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop0_143[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_named_expressions"));
+ D(fprintf(stderr, "%*c> _loop0_146[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_named_expressions"));
asdl_expr_seq* star_named_expressions_var;
while (
(star_named_expressions_var = star_named_expressions_rule(p)) // star_named_expressions
@@ -27362,7 +27922,7 @@ _loop0_143_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop0_143[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop0_146[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "star_named_expressions"));
}
asdl_seq *_seq = (asdl_seq*)_Py_asdl_generic_seq_new(_n, p->arena);
@@ -27375,14 +27935,14 @@ _loop0_143_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop0_143_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop0_146_type, _seq);
D(p->level--);
return _seq;
}
-// _loop0_144: (star_targets '=')
+// _loop0_147: (star_targets '=')
static asdl_seq *
-_loop0_144_rule(Parser *p)
+_loop0_147_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27406,13 +27966,13 @@ _loop0_144_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop0_144[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(star_targets '=')"));
- void *_tmp_175_var;
+ D(fprintf(stderr, "%*c> _loop0_147[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(star_targets '=')"));
+ void *_tmp_178_var;
while (
- (_tmp_175_var = _tmp_175_rule(p)) // star_targets '='
+ (_tmp_178_var = _tmp_178_rule(p)) // star_targets '='
)
{
- _res = _tmp_175_var;
+ _res = _tmp_178_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -27428,7 +27988,7 @@ _loop0_144_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop0_144[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop0_147[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "(star_targets '=')"));
}
asdl_seq *_seq = (asdl_seq*)_Py_asdl_generic_seq_new(_n, p->arena);
@@ -27441,14 +28001,14 @@ _loop0_144_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop0_144_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop0_147_type, _seq);
D(p->level--);
return _seq;
}
-// _loop0_145: (star_targets '=')
+// _loop0_148: (star_targets '=')
static asdl_seq *
-_loop0_145_rule(Parser *p)
+_loop0_148_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27472,13 +28032,13 @@ _loop0_145_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop0_145[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(star_targets '=')"));
- void *_tmp_176_var;
+ D(fprintf(stderr, "%*c> _loop0_148[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(star_targets '=')"));
+ void *_tmp_179_var;
while (
- (_tmp_176_var = _tmp_176_rule(p)) // star_targets '='
+ (_tmp_179_var = _tmp_179_rule(p)) // star_targets '='
)
{
- _res = _tmp_176_var;
+ _res = _tmp_179_var;
if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
@@ -27494,7 +28054,7 @@ _loop0_145_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop0_145[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop0_148[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "(star_targets '=')"));
}
asdl_seq *_seq = (asdl_seq*)_Py_asdl_generic_seq_new(_n, p->arena);
@@ -27507,14 +28067,14 @@ _loop0_145_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop0_145_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop0_148_type, _seq);
D(p->level--);
return _seq;
}
-// _tmp_146: yield_expr | star_expressions
+// _tmp_149: yield_expr | star_expressions
static void *
-_tmp_146_rule(Parser *p)
+_tmp_149_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27528,18 +28088,18 @@ _tmp_146_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_146[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "yield_expr"));
+ D(fprintf(stderr, "%*c> _tmp_149[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "yield_expr"));
expr_ty yield_expr_var;
if (
(yield_expr_var = yield_expr_rule(p)) // yield_expr
)
{
- D(fprintf(stderr, "%*c+ _tmp_146[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "yield_expr"));
+ D(fprintf(stderr, "%*c+ _tmp_149[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "yield_expr"));
_res = yield_expr_var;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_146[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_149[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "yield_expr"));
}
{ // star_expressions
@@ -27547,18 +28107,18 @@ _tmp_146_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_146[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_expressions"));
+ D(fprintf(stderr, "%*c> _tmp_149[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_expressions"));
expr_ty star_expressions_var;
if (
(star_expressions_var = star_expressions_rule(p)) // star_expressions
)
{
- D(fprintf(stderr, "%*c+ _tmp_146[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_expressions"));
+ D(fprintf(stderr, "%*c+ _tmp_149[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_expressions"));
_res = star_expressions_var;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_146[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_149[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "star_expressions"));
}
_res = NULL;
@@ -27567,9 +28127,9 @@ _tmp_146_rule(Parser *p)
return _res;
}
-// _tmp_147: '[' | '(' | '{'
+// _tmp_150: '[' | '(' | '{'
static void *
-_tmp_147_rule(Parser *p)
+_tmp_150_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27583,18 +28143,18 @@ _tmp_147_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_147[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'['"));
+ D(fprintf(stderr, "%*c> _tmp_150[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'['"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 9)) // token='['
)
{
- D(fprintf(stderr, "%*c+ _tmp_147[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'['"));
+ D(fprintf(stderr, "%*c+ _tmp_150[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'['"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_147[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_150[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'['"));
}
{ // '('
@@ -27602,18 +28162,18 @@ _tmp_147_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_147[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'('"));
+ D(fprintf(stderr, "%*c> _tmp_150[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'('"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 7)) // token='('
)
{
- D(fprintf(stderr, "%*c+ _tmp_147[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'('"));
+ D(fprintf(stderr, "%*c+ _tmp_150[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'('"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_147[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_150[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'('"));
}
{ // '{'
@@ -27621,18 +28181,18 @@ _tmp_147_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_147[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'{'"));
+ D(fprintf(stderr, "%*c> _tmp_150[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'{'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 25)) // token='{'
)
{
- D(fprintf(stderr, "%*c+ _tmp_147[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'{'"));
+ D(fprintf(stderr, "%*c+ _tmp_150[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'{'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_147[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_150[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'{'"));
}
_res = NULL;
@@ -27641,9 +28201,9 @@ _tmp_147_rule(Parser *p)
return _res;
}
-// _tmp_148: '[' | '{'
+// _tmp_151: '[' | '{'
static void *
-_tmp_148_rule(Parser *p)
+_tmp_151_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27657,18 +28217,18 @@ _tmp_148_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_148[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'['"));
+ D(fprintf(stderr, "%*c> _tmp_151[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'['"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 9)) // token='['
)
{
- D(fprintf(stderr, "%*c+ _tmp_148[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'['"));
+ D(fprintf(stderr, "%*c+ _tmp_151[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'['"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_148[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_151[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'['"));
}
{ // '{'
@@ -27676,18 +28236,18 @@ _tmp_148_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_148[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'{'"));
+ D(fprintf(stderr, "%*c> _tmp_151[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'{'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 25)) // token='{'
)
{
- D(fprintf(stderr, "%*c+ _tmp_148[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'{'"));
+ D(fprintf(stderr, "%*c+ _tmp_151[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'{'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_148[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_151[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'{'"));
}
_res = NULL;
@@ -27696,9 +28256,9 @@ _tmp_148_rule(Parser *p)
return _res;
}
-// _loop0_149: param_no_default
+// _loop0_152: param_no_default
static asdl_seq *
-_loop0_149_rule(Parser *p)
+_loop0_152_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27722,7 +28282,7 @@ _loop0_149_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop0_149[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "param_no_default"));
+ D(fprintf(stderr, "%*c> _loop0_152[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "param_no_default"));
arg_ty param_no_default_var;
while (
(param_no_default_var = param_no_default_rule(p)) // param_no_default
@@ -27744,7 +28304,7 @@ _loop0_149_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop0_149[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop0_152[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "param_no_default"));
}
asdl_seq *_seq = (asdl_seq*)_Py_asdl_generic_seq_new(_n, p->arena);
@@ -27757,14 +28317,14 @@ _loop0_149_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop0_149_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop0_152_type, _seq);
D(p->level--);
return _seq;
}
-// _loop1_150: param_with_default
+// _loop1_153: param_with_default
static asdl_seq *
-_loop1_150_rule(Parser *p)
+_loop1_153_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27788,7 +28348,7 @@ _loop1_150_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop1_150[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "param_with_default"));
+ D(fprintf(stderr, "%*c> _loop1_153[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "param_with_default"));
NameDefaultPair* param_with_default_var;
while (
(param_with_default_var = param_with_default_rule(p)) // param_with_default
@@ -27810,7 +28370,7 @@ _loop1_150_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop1_150[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop1_153[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "param_with_default"));
}
if (_n == 0 || p->error_indicator) {
@@ -27828,14 +28388,14 @@ _loop1_150_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop1_150_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop1_153_type, _seq);
D(p->level--);
return _seq;
}
-// _loop0_151: lambda_param_no_default
+// _loop0_154: lambda_param_no_default
static asdl_seq *
-_loop0_151_rule(Parser *p)
+_loop0_154_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27859,7 +28419,7 @@ _loop0_151_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop0_151[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "lambda_param_no_default"));
+ D(fprintf(stderr, "%*c> _loop0_154[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "lambda_param_no_default"));
arg_ty lambda_param_no_default_var;
while (
(lambda_param_no_default_var = lambda_param_no_default_rule(p)) // lambda_param_no_default
@@ -27881,7 +28441,7 @@ _loop0_151_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop0_151[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop0_154[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "lambda_param_no_default"));
}
asdl_seq *_seq = (asdl_seq*)_Py_asdl_generic_seq_new(_n, p->arena);
@@ -27894,14 +28454,14 @@ _loop0_151_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop0_151_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop0_154_type, _seq);
D(p->level--);
return _seq;
}
-// _loop1_152: lambda_param_with_default
+// _loop1_155: lambda_param_with_default
static asdl_seq *
-_loop1_152_rule(Parser *p)
+_loop1_155_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27925,7 +28485,7 @@ _loop1_152_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop1_152[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "lambda_param_with_default"));
+ D(fprintf(stderr, "%*c> _loop1_155[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "lambda_param_with_default"));
NameDefaultPair* lambda_param_with_default_var;
while (
(lambda_param_with_default_var = lambda_param_with_default_rule(p)) // lambda_param_with_default
@@ -27947,7 +28507,7 @@ _loop1_152_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop1_152[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop1_155[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "lambda_param_with_default"));
}
if (_n == 0 || p->error_indicator) {
@@ -27965,14 +28525,14 @@ _loop1_152_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop1_152_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop1_155_type, _seq);
D(p->level--);
return _seq;
}
-// _tmp_153: ')' | ',' (')' | '**')
+// _tmp_156: ')' | ',' (')' | '**')
static void *
-_tmp_153_rule(Parser *p)
+_tmp_156_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -27986,18 +28546,18 @@ _tmp_153_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_153[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "')'"));
+ D(fprintf(stderr, "%*c> _tmp_156[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "')'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 8)) // token=')'
)
{
- D(fprintf(stderr, "%*c+ _tmp_153[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "')'"));
+ D(fprintf(stderr, "%*c+ _tmp_156[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "')'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_153[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_156[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "')'"));
}
{ // ',' (')' | '**')
@@ -28005,21 +28565,21 @@ _tmp_153_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_153[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (')' | '**')"));
+ D(fprintf(stderr, "%*c> _tmp_156[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (')' | '**')"));
Token * _literal;
- void *_tmp_177_var;
+ void *_tmp_180_var;
if (
(_literal = _PyPegen_expect_token(p, 12)) // token=','
&&
- (_tmp_177_var = _tmp_177_rule(p)) // ')' | '**'
+ (_tmp_180_var = _tmp_180_rule(p)) // ')' | '**'
)
{
- D(fprintf(stderr, "%*c+ _tmp_153[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' (')' | '**')"));
- _res = _PyPegen_dummy_name(p, _literal, _tmp_177_var);
+ D(fprintf(stderr, "%*c+ _tmp_156[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' (')' | '**')"));
+ _res = _PyPegen_dummy_name(p, _literal, _tmp_180_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_153[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_156[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' (')' | '**')"));
}
_res = NULL;
@@ -28028,9 +28588,9 @@ _tmp_153_rule(Parser *p)
return _res;
}
-// _tmp_154: ':' | ',' (':' | '**')
+// _tmp_157: ':' | ',' (':' | '**')
static void *
-_tmp_154_rule(Parser *p)
+_tmp_157_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28044,18 +28604,18 @@ _tmp_154_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_154[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':'"));
+ D(fprintf(stderr, "%*c> _tmp_157[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 11)) // token=':'
)
{
- D(fprintf(stderr, "%*c+ _tmp_154[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':'"));
+ D(fprintf(stderr, "%*c+ _tmp_157[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_154[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_157[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "':'"));
}
{ // ',' (':' | '**')
@@ -28063,21 +28623,21 @@ _tmp_154_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_154[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (':' | '**')"));
+ D(fprintf(stderr, "%*c> _tmp_157[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (':' | '**')"));
Token * _literal;
- void *_tmp_178_var;
+ void *_tmp_181_var;
if (
(_literal = _PyPegen_expect_token(p, 12)) // token=','
&&
- (_tmp_178_var = _tmp_178_rule(p)) // ':' | '**'
+ (_tmp_181_var = _tmp_181_rule(p)) // ':' | '**'
)
{
- D(fprintf(stderr, "%*c+ _tmp_154[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' (':' | '**')"));
- _res = _PyPegen_dummy_name(p, _literal, _tmp_178_var);
+ D(fprintf(stderr, "%*c+ _tmp_157[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' (':' | '**')"));
+ _res = _PyPegen_dummy_name(p, _literal, _tmp_181_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_154[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_157[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' (':' | '**')"));
}
_res = NULL;
@@ -28086,9 +28646,9 @@ _tmp_154_rule(Parser *p)
return _res;
}
-// _tmp_155: ',' | ')' | ':'
+// _tmp_158: ',' | ')' | ':'
static void *
-_tmp_155_rule(Parser *p)
+_tmp_158_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28102,18 +28662,18 @@ _tmp_155_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_155[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "','"));
+ D(fprintf(stderr, "%*c> _tmp_158[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "','"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 12)) // token=','
)
{
- D(fprintf(stderr, "%*c+ _tmp_155[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "','"));
+ D(fprintf(stderr, "%*c+ _tmp_158[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "','"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_155[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_158[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "','"));
}
{ // ')'
@@ -28121,18 +28681,18 @@ _tmp_155_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_155[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "')'"));
+ D(fprintf(stderr, "%*c> _tmp_158[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "')'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 8)) // token=')'
)
{
- D(fprintf(stderr, "%*c+ _tmp_155[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "')'"));
+ D(fprintf(stderr, "%*c+ _tmp_158[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "')'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_155[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_158[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "')'"));
}
{ // ':'
@@ -28140,18 +28700,18 @@ _tmp_155_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_155[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':'"));
+ D(fprintf(stderr, "%*c> _tmp_158[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 11)) // token=':'
)
{
- D(fprintf(stderr, "%*c+ _tmp_155[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':'"));
+ D(fprintf(stderr, "%*c+ _tmp_158[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_155[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_158[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "':'"));
}
_res = NULL;
@@ -28160,9 +28720,9 @@ _tmp_155_rule(Parser *p)
return _res;
}
-// _loop0_157: ',' (expression ['as' star_target])
+// _loop0_160: ',' (expression ['as' star_target])
static asdl_seq *
-_loop0_157_rule(Parser *p)
+_loop0_160_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28186,13 +28746,13 @@ _loop0_157_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop0_157[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (expression ['as' star_target])"));
+ D(fprintf(stderr, "%*c> _loop0_160[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (expression ['as' star_target])"));
Token * _literal;
void *elem;
while (
(_literal = _PyPegen_expect_token(p, 12)) // token=','
&&
- (elem = _tmp_179_rule(p)) // expression ['as' star_target]
+ (elem = _tmp_182_rule(p)) // expression ['as' star_target]
)
{
_res = elem;
@@ -28217,7 +28777,7 @@ _loop0_157_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop0_157[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop0_160[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' (expression ['as' star_target])"));
}
asdl_seq *_seq = (asdl_seq*)_Py_asdl_generic_seq_new(_n, p->arena);
@@ -28230,14 +28790,14 @@ _loop0_157_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop0_157_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop0_160_type, _seq);
D(p->level--);
return _seq;
}
-// _gather_156: (expression ['as' star_target]) _loop0_157
+// _gather_159: (expression ['as' star_target]) _loop0_160
static asdl_seq *
-_gather_156_rule(Parser *p)
+_gather_159_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28246,27 +28806,27 @@ _gather_156_rule(Parser *p)
}
asdl_seq * _res = NULL;
int _mark = p->mark;
- { // (expression ['as' star_target]) _loop0_157
+ { // (expression ['as' star_target]) _loop0_160
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _gather_156[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(expression ['as' star_target]) _loop0_157"));
+ D(fprintf(stderr, "%*c> _gather_159[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(expression ['as' star_target]) _loop0_160"));
void *elem;
asdl_seq * seq;
if (
- (elem = _tmp_179_rule(p)) // expression ['as' star_target]
+ (elem = _tmp_182_rule(p)) // expression ['as' star_target]
&&
- (seq = _loop0_157_rule(p)) // _loop0_157
+ (seq = _loop0_160_rule(p)) // _loop0_160
)
{
- D(fprintf(stderr, "%*c+ _gather_156[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "(expression ['as' star_target]) _loop0_157"));
+ D(fprintf(stderr, "%*c+ _gather_159[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "(expression ['as' star_target]) _loop0_160"));
_res = _PyPegen_seq_insert_in_front(p, elem, seq);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _gather_156[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "(expression ['as' star_target]) _loop0_157"));
+ D(fprintf(stderr, "%*c%s _gather_159[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "(expression ['as' star_target]) _loop0_160"));
}
_res = NULL;
done:
@@ -28274,9 +28834,9 @@ _gather_156_rule(Parser *p)
return _res;
}
-// _loop0_159: ',' (expressions ['as' star_target])
+// _loop0_162: ',' (expressions ['as' star_target])
static asdl_seq *
-_loop0_159_rule(Parser *p)
+_loop0_162_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28300,13 +28860,13 @@ _loop0_159_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _loop0_159[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (expressions ['as' star_target])"));
+ D(fprintf(stderr, "%*c> _loop0_162[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' (expressions ['as' star_target])"));
Token * _literal;
void *elem;
while (
(_literal = _PyPegen_expect_token(p, 12)) // token=','
&&
- (elem = _tmp_180_rule(p)) // expressions ['as' star_target]
+ (elem = _tmp_183_rule(p)) // expressions ['as' star_target]
)
{
_res = elem;
@@ -28331,7 +28891,7 @@ _loop0_159_rule(Parser *p)
_mark = p->mark;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _loop0_159[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _loop0_162[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' (expressions ['as' star_target])"));
}
asdl_seq *_seq = (asdl_seq*)_Py_asdl_generic_seq_new(_n, p->arena);
@@ -28344,14 +28904,14 @@ _loop0_159_rule(Parser *p)
}
for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);
PyMem_Free(_children);
- _PyPegen_insert_memo(p, _start_mark, _loop0_159_type, _seq);
+ _PyPegen_insert_memo(p, _start_mark, _loop0_162_type, _seq);
D(p->level--);
return _seq;
}
-// _gather_158: (expressions ['as' star_target]) _loop0_159
+// _gather_161: (expressions ['as' star_target]) _loop0_162
static asdl_seq *
-_gather_158_rule(Parser *p)
+_gather_161_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28360,27 +28920,27 @@ _gather_158_rule(Parser *p)
}
asdl_seq * _res = NULL;
int _mark = p->mark;
- { // (expressions ['as' star_target]) _loop0_159
+ { // (expressions ['as' star_target]) _loop0_162
if (p->error_indicator) {
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _gather_158[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(expressions ['as' star_target]) _loop0_159"));
+ D(fprintf(stderr, "%*c> _gather_161[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "(expressions ['as' star_target]) _loop0_162"));
void *elem;
asdl_seq * seq;
if (
- (elem = _tmp_180_rule(p)) // expressions ['as' star_target]
+ (elem = _tmp_183_rule(p)) // expressions ['as' star_target]
&&
- (seq = _loop0_159_rule(p)) // _loop0_159
+ (seq = _loop0_162_rule(p)) // _loop0_162
)
{
- D(fprintf(stderr, "%*c+ _gather_158[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "(expressions ['as' star_target]) _loop0_159"));
+ D(fprintf(stderr, "%*c+ _gather_161[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "(expressions ['as' star_target]) _loop0_162"));
_res = _PyPegen_seq_insert_in_front(p, elem, seq);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _gather_158[%d-%d]: %s failed!\n", p->level, ' ',
- p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "(expressions ['as' star_target]) _loop0_159"));
+ D(fprintf(stderr, "%*c%s _gather_161[%d-%d]: %s failed!\n", p->level, ' ',
+ p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "(expressions ['as' star_target]) _loop0_162"));
}
_res = NULL;
done:
@@ -28388,9 +28948,9 @@ _gather_158_rule(Parser *p)
return _res;
}
-// _tmp_160: 'as' NAME
+// _tmp_163: 'as' NAME
static void *
-_tmp_160_rule(Parser *p)
+_tmp_163_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28404,7 +28964,7 @@ _tmp_160_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_160[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
+ D(fprintf(stderr, "%*c> _tmp_163[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
Token * _keyword;
expr_ty name_var;
if (
@@ -28413,12 +28973,12 @@ _tmp_160_rule(Parser *p)
(name_var = _PyPegen_name_token(p)) // NAME
)
{
- D(fprintf(stderr, "%*c+ _tmp_160[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
+ D(fprintf(stderr, "%*c+ _tmp_163[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
_res = _PyPegen_dummy_name(p, _keyword, name_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_160[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_163[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'as' NAME"));
}
_res = NULL;
@@ -28427,9 +28987,9 @@ _tmp_160_rule(Parser *p)
return _res;
}
-// _tmp_161: 'as' NAME
+// _tmp_164: 'as' NAME
static void *
-_tmp_161_rule(Parser *p)
+_tmp_164_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28443,7 +29003,7 @@ _tmp_161_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_161[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
+ D(fprintf(stderr, "%*c> _tmp_164[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
Token * _keyword;
expr_ty name_var;
if (
@@ -28452,12 +29012,12 @@ _tmp_161_rule(Parser *p)
(name_var = _PyPegen_name_token(p)) // NAME
)
{
- D(fprintf(stderr, "%*c+ _tmp_161[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
+ D(fprintf(stderr, "%*c+ _tmp_164[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' NAME"));
_res = _PyPegen_dummy_name(p, _keyword, name_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_161[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_164[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'as' NAME"));
}
_res = NULL;
@@ -28466,9 +29026,9 @@ _tmp_161_rule(Parser *p)
return _res;
}
-// _tmp_162: star_targets '='
+// _tmp_165: star_targets '='
static void *
-_tmp_162_rule(Parser *p)
+_tmp_165_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28482,7 +29042,7 @@ _tmp_162_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_162[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
+ D(fprintf(stderr, "%*c> _tmp_165[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
Token * _literal;
expr_ty z;
if (
@@ -28491,7 +29051,7 @@ _tmp_162_rule(Parser *p)
(_literal = _PyPegen_expect_token(p, 22)) // token='='
)
{
- D(fprintf(stderr, "%*c+ _tmp_162[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
+ D(fprintf(stderr, "%*c+ _tmp_165[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
_res = z;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28501,7 +29061,7 @@ _tmp_162_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_162[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_165[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "star_targets '='"));
}
_res = NULL;
@@ -28510,9 +29070,9 @@ _tmp_162_rule(Parser *p)
return _res;
}
-// _tmp_163: '.' | '...'
+// _tmp_166: '.' | '...'
static void *
-_tmp_163_rule(Parser *p)
+_tmp_166_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28526,18 +29086,18 @@ _tmp_163_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_163[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'.'"));
+ D(fprintf(stderr, "%*c> _tmp_166[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'.'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 23)) // token='.'
)
{
- D(fprintf(stderr, "%*c+ _tmp_163[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'.'"));
+ D(fprintf(stderr, "%*c+ _tmp_166[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'.'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_163[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_166[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'.'"));
}
{ // '...'
@@ -28545,18 +29105,18 @@ _tmp_163_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_163[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'...'"));
+ D(fprintf(stderr, "%*c> _tmp_166[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'...'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 52)) // token='...'
)
{
- D(fprintf(stderr, "%*c+ _tmp_163[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'...'"));
+ D(fprintf(stderr, "%*c+ _tmp_166[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'...'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_163[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_166[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'...'"));
}
_res = NULL;
@@ -28565,9 +29125,9 @@ _tmp_163_rule(Parser *p)
return _res;
}
-// _tmp_164: '.' | '...'
+// _tmp_167: '.' | '...'
static void *
-_tmp_164_rule(Parser *p)
+_tmp_167_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28581,18 +29141,18 @@ _tmp_164_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_164[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'.'"));
+ D(fprintf(stderr, "%*c> _tmp_167[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'.'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 23)) // token='.'
)
{
- D(fprintf(stderr, "%*c+ _tmp_164[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'.'"));
+ D(fprintf(stderr, "%*c+ _tmp_167[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'.'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_164[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_167[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'.'"));
}
{ // '...'
@@ -28600,18 +29160,18 @@ _tmp_164_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_164[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'...'"));
+ D(fprintf(stderr, "%*c> _tmp_167[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'...'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 52)) // token='...'
)
{
- D(fprintf(stderr, "%*c+ _tmp_164[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'...'"));
+ D(fprintf(stderr, "%*c+ _tmp_167[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'...'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_164[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_167[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'...'"));
}
_res = NULL;
@@ -28620,9 +29180,9 @@ _tmp_164_rule(Parser *p)
return _res;
}
-// _tmp_165: '@' named_expression NEWLINE
+// _tmp_168: '@' named_expression NEWLINE
static void *
-_tmp_165_rule(Parser *p)
+_tmp_168_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28636,7 +29196,7 @@ _tmp_165_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_165[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'@' named_expression NEWLINE"));
+ D(fprintf(stderr, "%*c> _tmp_168[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'@' named_expression NEWLINE"));
Token * _literal;
expr_ty f;
Token * newline_var;
@@ -28648,7 +29208,7 @@ _tmp_165_rule(Parser *p)
(newline_var = _PyPegen_expect_token(p, NEWLINE)) // token='NEWLINE'
)
{
- D(fprintf(stderr, "%*c+ _tmp_165[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'@' named_expression NEWLINE"));
+ D(fprintf(stderr, "%*c+ _tmp_168[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'@' named_expression NEWLINE"));
_res = f;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28658,7 +29218,7 @@ _tmp_165_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_165[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_168[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'@' named_expression NEWLINE"));
}
_res = NULL;
@@ -28667,9 +29227,9 @@ _tmp_165_rule(Parser *p)
return _res;
}
-// _tmp_166: ',' star_expression
+// _tmp_169: ',' star_expression
static void *
-_tmp_166_rule(Parser *p)
+_tmp_169_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28683,7 +29243,7 @@ _tmp_166_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_166[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' star_expression"));
+ D(fprintf(stderr, "%*c> _tmp_169[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' star_expression"));
Token * _literal;
expr_ty c;
if (
@@ -28692,7 +29252,7 @@ _tmp_166_rule(Parser *p)
(c = star_expression_rule(p)) // star_expression
)
{
- D(fprintf(stderr, "%*c+ _tmp_166[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' star_expression"));
+ D(fprintf(stderr, "%*c+ _tmp_169[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' star_expression"));
_res = c;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28702,7 +29262,7 @@ _tmp_166_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_166[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_169[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' star_expression"));
}
_res = NULL;
@@ -28711,9 +29271,9 @@ _tmp_166_rule(Parser *p)
return _res;
}
-// _tmp_167: ',' expression
+// _tmp_170: ',' expression
static void *
-_tmp_167_rule(Parser *p)
+_tmp_170_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28727,7 +29287,7 @@ _tmp_167_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_167[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' expression"));
+ D(fprintf(stderr, "%*c> _tmp_170[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' expression"));
Token * _literal;
expr_ty c;
if (
@@ -28736,7 +29296,7 @@ _tmp_167_rule(Parser *p)
(c = expression_rule(p)) // expression
)
{
- D(fprintf(stderr, "%*c+ _tmp_167[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' expression"));
+ D(fprintf(stderr, "%*c+ _tmp_170[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' expression"));
_res = c;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28746,7 +29306,7 @@ _tmp_167_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_167[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_170[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' expression"));
}
_res = NULL;
@@ -28755,9 +29315,9 @@ _tmp_167_rule(Parser *p)
return _res;
}
-// _tmp_168: 'or' conjunction
+// _tmp_171: 'or' conjunction
static void *
-_tmp_168_rule(Parser *p)
+_tmp_171_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28771,7 +29331,7 @@ _tmp_168_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_168[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'or' conjunction"));
+ D(fprintf(stderr, "%*c> _tmp_171[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'or' conjunction"));
Token * _keyword;
expr_ty c;
if (
@@ -28780,7 +29340,7 @@ _tmp_168_rule(Parser *p)
(c = conjunction_rule(p)) // conjunction
)
{
- D(fprintf(stderr, "%*c+ _tmp_168[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'or' conjunction"));
+ D(fprintf(stderr, "%*c+ _tmp_171[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'or' conjunction"));
_res = c;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28790,7 +29350,7 @@ _tmp_168_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_168[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_171[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'or' conjunction"));
}
_res = NULL;
@@ -28799,9 +29359,9 @@ _tmp_168_rule(Parser *p)
return _res;
}
-// _tmp_169: 'and' inversion
+// _tmp_172: 'and' inversion
static void *
-_tmp_169_rule(Parser *p)
+_tmp_172_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28815,7 +29375,7 @@ _tmp_169_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_169[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'and' inversion"));
+ D(fprintf(stderr, "%*c> _tmp_172[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'and' inversion"));
Token * _keyword;
expr_ty c;
if (
@@ -28824,7 +29384,7 @@ _tmp_169_rule(Parser *p)
(c = inversion_rule(p)) // inversion
)
{
- D(fprintf(stderr, "%*c+ _tmp_169[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'and' inversion"));
+ D(fprintf(stderr, "%*c+ _tmp_172[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'and' inversion"));
_res = c;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28834,7 +29394,7 @@ _tmp_169_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_169[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_172[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'and' inversion"));
}
_res = NULL;
@@ -28843,9 +29403,9 @@ _tmp_169_rule(Parser *p)
return _res;
}
-// _tmp_170: 'if' disjunction
+// _tmp_173: 'if' disjunction
static void *
-_tmp_170_rule(Parser *p)
+_tmp_173_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28859,7 +29419,7 @@ _tmp_170_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_170[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
+ D(fprintf(stderr, "%*c> _tmp_173[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
Token * _keyword;
expr_ty z;
if (
@@ -28868,7 +29428,7 @@ _tmp_170_rule(Parser *p)
(z = disjunction_rule(p)) // disjunction
)
{
- D(fprintf(stderr, "%*c+ _tmp_170[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
+ D(fprintf(stderr, "%*c+ _tmp_173[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
_res = z;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28878,7 +29438,7 @@ _tmp_170_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_170[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_173[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'if' disjunction"));
}
_res = NULL;
@@ -28887,9 +29447,9 @@ _tmp_170_rule(Parser *p)
return _res;
}
-// _tmp_171: 'if' disjunction
+// _tmp_174: 'if' disjunction
static void *
-_tmp_171_rule(Parser *p)
+_tmp_174_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28903,7 +29463,7 @@ _tmp_171_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_171[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
+ D(fprintf(stderr, "%*c> _tmp_174[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
Token * _keyword;
expr_ty z;
if (
@@ -28912,7 +29472,7 @@ _tmp_171_rule(Parser *p)
(z = disjunction_rule(p)) // disjunction
)
{
- D(fprintf(stderr, "%*c+ _tmp_171[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
+ D(fprintf(stderr, "%*c+ _tmp_174[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'if' disjunction"));
_res = z;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -28922,7 +29482,7 @@ _tmp_171_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_171[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_174[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'if' disjunction"));
}
_res = NULL;
@@ -28931,9 +29491,9 @@ _tmp_171_rule(Parser *p)
return _res;
}
-// _tmp_172: starred_expression | named_expression !'='
+// _tmp_175: starred_expression | named_expression !'='
static void *
-_tmp_172_rule(Parser *p)
+_tmp_175_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -28947,18 +29507,18 @@ _tmp_172_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_172[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "starred_expression"));
+ D(fprintf(stderr, "%*c> _tmp_175[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "starred_expression"));
expr_ty starred_expression_var;
if (
(starred_expression_var = starred_expression_rule(p)) // starred_expression
)
{
- D(fprintf(stderr, "%*c+ _tmp_172[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "starred_expression"));
+ D(fprintf(stderr, "%*c+ _tmp_175[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "starred_expression"));
_res = starred_expression_var;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_172[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_175[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "starred_expression"));
}
{ // named_expression !'='
@@ -28966,7 +29526,7 @@ _tmp_172_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_172[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "named_expression !'='"));
+ D(fprintf(stderr, "%*c> _tmp_175[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "named_expression !'='"));
expr_ty named_expression_var;
if (
(named_expression_var = named_expression_rule(p)) // named_expression
@@ -28974,12 +29534,12 @@ _tmp_172_rule(Parser *p)
_PyPegen_lookahead_with_int(0, _PyPegen_expect_token, p, 22) // token='='
)
{
- D(fprintf(stderr, "%*c+ _tmp_172[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "named_expression !'='"));
+ D(fprintf(stderr, "%*c+ _tmp_175[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "named_expression !'='"));
_res = named_expression_var;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_172[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_175[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "named_expression !'='"));
}
_res = NULL;
@@ -28988,9 +29548,9 @@ _tmp_172_rule(Parser *p)
return _res;
}
-// _tmp_173: ',' star_target
+// _tmp_176: ',' star_target
static void *
-_tmp_173_rule(Parser *p)
+_tmp_176_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29004,7 +29564,7 @@ _tmp_173_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_173[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' star_target"));
+ D(fprintf(stderr, "%*c> _tmp_176[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' star_target"));
Token * _literal;
expr_ty c;
if (
@@ -29013,7 +29573,7 @@ _tmp_173_rule(Parser *p)
(c = star_target_rule(p)) // star_target
)
{
- D(fprintf(stderr, "%*c+ _tmp_173[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' star_target"));
+ D(fprintf(stderr, "%*c+ _tmp_176[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' star_target"));
_res = c;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -29023,7 +29583,7 @@ _tmp_173_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_173[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_176[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' star_target"));
}
_res = NULL;
@@ -29032,9 +29592,9 @@ _tmp_173_rule(Parser *p)
return _res;
}
-// _tmp_174: ',' star_target
+// _tmp_177: ',' star_target
static void *
-_tmp_174_rule(Parser *p)
+_tmp_177_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29048,7 +29608,7 @@ _tmp_174_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_174[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' star_target"));
+ D(fprintf(stderr, "%*c> _tmp_177[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "',' star_target"));
Token * _literal;
expr_ty c;
if (
@@ -29057,7 +29617,7 @@ _tmp_174_rule(Parser *p)
(c = star_target_rule(p)) // star_target
)
{
- D(fprintf(stderr, "%*c+ _tmp_174[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' star_target"));
+ D(fprintf(stderr, "%*c+ _tmp_177[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "',' star_target"));
_res = c;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
@@ -29067,7 +29627,7 @@ _tmp_174_rule(Parser *p)
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_174[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_177[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "',' star_target"));
}
_res = NULL;
@@ -29076,9 +29636,9 @@ _tmp_174_rule(Parser *p)
return _res;
}
-// _tmp_175: star_targets '='
+// _tmp_178: star_targets '='
static void *
-_tmp_175_rule(Parser *p)
+_tmp_178_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29092,7 +29652,7 @@ _tmp_175_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_175[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
+ D(fprintf(stderr, "%*c> _tmp_178[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
Token * _literal;
expr_ty star_targets_var;
if (
@@ -29101,12 +29661,12 @@ _tmp_175_rule(Parser *p)
(_literal = _PyPegen_expect_token(p, 22)) // token='='
)
{
- D(fprintf(stderr, "%*c+ _tmp_175[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
+ D(fprintf(stderr, "%*c+ _tmp_178[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
_res = _PyPegen_dummy_name(p, star_targets_var, _literal);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_175[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_178[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "star_targets '='"));
}
_res = NULL;
@@ -29115,9 +29675,9 @@ _tmp_175_rule(Parser *p)
return _res;
}
-// _tmp_176: star_targets '='
+// _tmp_179: star_targets '='
static void *
-_tmp_176_rule(Parser *p)
+_tmp_179_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29131,7 +29691,7 @@ _tmp_176_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_176[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
+ D(fprintf(stderr, "%*c> _tmp_179[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
Token * _literal;
expr_ty star_targets_var;
if (
@@ -29140,12 +29700,12 @@ _tmp_176_rule(Parser *p)
(_literal = _PyPegen_expect_token(p, 22)) // token='='
)
{
- D(fprintf(stderr, "%*c+ _tmp_176[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
+ D(fprintf(stderr, "%*c+ _tmp_179[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "star_targets '='"));
_res = _PyPegen_dummy_name(p, star_targets_var, _literal);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_176[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_179[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "star_targets '='"));
}
_res = NULL;
@@ -29154,9 +29714,9 @@ _tmp_176_rule(Parser *p)
return _res;
}
-// _tmp_177: ')' | '**'
+// _tmp_180: ')' | '**'
static void *
-_tmp_177_rule(Parser *p)
+_tmp_180_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29170,18 +29730,18 @@ _tmp_177_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_177[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "')'"));
+ D(fprintf(stderr, "%*c> _tmp_180[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "')'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 8)) // token=')'
)
{
- D(fprintf(stderr, "%*c+ _tmp_177[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "')'"));
+ D(fprintf(stderr, "%*c+ _tmp_180[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "')'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_177[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_180[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "')'"));
}
{ // '**'
@@ -29189,18 +29749,18 @@ _tmp_177_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_177[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'**'"));
+ D(fprintf(stderr, "%*c> _tmp_180[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'**'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 35)) // token='**'
)
{
- D(fprintf(stderr, "%*c+ _tmp_177[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'**'"));
+ D(fprintf(stderr, "%*c+ _tmp_180[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'**'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_177[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_180[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'**'"));
}
_res = NULL;
@@ -29209,9 +29769,9 @@ _tmp_177_rule(Parser *p)
return _res;
}
-// _tmp_178: ':' | '**'
+// _tmp_181: ':' | '**'
static void *
-_tmp_178_rule(Parser *p)
+_tmp_181_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29225,18 +29785,18 @@ _tmp_178_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_178[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':'"));
+ D(fprintf(stderr, "%*c> _tmp_181[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "':'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 11)) // token=':'
)
{
- D(fprintf(stderr, "%*c+ _tmp_178[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':'"));
+ D(fprintf(stderr, "%*c+ _tmp_181[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "':'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_178[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_181[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "':'"));
}
{ // '**'
@@ -29244,18 +29804,18 @@ _tmp_178_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_178[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'**'"));
+ D(fprintf(stderr, "%*c> _tmp_181[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'**'"));
Token * _literal;
if (
(_literal = _PyPegen_expect_token(p, 35)) // token='**'
)
{
- D(fprintf(stderr, "%*c+ _tmp_178[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'**'"));
+ D(fprintf(stderr, "%*c+ _tmp_181[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'**'"));
_res = _literal;
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_178[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_181[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'**'"));
}
_res = NULL;
@@ -29264,9 +29824,9 @@ _tmp_178_rule(Parser *p)
return _res;
}
-// _tmp_179: expression ['as' star_target]
+// _tmp_182: expression ['as' star_target]
static void *
-_tmp_179_rule(Parser *p)
+_tmp_182_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29280,22 +29840,22 @@ _tmp_179_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_179[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "expression ['as' star_target]"));
+ D(fprintf(stderr, "%*c> _tmp_182[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "expression ['as' star_target]"));
void *_opt_var;
UNUSED(_opt_var); // Silence compiler warnings
expr_ty expression_var;
if (
(expression_var = expression_rule(p)) // expression
&&
- (_opt_var = _tmp_181_rule(p), 1) // ['as' star_target]
+ (_opt_var = _tmp_184_rule(p), 1) // ['as' star_target]
)
{
- D(fprintf(stderr, "%*c+ _tmp_179[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "expression ['as' star_target]"));
+ D(fprintf(stderr, "%*c+ _tmp_182[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "expression ['as' star_target]"));
_res = _PyPegen_dummy_name(p, expression_var, _opt_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_179[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_182[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "expression ['as' star_target]"));
}
_res = NULL;
@@ -29304,9 +29864,9 @@ _tmp_179_rule(Parser *p)
return _res;
}
-// _tmp_180: expressions ['as' star_target]
+// _tmp_183: expressions ['as' star_target]
static void *
-_tmp_180_rule(Parser *p)
+_tmp_183_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29320,22 +29880,22 @@ _tmp_180_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_180[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "expressions ['as' star_target]"));
+ D(fprintf(stderr, "%*c> _tmp_183[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "expressions ['as' star_target]"));
void *_opt_var;
UNUSED(_opt_var); // Silence compiler warnings
expr_ty expressions_var;
if (
(expressions_var = expressions_rule(p)) // expressions
&&
- (_opt_var = _tmp_182_rule(p), 1) // ['as' star_target]
+ (_opt_var = _tmp_185_rule(p), 1) // ['as' star_target]
)
{
- D(fprintf(stderr, "%*c+ _tmp_180[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "expressions ['as' star_target]"));
+ D(fprintf(stderr, "%*c+ _tmp_183[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "expressions ['as' star_target]"));
_res = _PyPegen_dummy_name(p, expressions_var, _opt_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_180[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_183[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "expressions ['as' star_target]"));
}
_res = NULL;
@@ -29344,9 +29904,9 @@ _tmp_180_rule(Parser *p)
return _res;
}
-// _tmp_181: 'as' star_target
+// _tmp_184: 'as' star_target
static void *
-_tmp_181_rule(Parser *p)
+_tmp_184_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29360,7 +29920,7 @@ _tmp_181_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_181[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
+ D(fprintf(stderr, "%*c> _tmp_184[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
Token * _keyword;
expr_ty star_target_var;
if (
@@ -29369,12 +29929,12 @@ _tmp_181_rule(Parser *p)
(star_target_var = star_target_rule(p)) // star_target
)
{
- D(fprintf(stderr, "%*c+ _tmp_181[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
+ D(fprintf(stderr, "%*c+ _tmp_184[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
_res = _PyPegen_dummy_name(p, _keyword, star_target_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_181[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_184[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'as' star_target"));
}
_res = NULL;
@@ -29383,9 +29943,9 @@ _tmp_181_rule(Parser *p)
return _res;
}
-// _tmp_182: 'as' star_target
+// _tmp_185: 'as' star_target
static void *
-_tmp_182_rule(Parser *p)
+_tmp_185_rule(Parser *p)
{
D(p->level++);
if (p->error_indicator) {
@@ -29399,7 +29959,7 @@ _tmp_182_rule(Parser *p)
D(p->level--);
return NULL;
}
- D(fprintf(stderr, "%*c> _tmp_182[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
+ D(fprintf(stderr, "%*c> _tmp_185[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
Token * _keyword;
expr_ty star_target_var;
if (
@@ -29408,12 +29968,12 @@ _tmp_182_rule(Parser *p)
(star_target_var = star_target_rule(p)) // star_target
)
{
- D(fprintf(stderr, "%*c+ _tmp_182[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
+ D(fprintf(stderr, "%*c+ _tmp_185[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'as' star_target"));
_res = _PyPegen_dummy_name(p, _keyword, star_target_var);
goto done;
}
p->mark = _mark;
- D(fprintf(stderr, "%*c%s _tmp_182[%d-%d]: %s failed!\n", p->level, ' ',
+ D(fprintf(stderr, "%*c%s _tmp_185[%d-%d]: %s failed!\n", p->level, ' ',
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "'as' star_target"));
}
_res = NULL;
diff --git a/Parser/pegen.c b/Parser/pegen.c
index f841ace..7258caf 100644
--- a/Parser/pegen.c
+++ b/Parser/pegen.c
@@ -147,8 +147,8 @@ byte_offset_to_character_offset(PyObject *line, Py_ssize_t col_offset)
return 0;
}
Py_ssize_t len = strlen(str);
- if (col_offset > len) {
- col_offset = len;
+ if (col_offset > len + 1) {
+ col_offset = len + 1;
}
assert(col_offset >= 0);
PyObject *text = PyUnicode_DecodeUTF8(str, col_offset, "replace");
@@ -184,7 +184,7 @@ _PyPegen_get_expr_name(expr_ty e)
case BoolOp_kind:
case BinOp_kind:
case UnaryOp_kind:
- return "operator";
+ return "expression";
case GeneratorExp_kind:
return "generator expression";
case Yield_kind:
@@ -199,7 +199,7 @@ _PyPegen_get_expr_name(expr_ty e)
case DictComp_kind:
return "dict comprehension";
case Dict_kind:
- return "dict display";
+ return "dict literal";
case Set_kind:
return "set display";
case JoinedStr_kind: