arpaka 0.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -2
  3. data/README.md +118 -7
  4. data/Rakefile +15 -1
  5. data/docs/architecture.dot +30 -0
  6. data/docs/architecture.md +96 -0
  7. data/docs/architecture.webp +0 -0
  8. data/docs/contributes.md +115 -0
  9. data/docs/usage.md +497 -0
  10. data/lib/arpaka/cli.rb +5 -50
  11. data/lib/arpaka/plugins/cli.rb +61 -0
  12. data/lib/arpaka/plugins/sample.rb +14 -0
  13. data/lib/arpaka/plugins/sample_runner.rb +21 -0
  14. data/lib/arpaka/{actions.rb → ruby/actions.rb} +230 -151
  15. data/lib/arpaka/ruby/class_name_parser.rb +97 -0
  16. data/lib/arpaka/ruby/cli.rb +64 -0
  17. data/lib/arpaka/ruby/frontend_emitter.rb +59 -0
  18. data/lib/arpaka/ruby/generator.rb +41 -0
  19. data/lib/arpaka/{ruby_grammar.rb → ruby/grammar.rb} +53 -59
  20. data/lib/arpaka/ruby/grammar_emitter.rb +71 -0
  21. data/lib/arpaka/ruby/profile.rb +129 -0
  22. data/lib/arpaka/ruby/profiles/ruby_3_3.rb +800 -0
  23. data/lib/arpaka/ruby/profiles/ruby_3_4.rb +802 -0
  24. data/lib/arpaka/ruby/runtime/detailed/ast.rb.erb +92 -0
  25. data/lib/arpaka/ruby/runtime/detailed/builder.rb.erb +1177 -0
  26. data/lib/arpaka/{runtime → ruby/runtime}/frontend.rb.erb +17 -4
  27. data/lib/arpaka/{runtime → ruby/runtime}/lexer.rb.erb +583 -99
  28. data/lib/arpaka/ruby/runtime/structured.rb.erb +111 -0
  29. data/lib/arpaka/ruby.rb +23 -0
  30. data/lib/arpaka.rb +6 -9
  31. data/lib/lrama/ruby/backend.rb +4 -9
  32. data/lib/lrama/ruby/parser.rb.erb +35 -9
  33. data/lib/lrama/ruby/parser_emitter.rb +41 -0
  34. data/lib/lrama/ruby/table_codec.rb +50 -0
  35. data/lib/lrama/ruby/version.rb +1 -1
  36. data/lib/lrama/ruby.rb +1 -0
  37. data/sig/arpaka.rbs +8 -3
  38. metadata +46 -13
  39. data/lib/arpaka/generator.rb +0 -43
  40. data/lib/arpaka/runtime/ast.rb.erb +0 -35
  41. data/lib/arpaka/runtime/builder.rb.erb +0 -247
  42. /data/lib/arpaka/{BSDL → ruby/BSDL} +0 -0
  43. /data/lib/arpaka/{COPYING → ruby/COPYING} +0 -0
  44. /data/lib/arpaka/{source.json → ruby/source.json} +0 -0
  45. /data/lib/arpaka/{upstream_rules.json → ruby/upstream_rules.json} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Rule IDs refer to upstream_rules.json, validated against the pinned source.
4
4
  # Each entry is [classification, Ruby expression used as the reduction value].
