]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-102416: Do not memoize incorrectly loop rules in the parser (GH-102467...
authorPablo Galindo Salgado <Pablogsal@gmail.com>
Mon, 6 Mar 2023 17:13:28 +0000 (18:13 +0100)
committerGitHub <noreply@github.com>
Mon, 6 Mar 2023 17:13:28 +0000 (17:13 +0000)
Misc/NEWS.d/next/Core and Builtins/2023-03-06-13-05-33.gh-issue-102416.dz6K5f.rst [new file with mode: 0644]
Parser/parser.c
Tools/peg_generator/pegen/c_generator.py

diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-03-06-13-05-33.gh-issue-102416.dz6K5f.rst b/Misc/NEWS.d/next/Core and Builtins/2023-03-06-13-05-33.gh-issue-102416.dz6K5f.rst
new file mode 100644 (file)
index 0000000..9ffc67c
--- /dev/null
@@ -0,0 +1 @@
+Do not memoize incorrectly automatically generated loop rules in the parser. Patch by Pablo Galindo.
index f5aecbc42dcd636775e4bf085e80e13f6d224e15..b2c0cfe3c2b9f7122280dd6218a200bf68ea7ad5 100644 (file)
@@ -23549,7 +23549,6 @@ _loop0_1_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -23600,7 +23599,6 @@ _loop0_1_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_1_type, _seq);
     p->level--;
     return _seq;
 }
@@ -23619,7 +23617,6 @@ _loop0_2_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -23670,7 +23667,6 @@ _loop0_2_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_2_type, _seq);
     p->level--;
     return _seq;
 }
@@ -23689,7 +23685,6 @@ _loop1_3_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -23745,7 +23740,6 @@ _loop1_3_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_3_type, _seq);
     p->level--;
     return _seq;
 }
@@ -23764,7 +23758,6 @@ _loop0_5_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -23824,7 +23817,6 @@ _loop0_5_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_5_type, _seq);
     p->level--;
     return _seq;
 }
@@ -24357,7 +24349,6 @@ _loop1_14_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -24413,7 +24404,6 @@ _loop1_14_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_14_type, _seq);
     p->level--;
     return _seq;
 }
@@ -24595,7 +24585,6 @@ _loop0_19_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -24655,7 +24644,6 @@ _loop0_19_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_19_type, _seq);
     p->level--;
     return _seq;
 }
@@ -24716,7 +24704,6 @@ _loop0_21_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -24776,7 +24763,6 @@ _loop0_21_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_21_type, _seq);
     p->level--;
     return _seq;
 }
@@ -24942,7 +24928,6 @@ _loop0_24_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -24993,7 +24978,6 @@ _loop0_24_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_24_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25012,7 +24996,6 @@ _loop1_25_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25068,7 +25051,6 @@ _loop1_25_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_25_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25087,7 +25069,6 @@ _loop0_27_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25147,7 +25128,6 @@ _loop0_27_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_27_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25255,7 +25235,6 @@ _loop0_30_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25315,7 +25294,6 @@ _loop0_30_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_30_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25423,7 +25401,6 @@ _loop1_32_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25479,7 +25456,6 @@ _loop1_32_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_32_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25642,7 +25618,6 @@ _loop0_36_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25693,7 +25668,6 @@ _loop0_36_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_36_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25712,7 +25686,6 @@ _loop0_37_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25763,7 +25736,6 @@ _loop0_37_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_37_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25782,7 +25754,6 @@ _loop0_38_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25833,7 +25804,6 @@ _loop0_38_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_38_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25852,7 +25822,6 @@ _loop1_39_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25908,7 +25877,6 @@ _loop1_39_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_39_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25927,7 +25895,6 @@ _loop0_40_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -25978,7 +25945,6 @@ _loop0_40_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_40_type, _seq);
     p->level--;
     return _seq;
 }
@@ -25997,7 +25963,6 @@ _loop1_41_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26053,7 +26018,6 @@ _loop1_41_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_41_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26072,7 +26036,6 @@ _loop1_42_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26128,7 +26091,6 @@ _loop1_42_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_42_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26147,7 +26109,6 @@ _loop1_43_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26203,7 +26164,6 @@ _loop1_43_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_43_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26222,7 +26182,6 @@ _loop0_44_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26273,7 +26232,6 @@ _loop0_44_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_44_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26292,7 +26250,6 @@ _loop1_45_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26348,7 +26305,6 @@ _loop1_45_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_45_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26367,7 +26323,6 @@ _loop0_46_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26418,7 +26373,6 @@ _loop0_46_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_46_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26437,7 +26391,6 @@ _loop1_47_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26493,7 +26446,6 @@ _loop1_47_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_47_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26512,7 +26464,6 @@ _loop0_48_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26563,7 +26514,6 @@ _loop0_48_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_48_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26582,7 +26532,6 @@ _loop0_49_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26633,7 +26582,6 @@ _loop0_49_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_49_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26652,7 +26600,6 @@ _loop1_50_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26708,7 +26655,6 @@ _loop1_50_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_50_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26727,7 +26673,6 @@ _loop0_52_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26787,7 +26732,6 @@ _loop0_52_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_52_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26848,7 +26792,6 @@ _loop0_54_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -26908,7 +26851,6 @@ _loop0_54_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_54_type, _seq);
     p->level--;
     return _seq;
 }
@@ -26969,7 +26911,6 @@ _loop0_56_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -27029,7 +26970,6 @@ _loop0_56_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_56_type, _seq);
     p->level--;
     return _seq;
 }
@@ -27090,7 +27030,6 @@ _loop0_58_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -27150,7 +27089,6 @@ _loop0_58_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_58_type, _seq);
     p->level--;
     return _seq;
 }
@@ -27288,7 +27226,6 @@ _loop1_60_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -27344,7 +27281,6 @@ _loop1_60_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_60_type, _seq);
     p->level--;
     return _seq;
 }
@@ -27363,7 +27299,6 @@ _loop1_61_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -27419,7 +27354,6 @@ _loop1_61_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_61_type, _seq);
     p->level--;
     return _seq;
 }
@@ -27532,7 +27466,6 @@ _loop1_64_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -27588,7 +27521,6 @@ _loop1_64_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_64_type, _seq);
     p->level--;
     return _seq;
 }
@@ -27607,7 +27539,6 @@ _loop0_66_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -27667,7 +27598,6 @@ _loop0_66_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_66_type, _seq);
     p->level--;
     return _seq;
 }
@@ -27998,7 +27928,6 @@ _loop0_72_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28058,7 +27987,6 @@ _loop0_72_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_72_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28119,7 +28047,6 @@ _loop0_74_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28179,7 +28106,6 @@ _loop0_74_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_74_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28298,7 +28224,6 @@ _loop0_77_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28358,7 +28283,6 @@ _loop0_77_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_77_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28419,7 +28343,6 @@ _loop0_79_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28479,7 +28402,6 @@ _loop0_79_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_79_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28540,7 +28462,6 @@ _loop1_80_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28596,7 +28517,6 @@ _loop1_80_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_80_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28615,7 +28535,6 @@ _loop1_81_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28671,7 +28590,6 @@ _loop1_81_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_81_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28690,7 +28608,6 @@ _loop0_83_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28750,7 +28667,6 @@ _loop0_83_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_83_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28811,7 +28727,6 @@ _loop1_84_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28867,7 +28782,6 @@ _loop1_84_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_84_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28886,7 +28800,6 @@ _loop1_85_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -28942,7 +28855,6 @@ _loop1_85_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_85_type, _seq);
     p->level--;
     return _seq;
 }
@@ -28961,7 +28873,6 @@ _loop1_86_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29017,7 +28928,6 @@ _loop1_86_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_86_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29080,7 +28990,6 @@ _loop0_89_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29140,7 +29049,6 @@ _loop0_89_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_89_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29537,7 +29445,6 @@ _loop0_95_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29588,7 +29495,6 @@ _loop0_95_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_95_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29607,7 +29513,6 @@ _loop0_96_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29658,7 +29563,6 @@ _loop0_96_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_96_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29677,7 +29581,6 @@ _loop0_97_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29728,7 +29631,6 @@ _loop0_97_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_97_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29747,7 +29649,6 @@ _loop1_98_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29803,7 +29704,6 @@ _loop1_98_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_98_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29822,7 +29722,6 @@ _loop0_99_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29873,7 +29772,6 @@ _loop0_99_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_99_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29892,7 +29790,6 @@ _loop1_100_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -29948,7 +29845,6 @@ _loop1_100_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_100_type, _seq);
     p->level--;
     return _seq;
 }