5
- module Arpaka::RubyGrammarActions
5
+ module Arpaka::Ruby::Actions
6
6
  ACTIONS = {
7
7
  1 => ["empty", "nil"], 2 => ["empty", "nil"], 3 => ["empty", "nil"],
8
8
  4 => ["pass_through", "$1"], 5 => ["ported", "@builder.program($2)"],
@@ -19,13 +19,13 @@ module Arpaka::RubyGrammarActions
19
19
  97 => ["pass_through", "$1"], 98 => ["pass_through", "$1"],
20
20
  111 => ["pass_through", "$1"], 113 => ["pass_through", "$1"],
21
21
  115 => ["pass_through", "$1"], 118 => ["pass_through", "$1"],
22
- 125 => ["empty", "nil"], 127 => ["pass_through", "$1"],
22
+ 125 => ["ported", "@builder.multiple_assign_post([], :NODE_SPECIAL_NO_NAME_REST, [])"], 127 => ["pass_through", "$1"],
23
23
  131 => ["pass_through", "$1"], 132 => ["pass_through", "$1"],
24
24
  139 => ["pass_through", "$1"], 141 => ["pass_through", "$1"],
25
25
  148 => ["pass_through", "$1"], 155 => ["pass_through", "$1"],
26
26
  156 => ["pass_through", "$1"], 157 => ["pass_through", "$1"],
27
27
  158 => ["pass_through", "$1"], 159 => ["pass_through", "$1"],
28
- 160 => ["pass_through", "$1"], 161 => ["pass_through", "$1"],
28
+ 160 => ["pass_through", "$1"], 161 => ["ported", "[$1].freeze"],
29
29
  162 => ["empty", "nil"],
30
30
  164 => ["ported", "@builder.operator(\"|\")"], 165 => ["ported", "@builder.operator(\"^\")"],
31
31
  166 => ["ported", "@builder.operator(\"&\")"], 167 => ["ported", "@builder.operator(\"<=>\")"],
@@ -40,7 +40,7 @@ module Arpaka::RubyGrammarActions
40
40
  183 => ["ported", "@builder.operator(\"/\")"], 184 => ["ported", "@builder.operator(\"%\")"],
41
41
  185 => ["ported", "@builder.operator(\"**\")"], 186 => ["ported", "@builder.operator(\"**\")"],
42
42
  187 => ["ported", "@builder.operator(\"!\")"], 188 => ["ported", "@builder.operator(\"~\")"],
43
- 189 => ["ported", "@builder.operator(\"+@\")"], 190 => ["ported", "@builder.operator(\"-@\")"],
43
+ 189 => ["ported", "@builder.operator($1 || \"+@\")"], 190 => ["ported", "@builder.operator($1 || \"-@\")"],
44
44
  191 => ["ported", "@builder.operator(\"[]\")"], 192 => ["ported", "@builder.operator(\"[]=\")"],
45
45
  193 => ["ported", "@builder.operator(\"`\")"],
46
46
  194 => ["ported", "@builder.reserved_word(\"__LINE__\")"],
@@ -98,18 +98,18 @@ module Arpaka::RubyGrammarActions
98
98
  72 => ["ported", "@builder.unary(:\"!\", $3)"],
99
99
  287 => ["ported", "@builder.unary(:\"!\", $3)"],
100
100
  71 => ["ported", "@builder.binary(:or, $1, $3)"],
101
- 108 => ["ported", "@builder.call(:return, $2 || [])"],
101
+ 108 => ["ported", "@builder.control(:return, $2 || [])"],
102
102
  107 => ["ported", "@builder.call(:yield, $2 || [])"],
103
- 106 => ["ported", "@builder.call(:super, $2 || [])"],
103
+ 106 => ["ported", "@builder.super_call($2 || [])"],
104
104
  99 => ["ported", "@builder.call($1, $2 || [])"],
105
- 33 => ["ported", "@builder.if_node($3, [$1], nil)"],
106
- 34 => ["ported", "@builder.unless_node($3, [$1], nil)"],
107
- 35 => ["ported", "@builder.loop(:while, $3, [$1])"],
108
- 36 => ["ported", "@builder.loop(:until, $3, [$1])"],
105
+ 33 => ["ported", "@builder.modifier_if_node($3, [$1])"],
106
+ 34 => ["ported", "@builder.modifier_unless_node($3, [$1])"],
107
+ 35 => ["ported", "@builder.modifier_loop(:while, $3, [$1])"],
108
+ 36 => ["ported", "@builder.modifier_loop(:until, $3, [$1])"],
109
109
  37 => ["ported", "@builder.rescue_modifier($1, $4)"],
110
110
  374 => ["empty", "nil"], 376 => ["empty", "nil"],
111
111
  375 => ["ported", "@builder.case_node($2, @builder.case_parts($5).first, @builder.case_parts($5).last)"],
112
- 377 => ["ported", "@builder.case_node(@builder.literal(nil), @builder.case_parts($4).first, @builder.case_parts($4).last)"],
112
+ 377 => ["ported", "@builder.case_node(nil, @builder.case_parts($4).first, @builder.case_parts($4).last)"],
113
113
  521 => ["ported", "[$1].freeze"],
114
114
  523 => ["ported", "($1 + [$3]).freeze"],
115
115
  525 => ["ported", "@builder.case_chain(@builder.when_node($2, $4), $5)"],
@@ -119,11 +119,11 @@ module Arpaka::RubyGrammarActions
119
119
  420 => ["pass_through", "nil"], 421 => ["pass_through", "nil"],
120
120
  95 => ["ported", "$2"],
121
121
  94 => ["pass_through", "$1"],
122
- 82 => ["pass_through", "$1"],
123
- 77 => ["pass_through", "$1"],
124
- 75 => ["pass_through", "$1"],
125
- 797 => ["pass_through", "$1"],
126
- 795 => ["pass_through", "$1"],
122
+ 82 => ["ported", "@builder.begin_method_scope([$2, $3, $5].freeze)"],
123
+ 77 => ["ported", "@builder.case_node($1, [@builder.when_node([@builder.pattern_value($7)], [])], nil)"],
124
+ 75 => ["ported", "@builder.case_node($1, [@builder.when_node([@builder.pattern_value($7)], [])], nil)"],
125
+ 797 => ["ported", "@builder.append_arguments($1, $3)"],
126
+ 795 => ["ported", "@builder.block_destructure($2)"],
127
127
  792 => ["pass_through", "$1"],
128
128
  781 => ["pass_through", "$1"],
129
129
  779 => ["pass_through", "$1"],
@@ -165,48 +165,43 @@ module Arpaka::RubyGrammarActions
165
165
  679 => ["ported", "@builder.interpolation($6)"],
166
166
  674 => ["pass_through", "$1"],
167
167
  665 => ["pass_through", "$1"],
168
- 628 => ["pass_through", "$1"],
169
- 626 => ["pass_through", "$1"],
168
+ 628 => ["ported", "@builder.rescue_chain(@builder.rescue_clause($2, $3, $5), $6)"],
169
+ 626 => ["ported", "@builder.constant_path(@builder.variable(:constant, $1), $3)"],
170
170
  625 => ["pass_through", "$2"],
171
- 624 => ["pass_through", "$3"],
172
- 622 => ["pass_through", "$2"],
171
+ 624 => ["ported", "@builder.pattern(:pin, [$3])"],
172
+ 622 => ["ported", "@builder.pattern(:pin, [@builder.read_local($2)])"],
173
173
  621 => ["pass_through", "$1"],
174
174
  602 => ["pass_through", "$1"],
175
175
  601 => ["pass_through", "$1"],
176
- 595 => ["pass_through", "$1"],
176
+ 595 => ["ported", "@builder.pattern(:rest, [$2])"],
177
177
  594 => ["pass_through", "$1"],
178
- 591 => ["pass_through", "$1"],
179
- 590 => ["pass_through", "$1"],
180
- 585 => ["pass_through", "$1"],
181
- 583 => ["pass_through", "$1"],
182
- 580 => ["pass_through", "$2"],
183
- 579 => ["pass_through", "$1"],
184
- 578 => ["pass_through", "$1"],
185
- 576 => ["pass_through", "$1"],
186
- 573 => ["pass_through", "$1"],
187
- 572 => ["pass_through", "$1"],
188
- 571 => ["pass_through", "$1"],
178
+ 591 => ["ported", "[@builder.pattern_pair($1, $2)].freeze"],
179
+ 590 => ["ported", "($1 + $3).freeze"],
180
+ 585 => ["ported", "@builder.hash_pattern_parts($1, $3)"],
181
+ 583 => ["ported", "($1 + $3).freeze"],
182
+ 580 => ["ported", "@builder.pattern(:rest, [$2])"],
183
+ 579 => ["ported", "@builder.pattern_find_parts($1, $3, $5)"],
184
+ 578 => ["ported", "@builder.pattern_array_parts([], $1, $3)"],
185
+ 576 => ["ported", "($1 + $3).freeze"],
189
186
  568 => ["pass_through", "$1"],
190
- 566 => ["pass_through", "$1"],
191
- 563 => ["pass_through", "$2"],
192
- 562 => ["pass_through", "$2"],
187
+ 566 => ["ported", "@builder.pattern(:hash, $5)"],
188
+ 563 => ["ported", "@builder.pattern(:find, $2)"],
193
189
  561 => ["pass_through", "$1"],
194
- 560 => ["pass_through", "$1"],
190
+ 560 => ["ported", "@builder.pattern(:hash, [$3[0], $3[1], @builder.pattern_constant($1)])"],
195
191
  559 => ["pass_through", "$1"],
196
192
  558 => ["pass_through", "$1"],
197
193
  557 => ["pass_through", "$1"],
198
- 556 => ["pass_through", "$1"],
194
+ 556 => ["ported", "@builder.pattern(:hash, [$3[0], $3[1], @builder.pattern_constant($1)])"],
199
195
  555 => ["pass_through", "$1"],
200
196
  554 => ["pass_through", "$1"],
201
- 548 => ["pass_through", "$1"],
202
- 545 => ["pass_through", "$1"],
197
+ 548 => ["ported", "@builder.pattern(:or, [@builder.pattern_value($1), @builder.pattern_value($4)])"],
198
+ 545 => ["ported", "@builder.pattern(:as, [@builder.pattern_value($1), @builder.pattern_value($3)])"],
203
199
  540 => ["pass_through", "$1"],
204
- 537 => ["pass_through", "$1"],
205
- 536 => ["pass_through", "$1"],
206
- 532 => ["pass_through", "$1"],
200
+ 537 => ["ported", "@builder.pattern(:guard_unless, [@builder.pattern_value($1), $3])"],
201
+ 536 => ["ported", "@builder.pattern(:guard, [@builder.pattern_value($1), $3])"],
207
202
  524 => ["pass_through", "$1"],
208
- 520 => ["pass_through", "$7"],
209
- 518 => ["pass_through", "$7"],
203
+ 520 => ["ported", "@builder.block_body($6, $7, :do)"],
204
+ 518 => ["ported", "@builder.block_body($6, $7, :brace)"],
210
205
  516 => ["pass_through", "$2"],
211
206
  511 => ["ported", "@builder.receiver_call($1, $2, :call, $3)"],
212
207
  510 => ["ported", "@builder.receiver_call($1, :\"::\", $3, [])"],
@@ -221,58 +216,58 @@ module Arpaka::RubyGrammarActions
221
216
  488 => ["pass_through", "$1"],
222
217
  487 => ["pass_through", "$1"],
223
218
  485 => ["pass_through", "$3"],
224
- 481 => ["pass_through", "$2"],
219
+ 481 => ["ported", "@builder.begin_block_parameters($2, $3)"],
225
220
  476 => ["pass_through", "$1"],
226
221
  475 => ["pass_through", "$1"],
227
- 473 => ["pass_through", "$1"],
228
- 472 => ["pass_through", "$1"],
222
+ 473 => ["ported", "@builder.append_block_rest([], $1, $3)"],
223
+ 472 => ["ported", "@builder.append_block_rest([], $1)"],
229
224
  471 => ["pass_through", "$1"],
230
225
  470 => ["pass_through", "$1"],
231
226
  469 => ["pass_through", "$1"],
232
227
  468 => ["pass_through", "$1"],
233
- 467 => ["pass_through", "$1"],
234
- 466 => ["pass_through", "$1"],
228
+ 467 => ["ported", "@builder.append_block_rest($1, $3, $5)"],
229
+ 466 => ["ported", "@builder.append_block_rest($1, $3)"],
235
230
  444 => ["empty", "nil"],
236
231
  438 => ["pass_through", "$1"],
237
232
  436 => ["pass_through", "$1"],
238
233
  435 => ["pass_through", "$1"],
239
- 433 => ["pass_through", "$1"],
234
+ 433 => ["ported", "@builder.append_arguments($1, $3)"],
240
235
  431 => ["pass_through", "$2"],
241
236
  409 => ["empty", "nil"],
242
- 391 => ["pass_through", "$1"],
237
+ 391 => ["ported", "@builder.singleton_method_node($1[0], $1[2], $2, $4)"],
243
238
  385 => ["pass_through", "$3"],
244
- 378 => ["pass_through", "$2"],
239
+ 378 => ["ported", "@builder.case_node($2, @builder.case_parts($4).first, @builder.case_parts($4).last)"],
245
240
  465 => ["pass_through", "$1"],
246
241
  464 => ["pass_through", "$1"],
247
242
  463 => ["pass_through", "$1"],
248
243
  462 => ["pass_through", "$1"],
249
244
  459 => ["pass_through", "$1"],
250
245
  457 => ["pass_through", "$1"],
251
- 453 => ["pass_through", "$1"],
252
- 452 => ["pass_through", "$1"],
253
- 451 => ["pass_through", "$1"],
254
- 448 => ["pass_through", "$1"],
246
+ 453 => ["ported", "@builder.parameter_list($1, $2)"],
247
+ 452 => ["ported", "@builder.parameter_list($1, $2)"],
248
+ 451 => ["ported", "@builder.parameter_list($1, $3, $4)"],
249
+ 448 => ["ported", "@builder.parameter_list($1, $3)"],
255
250
  368 => ["ported", "@builder.block_call($1, $2)"],
256
251
  366 => ["ported", "@builder.block_call(@builder.call($1, []), $2)"],
257
- 356 => ["pass_through", "$2"],
258
- 313 => ["pass_through", "$1"],
259
- 280 => ["pass_through", "$1"],
260
- 279 => ["pass_through", "$1"],
252
+ 356 => ["ported", "@builder.absolute_constant($2)"],
253
+ 313 => ["ported", "@builder.append_arguments($1, @builder.hash($3))"],
254
+ 280 => ["ported", "@builder.finish_method_scope($1)"],
255
+ 279 => ["ported", "@builder.finish_method_scope($1)"],
261
256
  244 => ["pass_through", "$1"],
262
257
  243 => ["pass_through", "nil"],
263
- 242 => ["pass_through", "$1"],
264
- 241 => ["pass_through", "$1"],
265
- 240 => ["pass_through", "$1"],
266
- 239 => ["pass_through", "$1"],
267
- 238 => ["pass_through", "$1"],
268
- 237 => ["pass_through", "$1"],
269
- 145 => ["pass_through", "$1"],
270
- 144 => ["pass_through", "$1"],
271
- 143 => ["pass_through", "$1"],
258
+ 242 => ["ported", "@builder.opassign(@builder.field($1, :\"::\", $3), $4, $6)"],
259
+ 241 => ["ported", "@builder.opassign(@builder.field($1, :\"::\", $3), $4, $6)"],
260
+ 240 => ["ported", "@builder.opassign(@builder.field($1, $2, $3), $4, $6)"],
261
+ 239 => ["ported", "@builder.opassign(@builder.field($1, $2, $3), $4, $6)"],
262
+ 238 => ["ported", "@builder.opassign(@builder.index($1, $3 || []), $5, $7)"],
263
+ 237 => ["ported", "@builder.opassign($1, $2, $4)"],
264
+ 145 => ["ported", "@builder.field($1, :\"::\", $3)"],
265
+ 144 => ["ported", "@builder.field($1, $2, $3)"],
266
+ 143 => ["ported", "@builder.field($1, $2, $3)"],
272
267
  142 => ["ported", "@builder.index($1, $3 || [])"],
273
- 136 => ["pass_through", "$1"],
274
- 135 => ["pass_through", "$1"],
275
- 134 => ["pass_through", "$1"],
268
+ 136 => ["ported", "@builder.field($1, :\"::\", $3)"],
269
+ 135 => ["ported", "@builder.field($1, $2, $3)"],
270
+ 134 => ["ported", "@builder.field($1, $2, $3)"],
276
271
  105 => ["ported", "@builder.block_call(@builder.receiver_call($1, :\"::\", $3, []), $5)"],
277
272
  104 => ["ported", "@builder.block_call(@builder.receiver_call($1, :\"::\", $3, $4), $5)"],
278
273
  103 => ["ported", "@builder.receiver_call($1, :\"::\", $3, $4)"],
@@ -282,14 +277,14 @@ module Arpaka::RubyGrammarActions
282
277
  606 => ["ported", "@builder.range(:\"...\", nil, $2)"],
283
278
  605 => ["ported", "@builder.range(:\"..\", nil, $2)"],
284
279
  604 => ["ported", "@builder.range(:\"...\", $1, nil)"],
285
- 810 => ["pass_through", "$2"],
280
+ 810 => ["ported", "@builder.declare_method_parameter($2)"],
286
281
  820 => ["pass_through", "$3"],
287
- 828 => ["pass_through", "$4"],
288
- 806 => ["ported", "[$2].freeze"],
289
- 802 => ["pass_through", "$2"],
282
+ 828 => ["ported", "@builder.pair(@builder.symbol(@builder.join_strings($2)), $4)"],
283
+ 806 => ["ported", "@builder.declare_method_parameter_list($2)"],
284
+ 802 => ["ported", "@builder.declare_method_parameter($2)"],
290
285
  835 => ["pass_through", "$1"],
291
286
  831 => ["pass_through", "$1"],
292
- 829 => ["pass_through", "$2"],
287
+ 829 => ["ported", "@builder.pair(nil, $2)"],
293
288
  846 => ["empty", "nil"],
294
289
  811 => ["empty", "nil"],
295
290
  790 => ["empty", "nil"],
@@ -299,30 +294,31 @@ module Arpaka::RubyGrammarActions
299
294
  746 => ["pass_through", "$2"],
300
295
  729 => ["pass_through", "$2"],
301
296
  597 => ["pass_through", "$1"],
302
- 623 => ["pass_through", "$2"],
303
- 587 => ["pass_through", "$1"],
297
+ 623 => ["ported", "@builder.pattern(:pin, [$2])"],
298
+ 587 => ["ported", "@builder.hash_pattern_parts($1)"],
304
299
  575 => ["pass_through", "$1"],
305
- 567 => ["empty", "nil"],
306
- 314 => ["pass_through", "$1"],
307
- 564 => ["empty", "nil"],
300
+ 567 => ["ported", "@builder.pattern(:hash, [[], nil])"],
301
+ 314 => ["ported", "@builder.hash($1)"],
302
+ 564 => ["ported", "@builder.pattern(:array, [[], nil, []])"],
308
303
  551 => ["pass_through", "$2"],
309
304
  550 => ["pass_through", "$2"],
310
305
  539 => ["pass_through", "$1"],
311
- 522 => ["pass_through", "$2"],
306
+ 522 => ["ported", "[@builder.splat($2)].freeze"],
312
307
  630 => ["pass_through", "$1"], 631 => ["pass_through", "$1"],
313
308
  632 => ["empty", "nil"], 633 => ["pass_through", "$2"], 634 => ["empty", "nil"],
314
309
  635 => ["pass_through", "$2"],
315
310
  245 => ["pass_through", "$1"], 285 => ["pass_through", "$1"],
316
311
  315 => ["pass_through", "$1"], 316 => ["pass_through", "$1"],
317
312
  317 => ["pass_through", "$1"],
318
- 321 => ["pass_through", "$1"], 325 => ["empty", "nil"],
319
- 329 => ["pass_through", "$1"], 333 => ["empty", "nil"],
313
+ 321 => ["ported", "@builder.call_arguments_with_block_pass([], $1)"],
314
+ 325 => ["ported", "@builder.forwarded_block_pass"],
315
+ 329 => ["pass_through", "$1"], 333 => ["ported", "@builder.splat(AST::LocalRead.new(:*))"],
320
316
  334 => ["pass_through", "$1"],
321
317
  335 => ["pass_through", "$1"], 350 => ["empty", "nil"],
322
318
  352 => ["empty", "nil"], 390 => ["empty", "nil"],
323
319
  296 => ["pass_through", "nil"],
324
- 109 => ["ported", "@builder.call(:break, $2 || [])"],
325
- 110 => ["ported", "@builder.call(:next, $2 || [])"],
320
+ 109 => ["ported", "@builder.control(:break, $2 || [])"],
321
+ 110 => ["ported", "@builder.control(:next, $2 || [])"],
326
322
  89 => ["pass_through", "$1"],
327
323
  78 => ["pass_through", "$1"], 140 => ["ported", "@builder.declare_local($1)"],
328
324
  154 => ["pass_through", "$1"],
@@ -345,18 +341,18 @@ module Arpaka::RubyGrammarActions
345
341
  259 => ["ported", "@builder.binary(:\"**\", @builder.unary(:-@, $2), $4)"],
346
342
  306 => ["ported", "($2 + [$4]).freeze"],
347
343
  307 => ["pass_through", "$2"],
348
- 319 => ["pass_through", "$1"],
349
- 320 => ["ported", "(($1 || []) + ($3 || [])).freeze"],
350
- 324 => ["pass_through", "$2"],
344
+ 319 => ["ported", "@builder.call_arguments_with_block_pass($1, $2)"],
345
+ 320 => ["ported", "@builder.call_arguments_with_block_pass(@builder.combine_arguments($1, $3), $4)"],
346
+ 324 => ["ported", "@builder.block_pass([], $2)"],
351
347
  326 => ["pass_through", "$2"],
352
348
  331 => ["ported", "@builder.append_arguments($1, $3)"],
353
- 332 => ["ported", "[$2].freeze"],
349
+ 332 => ["ported", "@builder.splat($2)"],
354
350
  336 => ["ported", "($1 + [$3]).freeze"],
355
- 337 => ["ported", "($1 + [$4]).freeze"],
356
- 338 => ["ported", "[$2].freeze"],
357
- 349 => ["ported", "@builder.reserved_word(\"method\")"],
358
- 16 => ["ported", "@builder.body_nodes($1)"],
359
- 43 => ["ported", "@builder.assign($1, @builder.rescue_modifier($4, $7))"],
351
+ 337 => ["ported", "($1 + [@builder.splat($4)]).freeze"],
352
+ 338 => ["ported", "[@builder.splat($2)].freeze"],
353
+ 349 => ["ported", "@builder.call($1, [])"],
354
+ 16 => ["ported", "@builder.body_statement($1, $3, $6, $8)"],
355
+ 43 => ["ported", "@builder.multiple_assign($1, @builder.rescue_modifier($4, $7))"],
360
356
  281 => ["pass_through", "$1"],
361
357
  416 => ["empty", "nil"],
362
358
  439 => ["pass_through", "$2"],
@@ -366,27 +362,27 @@ module Arpaka::RubyGrammarActions
366
362
  133 => ["ported", "@builder.index($1, $3 || [])"],
367
363
  138 => ["ported", "@builder.variable(:constant, $2)"],
368
364
  137 => ["ported", "@builder.variable(:constant, $3)"],
369
- 146 => ["ported", "@builder.variable(:constant, $3)"],
370
- 355 => ["ported", "@builder.variable(:constant, $3)"],
365
+ 146 => ["ported", "@builder.constant_path($1, $3)"],
366
+ 355 => ["ported", "@builder.constant_path($1, $3)"],
371
367
  365 => ["ported", "@builder.reserved_word(\"not\")"],
372
368
  603 => ["ported", "@builder.range(:\"..\", $1, nil)"],
373
- 147 => ["ported", "@builder.variable(:constant, $2)"],
369
+ 147 => ["ported", "@builder.absolute_constant($2)"],
374
370
  286 => ["ported", "@builder.rescue_modifier($1, $4)"],
375
371
  112 => ["pass_through", "$2"],
376
372
  163 => ["ported", "($1 + [$4]).freeze"],
377
- 351 => ["ported", "@builder.body_nodes($3)"],
373
+ 351 => ["ported", "@builder.begin_body($3)"],
378
374
  114 => ["pass_through", "$2"],
379
375
  128 => ["pass_through", "$2"],
380
376
  129 => ["ported", "[$1].freeze"],
381
377
  116 => ["ported", "(Array($1) + [$2]).freeze"],
382
- 117 => ["ported", "(Array($1) + [$3]).freeze"],
378
+ 117 => ["ported", "@builder.multiple_assign_post($1, $3, [])"],
383
379
  119 => ["ported", "(Array($1) + [$3]).freeze"],
384
- 120 => ["ported", "(Array($1) + [$3] + Array($5)).freeze"],
385
- 122 => ["pass_through", "$1"],
386
- 121 => ["pass_through", "$1"],
387
- 123 => ["pass_through", "$2"],
388
- 124 => ["pass_through", "$2"],
389
- 126 => ["pass_through", "$3"],
380
+ 120 => ["ported", "@builder.multiple_assign_post($1, $3, $5)"],
381
+ 122 => ["ported", "@builder.multiple_assign_post($1, :NODE_SPECIAL_NO_NAME_REST, $4)"],
382
+ 121 => ["ported", "@builder.multiple_assign_post($1, :NODE_SPECIAL_NO_NAME_REST, [])"],
383
+ 123 => ["ported", "@builder.multiple_assign_post([], $2, [])"],
384
+ 124 => ["ported", "@builder.multiple_assign_post([], $2, $4)"],
385
+ 126 => ["ported", "@builder.multiple_assign_post([], :NODE_SPECIAL_NO_NAME_REST, $3)"],
390
386
  130 => ["ported", "($1 + [$2]).freeze"],
391
387
  304 => ["ported", "@builder.rescue_modifier($1, $4)"],
392
388
  46 => ["empty", "nil"],
@@ -399,7 +395,7 @@ module Arpaka::RubyGrammarActions
399
395
  310 => ["empty", "nil"], 311 => ["pass_through", "$1"],
400
396
  312 => ["pass_through", "$1"],
401
397
  327 => ["empty", "nil"],
402
- 318 => ["pass_through", "$1"],
398
+ 318 => ["ported", "@builder.call_arguments_with_block_pass($1, $2)"],
403
399
  322 => ["empty", "nil"],
404
400
  323 => ["pass_through", "$2"],
405
401
  507 => ["ported", "@builder.call($1, $2 || [])"],
@@ -413,12 +409,12 @@ module Arpaka::RubyGrammarActions
413
409
  360 => ["ported", "@builder.call(:yield, $3 || [])"],
414
410
  361 => ["ported", "@builder.call(:yield, [])"],
415
411
  362 => ["ported", "@builder.call(:yield, [])"],
416
- 512 => ["ported", "@builder.call(:super, $2 || [])"],
417
- 513 => ["ported", "@builder.call(:super, [])"],
412
+ 512 => ["ported", "@builder.super_call($2 || [])"],
413
+ 513 => ["ported", "@builder.super_call(nil)"],
418
414
  364 => ["ported", "@builder.unary(:\"!\", $3)"],
419
- 295 => ["pass_through", "nil"],
420
- 363 => ["ported", "@builder.call(:defined, [$5])"],
421
- 278 => ["ported", "@builder.call(:defined, [$4])"],
415
+ 295 => ["ported", "@builder.begin_defined"],
416
+ 363 => ["ported", "@builder.defined_call($5)"],
417
+ 278 => ["ported", "@builder.defined_call($4)"],
422
418
  340 => ["pass_through", "$1"],
423
419
  343 => ["ported", "@builder.word_array($1)"],
424
420
  344 => ["ported", "@builder.word_array($1, symbols: true)"],
@@ -430,7 +426,7 @@ module Arpaka::RubyGrammarActions
430
426
  646 => ["pass_through", "nil"], 647 => ["pass_through", "nil"],
431
427
  648 => ["pass_through", "$3"], 649 => ["pass_through", "$1"],
432
428
  650 => ["empty", "[]"], 651 => ["ported", "($1 + [$2]).freeze"],
433
- 652 => ["pass_through", "$1"], 653 => ["ported", "$1.to_s + $2.to_s"],
429
+ 652 => ["pass_through", "$1"], 653 => ["ported", "@builder.concat_strings($1, $2)"],
434
430
  654 => ["pass_through", "$3"], 655 => ["ported", "@builder.word_array($1, symbols: true)"],
435
431
  656 => ["empty", "[]"], 657 => ["ported", "($1 + [$2]).freeze"],
436
432
  658 => ["pass_through", "$3"], 659 => ["ported", "@builder.word_array($1)"],
@@ -443,7 +439,7 @@ module Arpaka::RubyGrammarActions
443
439
  404 => ["pass_through", "nil"], 428 => ["pass_through", "$1"],
444
440
  644 => ["ported", "@builder.xstring(@builder.join_strings($2))"],
445
441
  668 => ["empty", "[]"], 669 => ["ported", "($1 + [$2]).freeze"],
446
- 645 => ["ported", "@builder.regexp(@builder.join_strings($2))"],
442
+ 645 => ["ported", "@builder.regexp(@builder.join_strings($2), $3)"],
447
443
  670 => ["empty", "[]"], 671 => ["ported", "($1 + [$2]).freeze"],
448
444
  639 => ["pass_through", "$1"],
449
445
  638 => ["pass_through", "$1"],
@@ -500,10 +496,10 @@ module Arpaka::RubyGrammarActions
500
496
  699 => ["ported", "@builder.identifier($1)"],
501
497
  700 => ["ported", "@builder.variable(:constant, $1)"],
502
498
  702 => ["ported", "@builder.literal(nil)"],
503
- 703 => ["ported", "@builder.literal(:self)"],
499
+ 703 => ["ported", "@builder.self_node"],
504
500
  706 => ["ported", "@builder.literal(:__FILE__)"],
505
- 707 => ["ported", "@builder.literal(:__LINE__)"],
506
- 708 => ["ported", "@builder.literal(:__ENCODING__)"],
501
+ 707 => ["ported", "@builder.line_literal($1)"],
502
+ 708 => ["ported", "@builder.encoding_literal"],
507
503
  713 => ["ported", "@builder.variable(:backref, $1)"],
508
504
  714 => ["ported", "@builder.variable(:backref, $1)"],
509
505
  348 => ["pass_through", "$1"],
@@ -545,10 +541,11 @@ module Arpaka::RubyGrammarActions
545
541
  424 => ["pass_through", "$1"],
546
542
  425 => ["ported", "@builder.elsif_node($2, $4, $5)"],
547
543
  426 => ["empty", "nil"],
548
- 445 => ["pass_through", "$1"],
544
+ 445 => ["ported", "@builder.parameter(:keyword_optional, $1.name, $2)"],
545
+ 446 => ["pass_through", "$1"],
549
546
  427 => ["pass_through", "$2"],
550
- 17 => ["empty", "nil"], 18 => ["ported", "@builder.body_nodes($1)"],
551
- 79 => ["pass_through", "$1"], 80 => ["pass_through", "$2"], 407 => ["empty", "nil"],
547
+ 17 => ["empty", "nil"], 18 => ["ported", "@builder.body_statement($1, $3, nil, $5)"],
548
+ 79 => ["pass_through", "$1"], 80 => ["ported", "@builder.begin_method_scope($2)"], 407 => ["empty", "nil"],
552
549
  388 => ["empty", "nil"],
553
550
  720 => ["empty", "nil"], 721 => ["pass_through", "$2"],
554
551
  722 => ["pass_through", "$1"], 723 => ["empty", "nil"], 724 => ["pass_through", "$2"],
@@ -556,43 +553,56 @@ module Arpaka::RubyGrammarActions
556
553
  389 => ["ported", "@builder.def_node($1, $2, @builder.body_nodes($4))"],
557
554
  629 => ["empty", "nil"], 636 => ["empty", "nil"],
558
555
  149 => ["pass_through", "$1"], 150 => ["pass_through", "$1"],
559
- 151 => ["pass_through", "$2"], 152 => ["pass_through", "$1"], 153 => ["pass_through", "$3"],
556
+ 151 => ["ported", "@builder.absolute_constant($2)"],
557
+ 152 => ["ported", "@builder.variable(:constant, $1)"],
558
+ 153 => ["ported", "@builder.constant_path($1, $3)"],
560
559
  382 => ["empty", "nil"], 384 => ["empty", "nil"], 386 => ["empty", "nil"],
561
560
  383 => ["ported", "@builder.class_node($2, $3, $5)"],
561
+ 385 => ["ported", "@builder.singleton_class_node($3, $6)"],
562
562
  387 => ["ported", "@builder.module_node($2, $4)"],
563
563
  405 => ["empty", "nil"], 406 => ["empty", "nil"],
564
564
  408 => ["empty", "nil"], 410 => ["empty", "nil"], 411 => ["empty", "nil"],
565
565
  422 => ["pass_through", "$1"], 429 => ["pass_through", "$1"],
566
566
  430 => ["pass_through", "$1"],
567
- 432 => ["pass_through", "$1"], 434 => ["pass_through", "$1"],
567
+ 432 => ["pass_through", "$1"], 434 => ["ported", "[$1].freeze"],
568
568
  437 => ["pass_through", "$1"], 440 => ["empty", "nil"],
569
569
  441 => ["pass_through", "$1"], 442 => ["pass_through", "$1"],
570
- 443 => ["empty", "nil"], 446 => ["pass_through", "$1"],
570
+ 443 => ["empty", "nil"],
571
571
  447 => ["pass_through", "$1"], 450 => ["empty", "nil"],
572
572
  454 => ["pass_through", "$1"], 455 => ["pass_through", "$1"],
573
573
  456 => ["empty", "nil"], 458 => ["pass_through", "$1"],
574
574
  461 => ["empty", "nil"], 474 => ["pass_through", "$1"],
575
575
  477 => ["pass_through", "$1"], 478 => ["pass_through", "$1"],
576
- 479 => ["empty", "nil"],
576
+ 479 => ["ported", "@builder.begin_block_parameters(nil, nil)"],
577
577
  480 => ["pass_through", "$1"], 482 => ["empty", "nil"],
578
578
  483 => ["pass_through", "$1"], 484 => ["pass_through", "$1"],
579
579
  486 => ["pass_through", "$1"], 489 => ["pass_through", "$1"],
580
580
  490 => ["empty", "nil"], 491 => ["empty", "nil"], 492 => ["empty", "nil"],
581
581
  497 => ["pass_through", "$1"], 517 => ["empty", "nil"], 519 => ["empty", "nil"],
582
582
  528 => ["empty", "nil"], 529 => ["empty", "nil"], 530 => ["empty", "nil"],
583
- 531 => ["empty", "nil"], 533 => ["pass_through", "$1"], 534 => ["pass_through", "$1"],
583
+ 531 => ["empty", "nil"], 532 => ["ported", "@builder.case_chain(@builder.when_node([@builder.pattern_value($5)], $8), $9)"],
584
+ 533 => ["pass_through", "$1"], 534 => ["pass_through", "$1"],
584
585
  535 => ["pass_through", "$1"], 538 => ["pass_through", "$1"],
586
+ 562 => ["ported", "@builder.array_pattern($2)"],
585
587
  541 => ["pass_through", "$1"], 542 => ["pass_through", "$1"],
586
- 543 => ["pass_through", "$1"], 544 => ["pass_through", "$1"],
588
+ 543 => ["ported", "@builder.pattern(:hash, $1)"], 544 => ["pass_through", "$1"],
587
589
  546 => ["pass_through", "$1"], 547 => ["empty", "nil"],
588
590
  549 => ["pass_through", "$1"], 552 => ["pass_through", "$1"],
589
591
  553 => ["pass_through", "$1"], 565 => ["empty", "nil"],
590
- 569 => ["pass_through", "$1"], 570 => ["pass_through", "$1"],
591
- 574 => ["pass_through", "$1"], 577 => ["pass_through", "$1"],
592
+ 569 => ["ported", "@builder.pattern_array_parts([$1])"],
593
+ 570 => ["ported", "@builder.pattern_array_parts($1)"],
594
+ 571 => ["ported", "@builder.pattern_array_parts($1 + $2)"],
595
+ 572 => ["ported", "@builder.pattern_array_parts($1, $2)"],
596
+ 573 => ["ported", "@builder.pattern_array_parts($1, $2, $4)"],
597
+ 574 => ["pass_through", "$1"],
598
+ 577 => ["ported", "@builder.pattern_array_parts([], $1)"],
599
+ 584 => ["ported", "[$1].freeze"],
592
600
  581 => ["empty", "nil"],
593
- 582 => ["pass_through", "$1"], 584 => ["pass_through", "$1"],
594
- 586 => ["pass_through", "$1"], 588 => ["pass_through", "$1"],
595
- 589 => ["pass_through", "$1"], 592 => ["pass_through", "$1"],
601
+ 582 => ["pass_through", "$1"],
602
+ 586 => ["ported", "@builder.hash_pattern_parts($1)"],
603
+ 588 => ["ported", "@builder.hash_pattern_parts([], $1)"],
604
+ 589 => ["pass_through", "$1"],
605
+ 592 => ["ported", "[@builder.pattern_pair($1)].freeze"],
596
606
  593 => ["pass_through", "$1"], 596 => ["empty", "nil"],
597
607
  598 => ["pass_through", "$1"], 599 => ["pass_through", "$1"],
598
608
  600 => ["pass_through", "$1"], 607 => ["pass_through", "$1"],
@@ -615,42 +625,111 @@ module Arpaka::RubyGrammarActions
615
625
  763 => ["pass_through", "$1"], 767 => ["empty", "nil"],
616
626
  780 => ["pass_through", "$1"], 782 => ["pass_through", "$1"],
617
627
  783 => ["pass_through", "$1"], 784 => ["empty", "nil"],
618
- 786 => ["empty", "nil"], 787 => ["pass_through", "$1"],
628
+ 786 => ["ported", "@builder.parameter(:forwarding, nil)"], 787 => ["pass_through", "$1"],
619
629
  791 => ["pass_through", "$1"],
620
- 793 => ["pass_through", "$1"], 794 => ["pass_through", "$1"],
621
- 796 => ["pass_through", "$1"], 798 => ["pass_through", "$1"],
630
+ 793 => ["ported", "@builder.declare_method_parameter($1)"], 794 => ["pass_through", "$1"],
631
+ 796 => ["pass_through", "$1"], 798 => ["ported", "@builder.declare_method_parameter($1)"],
622
632
  799 => ["empty", "nil"], 800 => ["empty", "nil"], 801 => ["pass_through", "$1"],
623
- 803 => ["pass_through", "$1"], 804 => ["empty", "nil"], 805 => ["empty", "nil"],
624
- 807 => ["empty", "[]"], 808 => ["empty", "nil"], 809 => ["empty", "nil"],
633
+ 803 => ["pass_through", "$1"],
634
+ 804 => ["empty", "nil"], 805 => ["empty", "nil"],
635
+ 807 => ["empty", "[]"],
636
+ 808 => ["empty", "nil"], 809 => ["empty", "nil"],
625
637
  812 => ["pass_through", "$1"], 813 => ["empty", "nil"], 814 => ["pass_through", "$1"],
626
638
  815 => ["pass_through", "$1"], 816 => ["pass_through", "$1"], 817 => ["pass_through", "$1"],
627
639
  818 => ["pass_through", "$1"],
628
- 819 => ["empty", "nil"], 827 => ["pass_through", "$1"], 830 => ["empty", "nil"],
640
+ 819 => ["empty", "nil"],
641
+ 827 => ["ported", "@builder.pair(@builder.symbol($1), @builder.read_local($1))"],
642
+ 830 => ["ported", "@builder.pair(nil, @builder.read_local(:**))"],
629
643
  832 => ["pass_through", "$1"], 833 => ["pass_through", "$1"], 834 => ["pass_through", "$1"],
630
644
  836 => ["pass_through", "$1"], 837 => ["pass_through", "$1"],
631
645
  838 => ["ported", "@builder.operator(\".\")"], 839 => ["ported", "@builder.operator(\"::\")"],
632
646
  840 => ["ported", "@builder.operator(\".\")"], 841 => ["ported", "@builder.operator(\"&.\")"],
633
647
  842 => ["pass_through", "$1"], 843 => ["ported", "@builder.operator(\"::\")"],
634
648
  398 => ["empty", "nil"],
635
- 10 => ["pass_through", "$2"], 12 => ["pass_through", "$2"],
636
- 24 => ["pass_through", "$3"], 26 => ["pass_through", "$1"],
637
- 28 => ["pass_through", "$2"], 29 => ["pass_through", "$2"],
638
- 30 => ["pass_through", "$2"], 31 => ["pass_through", "$2"],
639
- 32 => ["pass_through", "$2"], 38 => ["pass_through", "$3"],
640
- 40 => ["pass_through", "$1"], 41 => ["pass_through", "$1"],
641
- 44 => ["pass_through", "$1"], 47 => ["pass_through", "$1"],
642
- 49 => ["pass_through", "$1"], 50 => ["pass_through", "$1"],
649
+ 26 => ["pass_through", "$1"],
650
+ 28 => ["ported", "@builder.alias_node(:method, $2, $4)"],
651
+ 29 => ["ported", "@builder.alias_node(:variable, $2, $3)"],
652
+ 30 => ["ported", "@builder.alias_node(:variable, $2, $3)"],
653
+ 31 => ["ported", "@builder.alias_node(:variable, $2, $3)"],
654
+ 32 => ["ported", "@builder.undef_node($2)"],
655
+ 40 => ["ported", "@builder.multiple_assign($1, $4)"], 41 => ["ported", "@builder.assign_mrhs($1, $4)"],
656
+ 44 => ["ported", "@builder.multiple_assign($1, $4)"], 47 => ["ported", "@builder.assign_mrhs($1, $4)"],
657
+ 49 => ["ported", "@builder.opassign($1, $2, $4)"],
658
+ 50 => ["ported", "@builder.opassign(@builder.index($1, $3 || []), $5, $7)"],
643
659
  51 => ["pass_through", "$1"], 52 => ["pass_through", "$1"],
644
660
  53 => ["pass_through", "$1"], 54 => ["pass_through", "$1"],
645
661
  55 => ["pass_through", "$2"],
646
- 56 => ["pass_through", "$1"], 58 => ["pass_through", "$1"],
647
- 59 => ["pass_through", "$1"], 62 => ["pass_through", "$1"],
662
+ 56 => ["pass_through", "$1"], 58 => ["ported", "@builder.finish_method_scope($1)"],
663
+ 59 => ["ported", "@builder.finish_method_scope($1)"], 62 => ["pass_through", "$1"],
648
664
  65 => ["pass_through", "$3"], 67 => ["pass_through", "$1"],
649
665
  73 => ["ported", "@builder.unary(:\"!\", $2)"],
650
666
  716 => ["pass_through", "$3"], 717 => ["empty", "nil"],
651
- 493 => ["empty", "nil"], 494 => ["empty", "nil"],
652
- 495 => ["ported", "@builder.lambda_node($7, $8)"],
667
+ 493 => ["empty", "nil"], 494 => ["ported", "@builder.begin_lambda_parameters"],
668
+ 495 => ["ported", "@builder.lambda_node($7, $9)"],
653
669
  498 => ["pass_through", "$2"], 499 => ["empty", "nil"], 500 => ["pass_through", "$3"],
654
670
  369 => ["pass_through", "$1"], 620 => ["pass_through", "$1"]
655
- }.freeze
671
+ }.merge({
672
+ 743 => ["ported", "@builder.parameter(:optional, $1, $3)"],
673
+ 745 => ["ported", "@builder.parameter_list($1, $3)"],
674
+ 725 => ["ported", "@builder.parameter(:keyword_optional, $1.name, $2)"],
675
+ 726 => ["pass_through", "$1"],
676
+ 727 => ["pass_through", "$1"],
677
+ 728 => ["ported", "@builder.parameter_list($1, $3)"],
678
+ 731 => ["ported", "@builder.parameter_list($1, $3, $4)"],
679
+ 732 => ["ported", "@builder.parameter_list($1, $2)"],
680
+ 733 => ["ported", "@builder.parameter_list($1, $2)"],
681
+ 734 => ["pass_through", "$1"],
682
+ 735 => ["pass_through", "$1"],
683
+ 737 => ["ported", "@builder.parameter_list($1, $3, $4)"],
684
+ 738 => ["ported", "@builder.parameter_list($1, $2)"],
685
+ 739 => ["ported", "@builder.parameter_list($1, $2)"],
686
+ 740 => ["pass_through", "$1"],
687
+ 741 => ["pass_through", "$1"],
688
+ 798 => ["ported", "@builder.parameter(:keyword_required, $1)"],
689
+ 801 => ["ported", "@builder.parameter(:keyword_rest_disabled, nil)"],
690
+ 802 => ["ported", "@builder.parameter(:keyword_rest, $2)"],
691
+ 803 => ["ported", "@builder.parameter(:keyword_rest, nil)"],
692
+ 785 => ["ported", "@builder.finish_method_parameters(@builder.parameter_list($1))"],
693
+ 748 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
694
+ 749 => ["ported", "@builder.parameter_list($1, $3, $5, $7, $8)"],
695
+ 750 => ["ported", "@builder.parameter_list($1, $3, $4)"],
696
+ 751 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
697
+ 752 => ["ported", "@builder.parameter_list($1, $3, $4)"],
698
+ 753 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
699
+ 754 => ["ported", "@builder.parameter_list($1, $3, $4)"],
700
+ 755 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
701
+ 756 => ["ported", "@builder.parameter_list($1, $2)"],
702
+ 757 => ["ported", "@builder.parameter_list($1, $3, $4)"],
703
+ 758 => ["ported", "@builder.parameter_list($1, $2)"],
704
+ 759 => ["ported", "@builder.parameter_list($1, $3, $4)"],
705
+ 760 => ["ported", "@builder.parameter_list($1)"],
706
+ 761 => ["ported", "@builder.parameter_list($1, $2)"],
707
+ 762 => ["ported", "@builder.parameter_list($1)"],
708
+ 763 => ["ported", "@builder.parameter_list($1)"],
709
+ 764 => ["ported", "@builder.parameter_list($1)"],
710
+ 765 => ["ported", "@builder.finish_method_parameters(@builder.parameter_list($1))"],
711
+ 766 => ["ported", "@builder.parameter_list($2)"],
712
+ 767 => ["ported", "@builder.parameter_list()"],
713
+ 768 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
714
+ 769 => ["ported", "@builder.parameter_list($1, $3, $5, $7, $8)"],
715
+ 770 => ["ported", "@builder.parameter_list($1, $3, $4)"],
716
+ 771 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
717
+ 772 => ["ported", "@builder.parameter_list($1, $3, $4)"],
718
+ 773 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
719
+ 774 => ["ported", "@builder.parameter_list($1, $3, $4)"],
720
+ 775 => ["ported", "@builder.parameter_list($1, $3, $5, $6)"],
721
+ 776 => ["ported", "@builder.parameter_list($1, $2)"],
722
+ 777 => ["ported", "@builder.parameter_list($1, $3, $4)"],
723
+ 778 => ["ported", "@builder.parameter_list($1, $2)"],
724
+ 779 => ["ported", "@builder.parameter_list($1, $3, $4)"],
725
+ 780 => ["ported", "@builder.parameter_list($1)"],
726
+ 781 => ["ported", "@builder.parameter_list($1, $2)"],
727
+ 782 => ["ported", "@builder.parameter_list($1)"],
728
+ 783 => ["ported", "@builder.parameter_list($1)"],
729
+ 806 => ["ported", "@builder.parameter(:rest, $2)"],
730
+ 807 => ["ported", "@builder.parameter(:rest, nil)"],
731
+ 810 => ["ported", "@builder.parameter(:block, $2)"],
732
+ 811 => ["ported", "@builder.parameter(:block, :nil)"],
733
+ 812 => ["ported", "@builder.parameter(:block, nil)"]
734
+ }).freeze
656
735
  end