@@ -29967,7 +29863,6 @@ _loop1_101_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30023,7 +29918,6 @@ _loop1_101_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_101_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30042,7 +29936,6 @@ _loop1_102_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30098,7 +29991,6 @@ _loop1_102_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_102_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30117,7 +30009,6 @@ _loop0_103_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30168,7 +30059,6 @@ _loop0_103_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_103_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30187,7 +30077,6 @@ _loop1_104_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30243,7 +30132,6 @@ _loop1_104_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_104_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30262,7 +30150,6 @@ _loop0_105_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30313,7 +30200,6 @@ _loop0_105_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_105_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30332,7 +30218,6 @@ _loop1_106_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30388,7 +30273,6 @@ _loop1_106_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_106_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30407,7 +30291,6 @@ _loop0_107_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30458,7 +30341,6 @@ _loop0_107_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_107_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30477,7 +30359,6 @@ _loop1_108_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30533,7 +30414,6 @@ _loop1_108_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_108_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30552,7 +30432,6 @@ _loop1_109_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30608,7 +30487,6 @@ _loop1_109_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_109_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30677,7 +30555,6 @@ _loop0_112_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30737,7 +30614,6 @@ _loop0_112_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_112_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30798,7 +30674,6 @@ _loop1_113_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30854,7 +30729,6 @@ _loop1_113_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_113_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30873,7 +30747,6 @@ _loop0_114_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30924,7 +30797,6 @@ _loop0_114_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_114_type, _seq);
     p->level--;
     return _seq;
 }
@@ -30943,7 +30815,6 @@ _loop0_115_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -30994,7 +30865,6 @@ _loop0_115_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_115_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31073,7 +30943,6 @@ _loop0_118_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31133,7 +31002,6 @@ _loop0_118_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_118_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31242,7 +31110,6 @@ _loop0_121_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31302,7 +31169,6 @@ _loop0_121_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_121_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31363,7 +31229,6 @@ _loop0_123_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31423,7 +31288,6 @@ _loop0_123_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_123_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31484,7 +31348,6 @@ _loop0_125_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31544,7 +31407,6 @@ _loop0_125_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_125_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31605,7 +31467,6 @@ _loop0_127_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31665,7 +31526,6 @@ _loop0_127_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_127_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31726,7 +31586,6 @@ _loop0_128_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31777,7 +31636,6 @@ _loop0_128_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_128_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31796,7 +31654,6 @@ _loop0_130_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31856,7 +31713,6 @@ _loop0_130_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_130_type, _seq);
     p->level--;
     return _seq;
 }
@@ -31917,7 +31773,6 @@ _loop1_131_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -31973,7 +31828,6 @@ _loop1_131_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_131_type, _seq);
     p->level--;
     return _seq;
 }
@@ -32033,7 +31887,6 @@ _loop0_134_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -32093,7 +31946,6 @@ _loop0_134_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_134_type, _seq);
     p->level--;
     return _seq;
 }
@@ -32154,7 +32006,6 @@ _loop0_136_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -32214,7 +32065,6 @@ _loop0_136_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_136_type, _seq);
     p->level--;
     return _seq;
 }
@@ -32275,7 +32125,6 @@ _loop0_138_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -32335,7 +32184,6 @@ _loop0_138_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_138_type, _seq);
     p->level--;
     return _seq;
 }
@@ -32396,7 +32244,6 @@ _loop0_140_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -32456,7 +32303,6 @@ _loop0_140_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_140_type, _seq);
     p->level--;
     return _seq;
 }
@@ -32517,7 +32363,6 @@ _loop0_142_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -32577,7 +32422,6 @@ _loop0_142_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_142_type, _seq);
     p->level--;
     return _seq;
 }
@@ -33229,7 +33073,6 @@ _loop0_152_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -33280,7 +33123,6 @@ _loop0_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, _loop0_152_type, _seq);
     p->level--;
     return _seq;
 }
@@ -33299,7 +33141,6 @@ _loop0_153_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -33350,7 +33191,6 @@ _loop0_153_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_153_type, _seq);
     p->level--;
     return _seq;
 }
@@ -33369,7 +33209,6 @@ _loop0_154_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -33420,7 +33259,6 @@ _loop0_154_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_154_type, _seq);
     p->level--;
     return _seq;
 }
@@ -33690,7 +33528,6 @@ _loop0_159_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -33741,7 +33578,6 @@ _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);
     p->level--;
     return _seq;
 }
@@ -33760,7 +33596,6 @@ _loop0_160_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -33811,7 +33646,6 @@ _loop0_160_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_160_type, _seq);
     p->level--;
     return _seq;
 }
@@ -33830,7 +33664,6 @@ _loop1_161_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -33886,7 +33719,6 @@ _loop1_161_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_161_type, _seq);
     p->level--;
     return _seq;
 }
@@ -33963,7 +33795,6 @@ _loop0_163_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34014,7 +33845,6 @@ _loop0_163_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_163_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34091,7 +33921,6 @@ _loop0_165_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34142,7 +33971,6 @@ _loop0_165_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_165_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34219,7 +34047,6 @@ _loop0_167_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34270,7 +34097,6 @@ _loop0_167_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_167_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34289,7 +34115,6 @@ _loop1_168_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34345,7 +34170,6 @@ _loop1_168_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_168_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34541,7 +34365,6 @@ _loop0_172_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34592,7 +34415,6 @@ _loop0_172_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_172_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34746,7 +34568,6 @@ _loop1_175_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34802,7 +34623,6 @@ _loop1_175_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_175_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34821,7 +34641,6 @@ _loop0_176_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34872,7 +34691,6 @@ _loop0_176_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_176_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34891,7 +34709,6 @@ _loop0_177_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -34942,7 +34759,6 @@ _loop0_177_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_177_type, _seq);
     p->level--;
     return _seq;
 }
@@ -34961,7 +34777,6 @@ _loop0_179_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -35021,7 +34836,6 @@ _loop0_179_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_179_type, _seq);
     p->level--;
     return _seq;
 }
@@ -35140,7 +34954,6 @@ _loop0_181_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -35191,7 +35004,6 @@ _loop0_181_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_181_type, _seq);
     p->level--;
     return _seq;
 }
@@ -35268,7 +35080,6 @@ _loop0_183_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -35319,7 +35130,6 @@ _loop0_183_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_183_type, _seq);
     p->level--;
     return _seq;
 }
@@ -35396,7 +35206,6 @@ _loop0_185_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -35447,7 +35256,6 @@ _loop0_185_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_185_type, _seq);
     p->level--;
     return _seq;
 }
@@ -35466,7 +35274,6 @@ _loop1_186_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -35522,7 +35329,6 @@ _loop1_186_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_186_type, _seq);
     p->level--;
     return _seq;
 }
@@ -35541,7 +35347,6 @@ _loop1_187_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -35597,7 +35402,6 @@ _loop1_187_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_187_type, _seq);
     p->level--;
     return _seq;
 }
@@ -35735,7 +35539,6 @@ _loop0_190_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -35786,7 +35589,6 @@ _loop0_190_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_190_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36017,7 +35819,6 @@ _loop0_195_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36077,7 +35878,6 @@ _loop0_195_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_195_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36138,7 +35938,6 @@ _loop0_197_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36198,7 +35997,6 @@ _loop0_197_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_197_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36259,7 +36057,6 @@ _loop0_199_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36319,7 +36116,6 @@ _loop0_199_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_199_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36380,7 +36176,6 @@ _loop0_201_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36440,7 +36235,6 @@ _loop0_201_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_201_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36559,7 +36353,6 @@ _loop0_203_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36610,7 +36403,6 @@ _loop0_203_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_203_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36629,7 +36421,6 @@ _loop1_204_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36685,7 +36476,6 @@ _loop1_204_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_204_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36746,7 +36536,6 @@ _loop0_206_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36797,7 +36586,6 @@ _loop0_206_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_206_type, _seq);
     p->level--;
     return _seq;
 }
@@ -36816,7 +36604,6 @@ _loop1_207_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -36872,7 +36659,6 @@ _loop1_207_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_207_type, _seq);
     p->level--;
     return _seq;
 }
@@ -37336,7 +37122,6 @@ _loop0_219_rule(Parser *p)
     }
     void *_res = NULL;
     int _mark = p->mark;
-    int _start_mark = p->mark;
     void **_children = PyMem_Malloc(sizeof(void *));
     if (!_children) {
         p->error_indicator = 1;
@@ -37396,7 +37181,6 @@ _loop0_219_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_219_type, _seq);
     p->level--;
     return _seq;
 }
index 295bc1f83e8deca2e633f0e55eec0a559228707a..cb4f8c4f66ac7581dce59376d8125d5465f569cc 100644 (file)
@@ -619,7 +619,8 @@ class CParserGenerator(ParserGenerator, GrammarVisitor):
                     self.add_return("_res")
                 self.print("}")
             self.print("int _mark = p->mark;")
-            self.print("int _start_mark = p->mark;")
+            if memoize:
+                self.print("int _start_mark = p->mark;")
             self.print("void **_children = PyMem_Malloc(sizeof(void *));")
             self.out_of_memory_return(f"!_children")
             self.print("Py_ssize_t _children_capacity = 1;")
@@ -642,7 +643,7 @@ class CParserGenerator(ParserGenerator, GrammarVisitor):
             self.out_of_memory_return(f"!_seq", cleanup_code="PyMem_Free(_children);")
             self.print("for (int i = 0; i < _n; i++) asdl_seq_SET_UNTYPED(_seq, i, _children[i]);")
             self.print("PyMem_Free(_children);")
-            if node.name:
+            if memoize and node.name:
                 self.print(f"_PyPegen_insert_memo(p, _start_mark, {node.name}_type, _seq);")
             self.add_return("_seq")