rbs 1.1.0 → 1.3.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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +5 -1
- data/.gitignore +2 -0
- data/CHANGELOG.md +81 -0
- data/README.md +1 -1
- data/Rakefile +11 -0
- data/Steepfile +1 -0
- data/core/array.rbs +2 -2
- data/core/basic_object.rbs +1 -1
- data/core/enumerable.rbs +1 -1
- data/core/hash.rbs +13 -5
- data/core/io.rbs +4 -4
- data/core/kernel.rbs +2 -2
- data/core/marshal.rbs +4 -3
- data/core/module.rbs +1 -1
- data/core/numeric.rbs +10 -0
- data/core/proc.rbs +1 -1
- data/core/random.rbs +4 -2
- data/core/range.rbs +2 -2
- data/core/struct.rbs +3 -2
- data/core/thread.rbs +1 -1
- data/docs/CONTRIBUTING.md +5 -3
- data/docs/rbs_by_example.md +328 -0
- data/docs/sigs.md +21 -2
- data/docs/stdlib.md +1 -1
- data/docs/syntax.md +11 -14
- data/lib/rbs.rb +1 -0
- data/lib/rbs/ast/annotation.rb +2 -2
- data/lib/rbs/ast/comment.rb +2 -2
- data/lib/rbs/ast/declarations.rb +37 -22
- data/lib/rbs/ast/members.rb +26 -26
- data/lib/rbs/cli.rb +3 -0
- data/lib/rbs/constant_table.rb +4 -1
- data/lib/rbs/definition.rb +1 -1
- data/lib/rbs/definition_builder.rb +16 -18
- data/lib/rbs/definition_builder/ancestor_builder.rb +10 -2
- data/lib/rbs/definition_builder/method_builder.rb +4 -2
- data/lib/rbs/errors.rb +36 -0
- data/lib/rbs/location.rb +106 -2
- data/lib/rbs/locator.rb +205 -0
- data/lib/rbs/method_type.rb +2 -2
- data/lib/rbs/parser.rb +1315 -962
- data/lib/rbs/parser.y +411 -75
- data/lib/rbs/prototype/rb.rb +7 -3
- data/lib/rbs/prototype/runtime.rb +118 -42
- data/lib/rbs/test/hook.rb +8 -2
- data/lib/rbs/type_name.rb +2 -3
- data/lib/rbs/type_name_resolver.rb +1 -1
- data/lib/rbs/types.rb +36 -34
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +4 -2
- data/rbs.gemspec +1 -1
- data/sig/ancestor_builder.rbs +2 -0
- data/sig/annotation.rbs +1 -1
- data/sig/cli.rbs +31 -21
- data/sig/comment.rbs +1 -1
- data/sig/declarations.rbs +106 -21
- data/sig/environment.rbs +2 -2
- data/sig/errors.rbs +15 -0
- data/sig/location.rbs +84 -3
- data/sig/locator.rbs +44 -0
- data/sig/members.rbs +76 -12
- data/sig/method_builder.rbs +1 -1
- data/sig/method_types.rbs +1 -1
- data/sig/namespace.rbs +1 -1
- data/sig/polyfill.rbs +4 -17
- data/sig/rbs.rbs +8 -4
- data/sig/typename.rbs +1 -1
- data/sig/types.rbs +67 -20
- data/sig/util.rbs +0 -4
- data/sig/writer.rbs +8 -2
- data/stdlib/dbm/0/dbm.rbs +43 -30
- data/stdlib/mutex_m/0/mutex_m.rbs +1 -1
- data/stdlib/net-http/0/net-http.rbs +1846 -0
- data/stdlib/optparse/0/optparse.rbs +1214 -0
- data/stdlib/resolv/0/resolv.rbs +1504 -0
- data/stdlib/rubygems/0/requirement.rbs +84 -2
- data/stdlib/rubygems/0/rubygems.rbs +2 -2
- data/stdlib/rubygems/0/version.rbs +2 -1
- data/stdlib/shellwords/0/shellwords.rbs +252 -0
- data/stdlib/socket/0/addrinfo.rbs +469 -0
- data/stdlib/socket/0/basic_socket.rbs +503 -0
- data/stdlib/socket/0/ip_socket.rbs +72 -0
- data/stdlib/socket/0/socket.rbs +2687 -0
- data/stdlib/socket/0/tcp_server.rbs +177 -0
- data/stdlib/socket/0/tcp_socket.rbs +35 -0
- data/stdlib/socket/0/udp_socket.rbs +111 -0
- data/stdlib/socket/0/unix_server.rbs +154 -0
- data/stdlib/socket/0/unix_socket.rbs +132 -0
- data/stdlib/timeout/0/timeout.rbs +5 -0
- data/steep/Gemfile.lock +19 -16
- metadata +18 -11
- data/bin/annotate-with-rdoc +0 -153
- data/bin/console +0 -14
- data/bin/query-rdoc +0 -103
- data/bin/rbs-prof +0 -9
- data/bin/run_in_md.rb +0 -49
- data/bin/setup +0 -8
- data/bin/sort +0 -89
- data/bin/steep +0 -4
- data/bin/test_runner.rb +0 -29
data/lib/rbs/method_type.rb
CHANGED
@@ -19,13 +19,13 @@ module RBS
|
|
19
19
|
other.block == block
|
20
20
|
end
|
21
21
|
|
22
|
-
def to_json(
|
22
|
+
def to_json(state = _ = nil)
|
23
23
|
{
|
24
24
|
type_params: type_params,
|
25
25
|
type: type,
|
26
26
|
block: block,
|
27
27
|
location: location
|
28
|
-
}.to_json(
|
28
|
+
}.to_json(state)
|
29
29
|
end
|
30
30
|
|
31
31
|
def sub(s)
|
data/lib/rbs/parser.rb
CHANGED
@@ -8,7 +8,7 @@ require 'racc/parser.rb'
|
|
8
8
|
module RBS
|
9
9
|
class Parser < Racc::Parser
|
10
10
|
|
11
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
11
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1394)
|
12
12
|
|
13
13
|
Types = RBS::Types
|
14
14
|
Namespace = RBS::Namespace
|
@@ -332,12 +332,16 @@ def next_token
|
|
332
332
|
new_token(:tIVAR, input.matched.to_sym)
|
333
333
|
when input.scan(/@@[a-zA-Z_]\w*/)
|
334
334
|
new_token(:tCLASSVAR, input.matched.to_sym)
|
335
|
-
when input.scan(/_[
|
335
|
+
when input.scan(/_[A-Z]\w*\b/)
|
336
336
|
new_token(:tINTERFACEIDENT)
|
337
337
|
when input.scan(/[A-Z]\w*\b/)
|
338
338
|
new_token(:tUIDENT)
|
339
|
-
when input.scan(/[a-
|
339
|
+
when input.scan(/[a-z]\w*\b/)
|
340
340
|
new_token(:tLIDENT)
|
341
|
+
when input.scan(/_[a-z]\w*\b/)
|
342
|
+
new_token(:tUNDERSCOREIDENT)
|
343
|
+
when input.scan(/_/)
|
344
|
+
new_token(:kUNDERSCORE)
|
341
345
|
when input.scan(/"(\\"|[^"])*"/)
|
342
346
|
s = input.matched.yield_self {|s| s[1, s.length - 2] }
|
343
347
|
.gsub(DBL_QUOTE_STR_ESCAPE_SEQUENCES_RE) do |match|
|
@@ -371,6 +375,16 @@ def on_error(token_id, error_value, value_stack)
|
|
371
375
|
raise SyntaxError.new(token_str: token_to_str(token_id), error_value: error_value, value_stack: value_stack)
|
372
376
|
end
|
373
377
|
|
378
|
+
def split_kw_loc(loc)
|
379
|
+
buf = loc.buffer
|
380
|
+
start_pos = loc.start_pos
|
381
|
+
end_pos = loc.end_pos
|
382
|
+
[
|
383
|
+
Location.new(buffer: buf, start_pos: start_pos, end_pos: end_pos - 1),
|
384
|
+
Location.new(buffer: buf, start_pos: end_pos - 1, end_pos: end_pos)
|
385
|
+
]
|
386
|
+
end
|
387
|
+
|
374
388
|
class SyntaxError < ParsingError
|
375
389
|
attr_reader :token_str, :error_value, :value_stack
|
376
390
|
|
@@ -410,74 +424,109 @@ end
|
|
410
424
|
##### State transition tables begin ###
|
411
425
|
|
412
426
|
clist = [
|
413
|
-
'
|
414
|
-
'
|
415
|
-
'
|
416
|
-
'
|
417
|
-
'
|
418
|
-
'
|
419
|
-
'
|
420
|
-
'
|
421
|
-
'
|
422
|
-
'60,61,62,79,
|
423
|
-
'
|
424
|
-
'73,78,80,
|
425
|
-
'
|
426
|
-
'63,54,64,65,66,77,67,68,69,83,40,41,
|
427
|
-
'
|
428
|
-
'
|
429
|
-
'
|
430
|
-
'
|
431
|
-
'
|
432
|
-
'
|
433
|
-
'
|
434
|
-
'
|
435
|
-
'
|
436
|
-
'
|
437
|
-
'
|
438
|
-
'
|
439
|
-
'
|
440
|
-
'
|
441
|
-
'
|
442
|
-
'
|
443
|
-
'
|
444
|
-
'
|
445
|
-
'
|
446
|
-
'78,80,,,,,84,85,81,86
|
447
|
-
'
|
448
|
-
',
|
427
|
+
'192,195,33,193,192,195,33,193,192,195,33,193,113,192,195,33,193,192',
|
428
|
+
'195,160,193,180,324,192,195,33,193,185,179,33,228,33,33,33,5,33,33,33',
|
429
|
+
'37,174,283,322,177,32,175,40,41,32,161,40,41,32,186,40,41,229,32,49',
|
430
|
+
'40,41,293,49,40,41,176,284,32,194,40,41,32,194,32,32,32,194,32,32,32',
|
431
|
+
'196,194,351,352,196,194,353,42,196,334,53,194,338,196,53,209,407,196',
|
432
|
+
'350,209,336,40,41,196,406,55,56,57,58,59,60,61,62,355,186,63,54,64,65',
|
433
|
+
'66,77,67,68,69,83,40,41,53,346,340,341,53,366,344,342,345,126,2,3,4',
|
434
|
+
'343,82,70,71,72,74,76,75,339,348,349,73,78,80,39,398,410,186,84,85,81',
|
435
|
+
'86,351,352,40,41,353,180,43,411,-4,48,-244,104,264,33,39,117,350,-244',
|
436
|
+
'186,186,40,41,113,55,56,57,58,59,60,61,62,79,186,63,54,64,65,66,77,67',
|
437
|
+
'68,69,83,40,41,120,346,340,341,40,41,344,342,345,32,40,41,125,343,82',
|
438
|
+
'70,71,72,74,76,75,339,348,349,73,78,80,40,41,40,41,84,85,81,86,351,352',
|
439
|
+
'40,41,353,39,96,97,98,99,101,102,40,41,103,165,350,40,41,40,41,40,41',
|
440
|
+
'55,56,57,58,59,60,61,62,79,166,63,54,64,65,66,77,67,68,69,83,40,41,167',
|
441
|
+
'346,340,341,286,287,344,342,345,369,370,40,41,343,82,70,71,72,74,76',
|
442
|
+
'75,339,348,349,73,78,80,40,41,385,386,84,85,81,86,351,352,40,41,353',
|
443
|
+
'168,96,97,98,99,40,41,40,41,40,41,350,40,41,40,41,40,41,55,56,57,58',
|
444
|
+
'59,60,61,62,79,170,63,54,64,65,66,77,67,68,69,83,171,172,113,346,340',
|
445
|
+
'341,178,181,344,342,345,184,41,187,189,343,82,70,71,72,74,76,75,339',
|
446
|
+
'348,349,73,78,80,180,190,-104,-105,84,85,81,86,351,352,-106,-107,353',
|
447
|
+
'-108,96,97,98,99,-109,-110,-111,-112,-113,-114,350,48,-129,197,198,199',
|
448
|
+
'200,55,56,57,58,59,60,61,62,79,201,63,54,64,65,66,77,67,68,69,83,202',
|
449
|
+
'210,211,346,340,341,42,212,344,342,345,230,244,253,254,343,82,70,71',
|
450
|
+
'72,74,76,75,339,348,349,73,78,80,255,257,259,260,84,85,81,86,351,352',
|
451
|
+
'42,262,353,262,262,266,42,230,270,274,276,291,292,315,350,274,317,291',
|
452
|
+
'330,331,332,55,56,57,58,59,60,61,62,79,357,63,54,64,65,66,77,67,68,69',
|
453
|
+
'83,357,357,365,346,340,341,367,368,344,342,345,371,373,380,381,343,82',
|
454
|
+
'70,71,72,74,76,75,339,348,349,73,78,80,382,390,390,390,84,85,81,86,351',
|
455
|
+
'352,402,403,353,404,96,97,98,99,405,408,409,414,415,416,350,418,421',
|
456
|
+
'414,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,',
|
457
|
+
'346,340,341,,,344,342,345,,,,,343,82,70,71,72,74,76,75,339,348,349,73',
|
458
|
+
'78,80,,,,,84,85,81,86,351,352,,,353,,,,,,,,,,,,350,,,,,,,55,56,57,58',
|
459
|
+
'59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,346,340,341,,,344,342',
|
460
|
+
'345,,,,,343,82,70,71,72,74,76,75,339,348,349,73,78,80,,,,,84,85,81,86',
|
461
|
+
'33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136',
|
462
|
+
'137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157',
|
463
|
+
'159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97',
|
464
|
+
'98,99,,,,22,23,21,,26,,25,,30,,131,132,133,134,135,136,137,138,142,16',
|
465
|
+
'139,130,140,141,66,77,67,68,69,83,,32,,,,28,,,,,,,,,,,82,70,71,72,74',
|
466
|
+
'76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219',
|
467
|
+
'25,,30,,131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77',
|
468
|
+
'67,68,69,83,,32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73',
|
469
|
+
'78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,',
|
470
|
+
'131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69',
|
471
|
+
'83,,32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,',
|
449
472
|
',84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133',
|
450
473
|
'134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,',
|
451
|
-
'28,,
|
452
|
-
'
|
453
|
-
'
|
454
|
-
'
|
455
|
-
'
|
456
|
-
'
|
457
|
-
'
|
458
|
-
'
|
459
|
-
'
|
460
|
-
'
|
461
|
-
'
|
462
|
-
'
|
463
|
-
'
|
464
|
-
'
|
465
|
-
'
|
466
|
-
'
|
467
|
-
'
|
468
|
-
'
|
469
|
-
'
|
470
|
-
'
|
471
|
-
'
|
472
|
-
',,,,
|
473
|
-
'
|
474
|
-
'
|
475
|
-
'
|
476
|
-
',,
|
477
|
-
',,
|
478
|
-
',
|
479
|
-
'22,23,21
|
480
|
-
'
|
474
|
+
'28,,236,,,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86',
|
475
|
+
'33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136',
|
476
|
+
'137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157',
|
477
|
+
'159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97',
|
478
|
+
'98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142',
|
479
|
+
'16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,236,,,159,,,,,,82,70',
|
480
|
+
'71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90,89,91,',
|
481
|
+
',,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,',
|
482
|
+
',,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81,86,96',
|
483
|
+
'97,98,99,,,,90,89,91,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65',
|
484
|
+
'66,77,67,68,69,83,,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78',
|
485
|
+
'80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54',
|
486
|
+
'64,65,66,77,67,68,69,83,,,,,,,,236,,,159,,,,,,82,70,71,72,74,76,75,',
|
487
|
+
',,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62',
|
488
|
+
'79,,63,54,64,65,66,77,67,68,69,83,,,,,,,,236,,,159,,,,,,82,70,71,72',
|
489
|
+
'74,76,75,,,,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59',
|
490
|
+
'60,61,62,79,,63,54,64,65,66,77,67,68,69,83,-244,,,33,,117,,-244,,,312',
|
491
|
+
'313,113,,,,82,70,71,72,74,76,75,,,,73,78,80,,,314,,84,85,81,86,,,,309',
|
492
|
+
'308,-244,,32,33,,117,,-244,,,312,313,113,,-244,,,33,300,117,,-244,,',
|
493
|
+
'312,313,113,,,,,314,,,,,,,,,309,308,,,32,314,,,,,,,,,309,308,,33,32',
|
494
|
+
',318,,,,,,,22,23,21,,26,,25,319,30,,8,12,19,20,9,10,13,14,15,16,17,18',
|
495
|
+
'11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14',
|
496
|
+
'15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
|
497
|
+
'9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
|
498
|
+
',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
|
499
|
+
',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
|
500
|
+
'28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
|
501
|
+
',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
|
502
|
+
'11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
|
503
|
+
'15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,-248,30,,8,12,19',
|
504
|
+
'20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,',
|
505
|
+
'30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
|
506
|
+
'21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
|
507
|
+
',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
|
508
|
+
',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
|
509
|
+
'17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
|
510
|
+
'13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
|
511
|
+
'19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
|
512
|
+
',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
|
513
|
+
'21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
|
514
|
+
',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
|
515
|
+
',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
|
516
|
+
'17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
|
517
|
+
'13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
|
518
|
+
'19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
|
519
|
+
',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
|
520
|
+
'21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
|
521
|
+
',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
|
522
|
+
',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
|
523
|
+
'17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
|
524
|
+
'13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
|
525
|
+
'19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
|
526
|
+
',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
|
527
|
+
'21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
|
528
|
+
',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
|
529
|
+
',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
|
481
530
|
'17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
|
482
531
|
'13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
|
483
532
|
'19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
|
@@ -485,45 +534,12 @@ clist = [
|
|
485
534
|
'21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
|
486
535
|
',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
|
487
536
|
',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
|
488
|
-
'17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25
|
489
|
-
'
|
490
|
-
'
|
491
|
-
',
|
492
|
-
'
|
493
|
-
|
494
|
-
'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
|
495
|
-
'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
|
496
|
-
'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
|
497
|
-
'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
|
498
|
-
',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
|
499
|
-
'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
|
500
|
-
'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
|
501
|
-
'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
|
502
|
-
'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
|
503
|
-
'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
|
504
|
-
'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
|
505
|
-
',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
|
506
|
-
'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
|
507
|
-
'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
|
508
|
-
'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
|
509
|
-
'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
|
510
|
-
'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
|
511
|
-
'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
|
512
|
-
',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
|
513
|
-
'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
|
514
|
-
'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
|
515
|
-
'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
|
516
|
-
'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
|
517
|
-
'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
|
518
|
-
'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
|
519
|
-
',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
|
520
|
-
'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
|
521
|
-
'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
|
522
|
-
'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
|
523
|
-
'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
|
524
|
-
'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
|
525
|
-
'12,19,20,9,10,13,14,15,16,17,18,11,27,,,,,,,,32,,,,28' ]
|
526
|
-
racc_action_table = arr = ::Array.new(3044, nil)
|
537
|
+
'17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
|
538
|
+
'13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
|
539
|
+
'19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
|
540
|
+
',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,174,,,177,,175,,32,324',
|
541
|
+
',,28,,,,,,,,,,,,,,176,,322,328,325,326,327,,,,329' ]
|
542
|
+
racc_action_table = arr = ::Array.new(3142, nil)
|
527
543
|
idx = 0
|
528
544
|
clist.each do |str|
|
529
545
|
str.split(',', -1).each do |i|
|
@@ -533,104 +549,105 @@ clist = [
|
|
533
549
|
end
|
534
550
|
|
535
551
|
clist = [
|
536
|
-
'
|
537
|
-
'
|
538
|
-
'
|
539
|
-
'
|
540
|
-
'
|
541
|
-
'323,
|
542
|
-
'
|
543
|
-
'
|
544
|
-
'
|
545
|
-
'
|
546
|
-
'
|
547
|
-
'
|
548
|
-
'
|
549
|
-
'
|
550
|
-
'
|
551
|
-
'
|
552
|
-
'
|
553
|
-
'
|
554
|
-
'
|
555
|
-
'359,359,359,359,359,359,359,359,
|
556
|
-
'359,359,
|
557
|
-
'359,359,
|
558
|
-
'
|
559
|
-
'
|
560
|
-
'
|
561
|
-
'
|
562
|
-
'
|
563
|
-
'
|
564
|
-
'
|
565
|
-
'
|
566
|
-
'
|
567
|
-
'
|
568
|
-
'
|
569
|
-
'
|
570
|
-
'
|
571
|
-
'
|
572
|
-
'
|
573
|
-
'
|
574
|
-
'
|
575
|
-
'
|
576
|
-
'
|
577
|
-
'
|
578
|
-
'
|
579
|
-
'
|
580
|
-
'
|
581
|
-
'
|
582
|
-
'
|
583
|
-
'
|
584
|
-
'
|
585
|
-
'
|
586
|
-
'
|
587
|
-
'
|
588
|
-
'
|
589
|
-
'
|
590
|
-
',,,,
|
591
|
-
',
|
592
|
-
'
|
593
|
-
'
|
594
|
-
'
|
595
|
-
'
|
596
|
-
'
|
597
|
-
'
|
598
|
-
'
|
599
|
-
'
|
600
|
-
'
|
601
|
-
'
|
602
|
-
'
|
603
|
-
'
|
604
|
-
'
|
605
|
-
'
|
606
|
-
'
|
607
|
-
'
|
608
|
-
'
|
609
|
-
'
|
610
|
-
'
|
611
|
-
'288
|
612
|
-
'
|
613
|
-
'
|
614
|
-
',
|
615
|
-
',
|
616
|
-
',,40,
|
617
|
-
',,
|
618
|
-
'
|
619
|
-
'
|
620
|
-
'
|
621
|
-
'
|
622
|
-
'125
|
623
|
-
'
|
624
|
-
'
|
625
|
-
'158,158
|
626
|
-
'
|
627
|
-
'
|
628
|
-
'166,166,166
|
629
|
-
'
|
630
|
-
'
|
631
|
-
'168,168,168,168
|
632
|
-
'
|
633
|
-
',170,
|
552
|
+
'143,143,48,143,203,203,177,203,205,205,220,205,280,206,206,221,206,207',
|
553
|
+
'207,51,207,116,298,240,240,222,240,123,116,264,183,270,276,291,1,322',
|
554
|
+
'328,329,5,114,271,298,114,48,114,143,143,177,51,203,203,220,123,205',
|
555
|
+
'205,183,221,28,206,206,280,119,207,207,114,271,222,143,240,240,264,203',
|
556
|
+
'270,276,291,205,322,328,329,143,206,324,324,203,207,324,7,205,321,28',
|
557
|
+
'240,323,206,119,160,390,207,324,210,323,44,44,240,390,324,324,324,324',
|
558
|
+
'324,324,324,324,324,321,324,324,324,324,324,324,324,324,324,324,6,6',
|
559
|
+
'160,324,324,324,210,333,324,324,324,47,0,0,0,324,324,324,324,324,324',
|
560
|
+
'324,324,324,324,324,324,324,324,6,383,395,333,324,324,324,324,356,356',
|
561
|
+
'47,47,356,250,24,396,34,27,34,32,250,34,35,34,356,34,383,395,169,169',
|
562
|
+
'34,356,356,356,356,356,356,356,356,356,396,356,356,356,356,356,356,356',
|
563
|
+
'356,356,356,188,188,36,356,356,356,214,214,356,356,356,34,215,215,46',
|
564
|
+
'356,356,356,356,356,356,356,356,356,356,356,356,356,356,216,216,217',
|
565
|
+
'217,356,356,356,356,358,358,218,218,358,34,358,358,358,358,31,31,219',
|
566
|
+
'219,31,87,358,225,225,226,226,227,227,358,358,358,358,358,358,358,358',
|
567
|
+
'358,89,358,358,358,358,358,358,358,358,358,358,267,267,90,358,358,358',
|
568
|
+
'273,273,358,358,358,347,347,363,363,358,358,358,358,358,358,358,358',
|
569
|
+
'358,358,358,358,358,358,364,364,368,368,358,358,358,358,359,359,388',
|
570
|
+
'388,359,91,359,359,359,359,391,391,393,393,397,397,359,417,417,419,419',
|
571
|
+
'420,420,359,359,359,359,359,359,359,359,359,93,359,359,359,359,359,359',
|
572
|
+
'359,359,359,359,94,95,113,359,359,359,115,117,359,359,359,120,121,124',
|
573
|
+
'127,359,359,359,359,359,359,359,359,359,359,359,359,359,359,128,129',
|
574
|
+
'130,131,359,359,359,359,360,360,132,133,360,134,360,360,360,360,135',
|
575
|
+
'136,137,138,139,140,360,141,142,145,146,148,150,360,360,360,360,360',
|
576
|
+
'360,360,360,360,153,360,360,360,360,360,360,360,360,360,360,154,161',
|
577
|
+
'162,360,360,360,163,164,360,360,360,190,208,223,224,360,360,360,360',
|
578
|
+
'360,360,360,360,360,360,360,360,360,360,229,234,245,246,360,360,360',
|
579
|
+
'360,371,371,247,248,371,249,251,252,256,259,261,262,263,277,279,282',
|
580
|
+
'371,284,285,289,312,313,314,371,371,371,371,371,371,371,371,371,325',
|
581
|
+
'371,371,371,371,371,371,371,371,371,371,326,327,332,371,371,371,335',
|
582
|
+
'337,371,371,371,355,357,361,362,371,371,371,371,371,371,371,371,371',
|
583
|
+
'371,371,371,371,371,365,375,377,379,371,371,371,371,384,384,385,386',
|
584
|
+
'384,387,384,384,384,384,389,392,394,399,401,404,384,407,413,421,,,,384',
|
585
|
+
'384,384,384,384,384,384,384,384,,384,384,384,384,384,384,384,384,384',
|
586
|
+
'384,,,,384,384,384,,,384,384,384,,,,,384,384,384,384,384,384,384,384',
|
587
|
+
'384,384,384,384,384,384,,,,,384,384,384,384,416,416,,,416,,,,,,,,,,',
|
588
|
+
',416,,,,,,,416,416,416,416,416,416,416,416,416,,416,416,416,416,416',
|
589
|
+
'416,416,416,416,416,,,,416,416,416,,,416,416,416,,,,,416,416,416,416',
|
590
|
+
'416,416,416,416,416,416,416,416,416,416,,,,,416,416,416,416,49,,,49',
|
591
|
+
'49,49,49,,,,49,49,49,,49,49,49,,49,,49,49,49,49,49,49,49,49,49,49,49',
|
592
|
+
'49,49,49,49,49,49,49,49,49,,49,,,,49,,49,,49,49,,,,,,49,49,49,49,49',
|
593
|
+
'49,49,,,,49,49,49,,,,,49,49,49,49,156,,,156,156,156,156,,,,156,156,156',
|
594
|
+
',156,,156,,156,,156,156,156,156,156,156,156,156,156,156,156,156,156',
|
595
|
+
'156,156,156,156,156,156,156,,156,,,,156,,,,,,,,,,,156,156,156,156,156',
|
596
|
+
'156,156,,,,156,156,156,,,,,156,156,156,156,198,,,198,198,198,198,,,',
|
597
|
+
'198,198,198,,198,198,198,,198,,198,198,198,198,198,198,198,198,198,198',
|
598
|
+
'198,198,198,198,198,198,198,198,198,198,,198,,,,198,,198,,198,198,,',
|
599
|
+
',,,198,198,198,198,198,198,198,,,,198,198,198,,,,,198,198,198,198,199',
|
600
|
+
',,199,199,199,199,,,,199,199,199,,199,199,199,,199,,199,199,199,199',
|
601
|
+
'199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,,199',
|
602
|
+
',,,199,,199,,199,199,,,,,,199,199,199,199,199,199,199,,,,199,199,199',
|
603
|
+
',,,,199,199,199,199,200,,,200,200,200,200,,,,200,200,200,,200,200,200',
|
604
|
+
',200,,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200',
|
605
|
+
'200,200,200,200,,200,,,,200,,200,,,200,,,,,,200,200,200,200,200,200',
|
606
|
+
'200,,,,200,200,200,,,,,200,200,200,200,209,,,209,209,209,209,,,,209',
|
607
|
+
'209,209,,209,209,209,,209,,209,209,209,209,209,209,209,209,209,209,209',
|
608
|
+
'209,209,209,209,209,209,209,209,209,,209,,,,209,,209,,209,209,,,,,,209',
|
609
|
+
'209,209,209,209,209,209,,,,209,209,209,,,,,209,209,209,209,257,,,257',
|
610
|
+
'257,257,257,,,,257,257,257,,257,257,257,,257,,257,257,257,257,257,257',
|
611
|
+
'257,257,257,257,257,257,257,257,257,257,257,257,257,257,,257,,,,257',
|
612
|
+
',257,,,257,,,,,,257,257,257,257,257,257,257,,,,257,257,257,,,,,257,257',
|
613
|
+
'257,257,30,30,30,30,,,,30,30,30,,,,,,,,30,30,30,30,30,30,30,30,30,,30',
|
614
|
+
'30,30,30,30,30,30,30,30,30,,,,,,,,,,,,,,,,,30,30,30,30,30,30,30,,30',
|
615
|
+
'30,30,30,30,,,,,30,30,30,30,165,165,165,165,,,,165,165,165,,,,,,,,165',
|
616
|
+
'165,165,165,165,165,165,165,165,,165,165,165,165,165,165,165,165,165',
|
617
|
+
'165,,,,,,,,,,,,,,,,,165,165,165,165,165,165,165,,165,165,165,165,165',
|
618
|
+
'201,201,201,201,165,165,165,165,,,,,,,,,,201,201,201,201,201,201,201',
|
619
|
+
'201,201,,201,201,201,201,201,201,201,201,201,201,,,,,,,,201,,,201,,',
|
620
|
+
',,,201,201,201,201,201,201,201,,,,201,201,201,202,202,202,202,201,201',
|
621
|
+
'201,201,,,,,,,,,,202,202,202,202,202,202,202,202,202,,202,202,202,202',
|
622
|
+
'202,202,202,202,202,202,,,,,,,,202,,,202,,,,,,202,202,202,202,202,202',
|
623
|
+
'202,,,,202,202,202,236,236,236,236,202,202,202,202,,,,,,,,,,236,236',
|
624
|
+
'236,236,236,236,236,236,236,,236,236,236,236,236,236,236,236,236,236',
|
625
|
+
'281,,,281,,281,,281,,,281,281,281,,,,236,236,236,236,236,236,236,,,',
|
626
|
+
'236,236,236,,,281,,236,236,236,236,,,,281,281,288,,281,288,,288,,288',
|
627
|
+
',,288,288,288,,290,,,290,281,290,,290,,,290,290,290,,,,,288,,,,,,,,',
|
628
|
+
'288,288,,,288,290,,,,,,,,,290,290,,2,290,,288,,,,,,,2,2,2,,2,,2,290',
|
629
|
+
'2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,25,,,,,2,,,,2,25,25,25,,25,,25,25,25',
|
630
|
+
',25,25,25,25,25,25,25,25,25,25,25,25,25,25,,,26,,,,,25,,,,25,26,26,26',
|
631
|
+
',26,,26,,26,,26,26,26,26,26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,',
|
632
|
+
',,26,40,40,40,,40,,40,,40,,40,40,40,40,40,40,40,40,40,40,40,40,40,40',
|
633
|
+
',,41,,,,,40,,,,40,41,41,41,,41,,41,,41,,41,41,41,41,41,41,41,41,41,41',
|
634
|
+
'41,41,41,41,,,43,,,,,41,,,,41,43,43,43,,43,,43,,43,,43,43,43,43,43,43',
|
635
|
+
'43,43,43,43,43,43,43,43,,,53,,,,,43,,,,43,53,53,53,,53,,53,,53,,53,53',
|
636
|
+
'53,53,53,53,53,53,53,53,53,53,53,53,,,92,,,,,53,,,,53,92,92,92,,92,',
|
637
|
+
'92,,92,,92,92,92,92,92,92,92,92,92,92,92,92,92,92,,,125,,,,,92,,,,92',
|
638
|
+
'125,125,125,,125,,125,125,125,,125,125,125,125,125,125,125,125,125,125',
|
639
|
+
'125,125,125,125,,,157,,,,,125,,,,125,157,157,157,,157,,157,,157,,157',
|
640
|
+
'157,157,157,157,157,157,157,157,157,157,157,157,157,,,158,,,,,157,,',
|
641
|
+
',157,158,158,158,,158,,158,,158,,158,158,158,158,158,158,158,158,158',
|
642
|
+
'158,158,158,158,158,,,159,,,,,158,,,,158,159,159,159,,159,,159,,159',
|
643
|
+
',159,159,159,159,159,159,159,159,159,159,159,159,159,159,,,166,,,,,159',
|
644
|
+
',,,159,166,166,166,,166,,166,,166,,166,166,166,166,166,166,166,166,166',
|
645
|
+
'166,166,166,166,166,,,167,,,,,166,,,,166,167,167,167,,167,,167,,167',
|
646
|
+
',167,167,167,167,167,167,167,167,167,167,167,167,167,167,,,168,,,,,167',
|
647
|
+
',,,167,168,168,168,,168,,168,,168,,168,168,168,168,168,168,168,168,168',
|
648
|
+
'168,168,168,168,168,,,170,,,,,168,,,,168,170,170,170,,170,,170,,170',
|
649
|
+
',170,170,170,170,170,170,170,170,170,170,170,170,170,170,,,171,,,,,170',
|
650
|
+
',,,170,171,171,171,,171,,171,,171,,171,171,171,171,171,171,171,171,171',
|
634
651
|
'171,171,171,171,171,,,172,,,,,171,,,,171,172,172,172,,172,,172,,172',
|
635
652
|
',172,172,172,172,172,172,172,172,172,172,172,172,172,172,,,178,,,,,172',
|
636
653
|
',,,172,178,178,178,,178,,178,,178,,178,178,178,178,178,178,178,178,178',
|
@@ -638,36 +655,36 @@ clist = [
|
|
638
655
|
',179,179,179,179,179,179,179,179,179,179,179,179,179,179,,,181,,,,,179',
|
639
656
|
',,,179,181,181,181,,181,,181,,181,,181,181,181,181,181,181,181,181,181',
|
640
657
|
'181,181,181,181,181,,,186,,,,,181,,,,181,186,186,186,,186,,186,,186',
|
641
|
-
',186,186,186,186,186,186,186,186,186,186,186,186,186,186,,,
|
642
|
-
',,,186,
|
643
|
-
'
|
644
|
-
',
|
645
|
-
',,,
|
646
|
-
'
|
647
|
-
',
|
648
|
-
',,,
|
649
|
-
'
|
650
|
-
',315,315,315,315,315,315,315,315,315,315,315,315,315,315,,,
|
651
|
-
',,,315,
|
652
|
-
'
|
653
|
-
',
|
654
|
-
',,,
|
655
|
-
'
|
656
|
-
',
|
657
|
-
',,,
|
658
|
-
'
|
659
|
-
',
|
660
|
-
',,,
|
661
|
-
'
|
662
|
-
',
|
663
|
-
',,,
|
664
|
-
'
|
665
|
-
',
|
666
|
-
',,,
|
667
|
-
'
|
668
|
-
',
|
669
|
-
',,,
|
670
|
-
racc_action_check = arr = ::Array.new(
|
658
|
+
',186,186,186,186,186,186,186,186,186,186,186,186,186,186,,,204,,,,,186',
|
659
|
+
',,,186,204,204,204,,204,,204,,204,,204,204,204,204,204,204,204,204,204',
|
660
|
+
'204,204,204,204,204,,,211,,,,,204,,,,204,211,211,211,,211,,211,,211',
|
661
|
+
',211,211,211,211,211,211,211,211,211,211,211,211,211,211,,,230,,,,,211',
|
662
|
+
',,,211,230,230,230,,230,,230,,230,,230,230,230,230,230,230,230,230,230',
|
663
|
+
'230,230,230,230,230,,,253,,,,,230,,,,230,253,253,253,,253,,253,,253',
|
664
|
+
',253,253,253,253,253,253,253,253,253,253,253,253,253,253,,,292,,,,,253',
|
665
|
+
',,,253,292,292,292,,292,,292,,292,,292,292,292,292,292,292,292,292,292',
|
666
|
+
'292,292,292,292,292,,,315,,,,,292,,,,292,315,315,315,,315,,315,,315',
|
667
|
+
',315,315,315,315,315,315,315,315,315,315,315,315,315,315,,,330,,,,,315',
|
668
|
+
',,,315,330,330,330,,330,,330,,330,,330,330,330,330,330,330,330,330,330',
|
669
|
+
'330,330,330,330,330,,,331,,,,,330,,,,330,331,331,331,,331,,331,,331',
|
670
|
+
',331,331,331,331,331,331,331,331,331,331,331,331,331,331,,,367,,,,,331',
|
671
|
+
',,,331,367,367,367,,367,,367,,367,,367,367,367,367,367,367,367,367,367',
|
672
|
+
'367,367,367,367,367,,,374,,,,,367,,,,367,374,374,374,,374,,374,,374',
|
673
|
+
',374,374,374,374,374,374,374,374,374,374,374,374,374,374,,,376,,,,,374',
|
674
|
+
',,,374,376,376,376,,376,,376,,376,,376,376,376,376,376,376,376,376,376',
|
675
|
+
'376,376,376,376,376,,,378,,,,,376,,,,376,378,378,378,,378,,378,,378',
|
676
|
+
',378,378,378,378,378,378,378,378,378,378,378,378,378,378,,,380,,,,,378',
|
677
|
+
',,,378,380,380,380,,380,,380,,380,,380,380,380,380,380,380,380,380,380',
|
678
|
+
'380,380,380,380,380,,,381,,,,,380,,,,380,381,381,381,,381,,381,,381',
|
679
|
+
',381,381,381,381,381,381,381,381,381,381,381,381,381,381,,,382,,,,,381',
|
680
|
+
',,,381,382,382,382,,382,,382,,382,,382,382,382,382,382,382,382,382,382',
|
681
|
+
'382,382,382,382,382,,,405,,,,,382,,,,382,405,405,405,,405,,405,,405',
|
682
|
+
',405,405,405,405,405,405,405,405,405,405,405,405,405,405,,,408,,,,,405',
|
683
|
+
',,,405,408,408,408,,408,,408,,408,,408,408,408,408,408,408,408,408,408',
|
684
|
+
'408,408,408,408,408,,,409,,,,,408,,,,408,409,409,409,,409,,409,,409',
|
685
|
+
',409,409,409,409,409,409,409,409,409,409,409,409,409,409,299,,,299,',
|
686
|
+
'299,,409,299,,,409,,,,,,,,,,,,,,299,,299,299,299,299,299,,,,299' ]
|
687
|
+
racc_action_check = arr = ::Array.new(3142, nil)
|
671
688
|
idx = 0
|
672
689
|
clist.each do |str|
|
673
690
|
str.split(',', -1).each do |i|
|
@@ -677,537 +694,543 @@ clist = [
|
|
677
694
|
end
|
678
695
|
|
679
696
|
racc_action_pointer = [
|
680
|
-
|
697
|
+
62, 34, 1663, nil, nil, 38, 76, 34, nil, nil,
|
698
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
699
|
+
nil, nil, nil, nil, 146, 1699, 1735, 151, 38, nil,
|
700
|
+
1252, 249, 167, nil, 169, 98, 185, nil, nil, nil,
|
701
|
+
1771, 1807, nil, 1843, 52, nil, 171, 115, -3, 716,
|
702
|
+
nil, -4, nil, 1879, nil, nil, nil, nil, nil, nil,
|
681
703
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
682
|
-
nil, nil, nil, nil, -4, 1626, 1662, 56, -6, nil,
|
683
|
-
1140, 167, 84, nil, 316, 14, 140, nil, nil, nil,
|
684
|
-
1698, 1734, nil, 1770, -27, nil, 121, 52, -2, 604,
|
685
|
-
nil, 101, nil, 1806, nil, nil, nil, nil, nil, nil,
|
686
704
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
705
|
+
nil, nil, nil, nil, nil, nil, nil, 209, nil, 217,
|
706
|
+
230, 270, 1915, 308, 319, 320, nil, nil, nil, nil,
|
687
707
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
688
|
-
nil, nil, nil,
|
689
|
-
|
708
|
+
nil, nil, nil, 352, 3, 325, 19, 326, nil, 42,
|
709
|
+
373, 327, nil, 5, 355, 1951, nil, 358, 391, 374,
|
710
|
+
350, 351, 358, 359, 361, 366, 367, 368, 369, 370,
|
711
|
+
371, 399, 374, -3, nil, 375, 374, nil, 375, nil,
|
712
|
+
376, nil, nil, 386, 397, nil, 793, 1987, 2023, 2059,
|
713
|
+
75, 422, 395, 398, 427, 1326, 2095, 2131, 2167, 133,
|
714
|
+
2203, 2239, 2275, nil, nil, nil, nil, 1, 2311, 2347,
|
715
|
+
nil, 2383, nil, 8, nil, nil, 2419, nil, 156, nil,
|
716
|
+
404, nil, nil, nil, nil, nil, nil, nil, 870, 947,
|
717
|
+
1024, 1392, 1458, 1, 2455, 5, 10, 14, 432, 1101,
|
718
|
+
79, 2491, nil, nil, 162, 168, 185, 187, 195, 205,
|
719
|
+
5, 10, 20, 400, 455, 210, 212, 214, nil, 471,
|
720
|
+
2527, nil, nil, nil, 427, nil, 1524, nil, nil, nil,
|
721
|
+
20, nil, nil, nil, nil, 455, 452, 431, 463, 465,
|
722
|
+
164, 466, 482, 2563, nil, nil, 437, 1178, nil, 439,
|
723
|
+
nil, 431, 412, 448, 24, nil, nil, 236, nil, nil,
|
724
|
+
26, 18, nil, 212, nil, nil, 27, 447, nil, 474,
|
725
|
+
-2, 1567, 475, nil, 418, 497, nil, nil, 1609, 453,
|
726
|
+
1623, 28, 2599, nil, nil, nil, nil, nil, -22, 3070,
|
690
727
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
691
|
-
nil, nil,
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
nil, nil,
|
702
|
-
|
703
|
-
nil, nil, 465, nil, 1412, nil, nil, nil, 1459, nil,
|
704
|
-
nil, nil, nil, 493, 490, 463, 511, 517, 27, 518,
|
705
|
-
534, 2490, nil, nil, 489, 1066, nil, 491, nil, 483,
|
706
|
-
464, 501, 500, nil, 527, nil, nil, 303, nil, nil,
|
707
|
-
38, 132, nil, 279, nil, nil, 52, 1506, 77, 2526,
|
708
|
-
-8, 1528, 528, nil, 470, 548, nil, nil, 1550, 514,
|
709
|
-
1537, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
710
|
-
nil, nil, nil, 527, 528, 516, nil, 154, nil, nil,
|
711
|
-
nil, nil, nil, 168, nil, 2562, nil, nil, nil, 545,
|
712
|
-
546, 550, 87, 88, 89, -62, -2, 2598, 2634, 572,
|
713
|
-
nil, 155, 527, 77, 156, 235, 565, 580, 581, nil,
|
714
|
-
563, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
715
|
-
311, nil, nil, nil, nil, nil, nil, nil, 546, 306,
|
716
|
-
340, 342, 565, nil, nil, 2670, 592, 2706, 597, 2742,
|
717
|
-
598, 2778, 2814, 2850, 363, nil, nil, 377, nil, 2886,
|
718
|
-
350, 573, 0, 352, 577, 374, 581, 156, 168, 185,
|
719
|
-
456, 570, 591, 618, 380, 2922, nil, 632, 2958, 2994,
|
720
|
-
nil, nil, nil, 594, nil, 610, nil, nil, 599, 385,
|
721
|
-
nil, 387, 403, nil, 612, nil, nil, 527, 602, nil,
|
722
|
-
nil ]
|
728
|
+
nil, nil, 456, 457, 445, 2635, nil, nil, nil, nil,
|
729
|
+
nil, 66, 30, 18, 79, 480, 491, 492, 31, 32,
|
730
|
+
2671, 2707, 514, 109, nil, 509, nil, 491, nil, nil,
|
731
|
+
nil, nil, nil, nil, nil, nil, nil, 243, nil, nil,
|
732
|
+
nil, nil, nil, nil, nil, 477, 159, 478, 239, 319,
|
733
|
+
399, 516, 517, 249, 265, 508, nil, 2743, 282, nil,
|
734
|
+
nil, 479, nil, nil, 2779, 535, 2815, 536, 2851, 537,
|
735
|
+
2887, 2923, 2959, 132, 559, 505, 506, 533, 275, 526,
|
736
|
+
83, 283, 527, 285, 528, 133, 146, 287, nil, 515,
|
737
|
+
nil, 530, nil, nil, 518, 2995, nil, 558, 3031, 3067,
|
738
|
+
nil, nil, nil, 531, nil, nil, 639, 290, nil, 292,
|
739
|
+
294, 521, nil, nil ]
|
723
740
|
|
724
741
|
racc_action_default = [
|
725
|
-
-
|
742
|
+
-250, -250, -244, -6, -15, -250, -4, -157, -160, -161,
|
726
743
|
-162, -163, -164, -165, -166, -167, -168, -169, -170, -171,
|
727
|
-
-172, -173, -174, -175, -176, -
|
728
|
-
-
|
729
|
-
-
|
730
|
-
-182, -
|
744
|
+
-172, -173, -174, -175, -176, -244, -244, -250, -80, -184,
|
745
|
+
-250, -250, -245, -247, -16, -4, -147, 424, -1, -5,
|
746
|
+
-244, -244, -183, -244, -185, -178, -249, -250, -244, -244,
|
747
|
+
-182, -250, -204, -244, -104, -105, -106, -107, -108, -109,
|
731
748
|
-110, -111, -112, -113, -114, -115, -116, -117, -118, -119,
|
732
749
|
-120, -121, -122, -123, -124, -125, -126, -127, -128, -129,
|
733
|
-
-130, -131, -132, -133, -134, -135, -136, -
|
734
|
-
-
|
735
|
-
-
|
736
|
-
-11, -12, -13, -16, -
|
737
|
-
-
|
750
|
+
-130, -131, -132, -133, -134, -135, -136, -249, -188, -250,
|
751
|
+
-250, -250, -244, -250, -250, -250, -199, -200, -201, -202,
|
752
|
+
-237, -238, -239, -240, -246, -2, -7, -8, -9, -10,
|
753
|
+
-11, -12, -13, -16, -250, -250, -250, -250, -3, -80,
|
754
|
+
-250, -158, -159, -250, -250, -244, -180, -250, -250, -250,
|
738
755
|
-170, -160, -164, -171, -172, -161, -162, -165, -166, -169,
|
739
|
-
-163, -115, -167, -231, -197, -
|
740
|
-
-214, -215, -218, -221, -223, -224, -
|
741
|
-
-
|
742
|
-
-
|
743
|
-
-
|
744
|
-
-81, -225, -232, -233, -234, -
|
745
|
-
-
|
746
|
-
-187, -189, -190, -191, -192, -194, -195, -196,
|
747
|
-
-
|
748
|
-
-215, -210, -217, -213, -
|
749
|
-
-228, -230, -82, -
|
750
|
-
-
|
751
|
-
|
752
|
-
-
|
753
|
-
-16, -16, -20, -138, -145, -
|
754
|
-
-
|
755
|
-
-
|
756
|
-
-
|
757
|
-
-
|
758
|
-
|
759
|
-
|
760
|
-
-
|
761
|
-
|
762
|
-
-
|
763
|
-
|
764
|
-
-
|
765
|
-
-
|
766
|
-
-
|
767
|
-
-78 ]
|
756
|
+
-163, -115, -167, -231, -197, -250, -208, -209, -211, -212,
|
757
|
+
-214, -215, -218, -221, -223, -224, -244, -244, -244, -244,
|
758
|
+
-250, -250, -250, -206, -250, -248, -244, -244, -244, -193,
|
759
|
+
-244, -244, -244, -17, -14, -14, -14, -244, -244, -244,
|
760
|
+
-242, -244, -79, -250, -149, -177, -244, -179, -186, -181,
|
761
|
+
-81, -225, -232, -233, -234, -235, -236, -198, -244, -244,
|
762
|
+
-244, -219, -219, -231, -244, -231, -231, -231, -250, -244,
|
763
|
+
-250, -244, -187, -189, -190, -191, -192, -194, -195, -196,
|
764
|
+
-244, -244, -244, -250, -250, -154, -155, -156, -148, -250,
|
765
|
+
-244, -207, -215, -210, -217, -213, -250, -220, -222, -226,
|
766
|
+
-231, -227, -228, -230, -82, -250, -250, -203, -137, -137,
|
767
|
+
-250, -137, -250, -244, -243, -150, -205, -244, -229, -250,
|
768
|
+
-83, -19, -145, -24, -244, -57, -241, -153, -216, -30,
|
769
|
+
-244, -250, -139, -142, -146, -30, -244, -30, -26, -29,
|
770
|
+
-16, -16, -20, -138, -145, -250, -143, -144, -16, -25,
|
771
|
+
-16, -244, -244, -56, -58, -59, -60, -61, -71, -71,
|
772
|
+
-18, -31, -32, -33, -34, -35, -36, -37, -38, -39,
|
773
|
+
-40, -41, -250, -250, -250, -244, -140, -141, -22, -23,
|
774
|
+
-27, -250, -244, -68, -250, -42, -42, -42, -244, -244,
|
775
|
+
-244, -244, -250, -250, -28, -62, -69, -250, -72, -86,
|
776
|
+
-87, -88, -89, -90, -91, -92, -93, -94, -97, -98,
|
777
|
+
-99, -100, -101, -102, -103, -129, -250, -250, -250, -250,
|
778
|
+
-250, -64, -66, -53, -54, -250, -21, -244, -73, -95,
|
779
|
+
-96, -250, -151, -43, -244, -50, -244, -50, -244, -50,
|
780
|
+
-244, -244, -244, -250, -250, -250, -250, -250, -44, -250,
|
781
|
+
-250, -46, -250, -48, -250, -250, -250, -55, -63, -15,
|
782
|
+
-84, -250, -74, -75, -250, -244, -51, -250, -244, -244,
|
783
|
+
-65, -67, -70, -76, -77, -85, -250, -45, -52, -47,
|
784
|
+
-49, -15, -152, -78 ]
|
768
785
|
|
769
786
|
racc_goto_table = [
|
770
|
-
6,
|
771
|
-
50,
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
169,
|
780
|
-
nil,
|
781
|
-
nil, nil, nil,
|
787
|
+
6, 46, 116, 88, 93, 163, 114, 92, 127, 191,
|
788
|
+
356, 129, 50, 204, 208, 232, 128, 235, 124, 123,
|
789
|
+
234, 234, 279, 38, 47, 277, 412, 281, 272, 261,
|
790
|
+
263, 1, 265, 288, 279, 290, 34, 289, 121, 122,
|
791
|
+
237, 238, 372, 35, 375, 377, 379, 143, 423, 279,
|
792
|
+
316, 105, 118, 106, 389, 269, 392, 387, 394, 164,
|
793
|
+
220, 221, 222, 275, 246, 358, 359, 360, 320, 239,
|
794
|
+
401, 241, 242, 243, 268, 295, 296, 297, 234, 251,
|
795
|
+
335, 280, 294, 337, 384, 173, 361, 362, 399, 119,
|
796
|
+
169, 162, 271, 204, 285, 183, 223, 87, 233, 100,
|
797
|
+
nil, nil, 422, 182, nil, nil, 258, nil, nil, nil,
|
798
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
782
799
|
nil, nil, nil, 188, nil, nil, nil, nil, nil, nil,
|
783
|
-
nil, nil, nil, nil, nil, nil,
|
784
|
-
nil, nil,
|
785
|
-
nil, nil, nil, nil,
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
800
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 213, 93,
|
801
|
+
nil, nil, 92, nil, nil, 224, nil, nil, nil, nil,
|
802
|
+
nil, nil, nil, nil, 203, 205, 206, 207, nil, nil,
|
803
|
+
231, nil, nil, 247, 214, 215, 216, nil, 217, 218,
|
804
|
+
219, 245, nil, nil, nil, nil, 225, 226, nil, 227,
|
805
|
+
248, 249, 256, nil, 188, nil, nil, nil, 128, 250,
|
806
|
+
252, nil, nil, nil, nil, nil, 143, 143, 143, nil,
|
807
|
+
nil, nil, 240, nil, nil, nil, nil, 143, nil, nil,
|
791
808
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
792
|
-
nil, nil, nil, nil, 282, nil, nil, nil, nil, nil,
|
793
809
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
794
|
-
|
795
|
-
nil, nil,
|
810
|
+
282, nil, nil, nil, nil, nil, nil, nil, 128, nil,
|
811
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 116,
|
812
|
+
nil, 267, 298, nil, nil, 143, 116, nil, 116, nil,
|
813
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 321, nil,
|
796
814
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
797
815
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
816
|
+
nil, 333, nil, nil, nil, nil, nil, nil, 354, nil,
|
798
817
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
799
|
-
nil, nil, nil, 331, nil, nil, nil, 357, nil, nil,
|
800
|
-
nil, nil, nil, nil, 357, 357, 357, 365, 367, 369,
|
801
818
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
802
|
-
nil, nil, nil, nil, nil,
|
803
|
-
|
804
|
-
nil, nil, nil,
|
805
|
-
|
806
|
-
nil,
|
807
|
-
nil, nil,
|
808
|
-
|
809
|
-
nil, nil, nil,
|
819
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 363, 364,
|
820
|
+
354, nil, 354, 354, 354, 374, 376, 378, nil, nil,
|
821
|
+
nil, nil, nil, 383, nil, 354, nil, nil, nil, nil,
|
822
|
+
nil, nil, nil, nil, nil, nil, 395, 396, 354, nil,
|
823
|
+
nil, 400, nil, nil, nil, nil, nil, nil, nil, nil,
|
824
|
+
nil, nil, 388, nil, 391, nil, 393, nil, nil, nil,
|
825
|
+
397, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
826
|
+
354, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
827
|
+
nil, nil, nil, 417, nil, nil, 419, 420 ]
|
810
828
|
|
811
829
|
racc_goto_check = [
|
812
|
-
2,
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
2,
|
822
|
-
nil,
|
823
|
-
nil, nil, nil,
|
830
|
+
2, 20, 22, 64, 53, 60, 15, 35, 16, 76,
|
831
|
+
36, 49, 47, 65, 51, 71, 22, 71, 61, 20,
|
832
|
+
66, 66, 25, 3, 2, 23, 45, 19, 55, 17,
|
833
|
+
17, 1, 17, 19, 25, 19, 4, 23, 2, 2,
|
834
|
+
72, 72, 36, 5, 36, 36, 36, 2, 45, 25,
|
835
|
+
55, 3, 3, 6, 37, 18, 37, 36, 37, 61,
|
836
|
+
13, 13, 13, 21, 51, 34, 34, 34, 24, 76,
|
837
|
+
36, 76, 76, 76, 71, 27, 28, 33, 66, 38,
|
838
|
+
25, 39, 40, 41, 43, 15, 25, 25, 44, 46,
|
839
|
+
2, 50, 54, 65, 57, 58, 59, 63, 67, 77,
|
840
|
+
nil, nil, 36, 47, nil, nil, 76, nil, nil, nil,
|
841
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
824
842
|
nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
|
825
|
-
nil, nil, nil, nil, nil, nil,
|
826
|
-
nil, nil,
|
843
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 64, 53,
|
844
|
+
nil, nil, 35, nil, nil, 22, nil, nil, nil, nil,
|
827
845
|
nil, nil, nil, nil, 2, 2, 2, 2, nil, nil,
|
828
|
-
|
829
|
-
2,
|
830
|
-
|
831
|
-
|
832
|
-
2, nil, nil, nil, nil, 2, nil, nil,
|
846
|
+
49, nil, nil, 60, 2, 2, 2, nil, 2, 2,
|
847
|
+
2, 49, nil, nil, nil, nil, 2, 2, nil, 2,
|
848
|
+
16, 16, 60, nil, 2, nil, nil, nil, 22, 22,
|
849
|
+
22, nil, nil, nil, nil, nil, 2, 2, 2, nil,
|
850
|
+
nil, nil, 2, nil, nil, nil, nil, 2, nil, nil,
|
833
851
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
834
|
-
nil, nil, nil, nil, 16, nil, nil, nil, nil, nil,
|
835
852
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
836
|
-
nil,
|
837
|
-
nil, nil,
|
853
|
+
16, nil, nil, nil, nil, nil, nil, nil, 22, nil,
|
854
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 22,
|
855
|
+
nil, 2, 15, nil, nil, 2, 22, nil, 22, nil,
|
856
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 20, nil,
|
838
857
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
839
858
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
859
|
+
nil, 20, nil, nil, nil, nil, nil, nil, 53, nil,
|
840
860
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
841
|
-
nil, nil, nil, 20, nil, nil, nil, 52, nil, nil,
|
842
|
-
nil, nil, nil, nil, 52, 52, 52, 34, 34, 34,
|
843
861
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
844
|
-
nil, nil, nil, nil, nil,
|
845
|
-
|
846
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
847
|
-
|
848
|
-
nil,
|
849
|
-
nil, nil,
|
850
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
862
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 2, 2,
|
863
|
+
53, nil, 53, 53, 53, 35, 35, 35, nil, nil,
|
864
|
+
nil, nil, nil, 20, nil, 53, nil, nil, nil, nil,
|
865
|
+
nil, nil, nil, nil, nil, nil, 20, 20, 53, nil,
|
866
|
+
nil, 35, nil, nil, nil, nil, nil, nil, nil, nil,
|
867
|
+
nil, nil, 2, nil, 2, nil, 2, nil, nil, nil,
|
868
|
+
2, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
869
|
+
53, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
851
870
|
nil, nil, nil, 2, nil, nil, 2, 2 ]
|
852
871
|
|
853
872
|
racc_goto_pointer = [
|
854
|
-
nil,
|
855
|
-
nil, nil, nil, -
|
856
|
-
-
|
857
|
-
nil, nil, -
|
858
|
-
-
|
859
|
-
-
|
860
|
-
-
|
861
|
-
nil, -
|
873
|
+
nil, 31, -2, 17, 33, 39, 19, nil, nil, nil,
|
874
|
+
nil, nil, nil, -114, nil, -28, -40, -219, -206, -242,
|
875
|
+
-24, -200, -32, -239, -223, -242, nil, -205, -204, nil,
|
876
|
+
nil, nil, nil, -203, -260, -23, -314, -321, -143, -184,
|
877
|
+
-198, -240, nil, -284, -296, -373, 53, -16, nil, -38,
|
878
|
+
40, -146, nil, -26, -170, -234, nil, -179, -25, -81,
|
879
|
+
-48, -28, nil, 67, -27, -143, -179, -101, nil, nil,
|
880
|
+
nil, -183, -161, nil, nil, nil, -134, 68 ]
|
862
881
|
|
863
882
|
racc_goto_default = [
|
864
|
-
nil, nil, 44, nil, nil,
|
865
|
-
110, 111, 112, nil, 36,
|
866
|
-
nil, nil, nil,
|
867
|
-
|
868
|
-
nil,
|
869
|
-
52,
|
883
|
+
nil, nil, 44, nil, nil, 413, 311, 107, 108, 109,
|
884
|
+
110, 111, 112, nil, 36, 299, 115, nil, nil, nil,
|
885
|
+
nil, nil, 31, nil, 278, 24, 301, 302, 303, 304,
|
886
|
+
305, 306, 307, 310, nil, 144, nil, nil, nil, nil,
|
887
|
+
nil, nil, 323, nil, nil, nil, nil, nil, 51, nil,
|
888
|
+
nil, 52, 347, 145, nil, nil, 273, nil, nil, nil,
|
870
889
|
7, nil, 29, nil, nil, 158, 146, 147, 148, 149,
|
871
890
|
150, 151, 152, 153, 154, 155, nil, nil ]
|
872
891
|
|
873
892
|
racc_reduce_table = [
|
874
893
|
0, 0, :racc_error,
|
875
|
-
3,
|
876
|
-
3,
|
877
|
-
3,
|
878
|
-
0,
|
879
|
-
1,
|
880
|
-
0,
|
881
|
-
2,
|
882
|
-
1,
|
883
|
-
1,
|
884
|
-
1,
|
885
|
-
1,
|
886
|
-
1,
|
887
|
-
1,
|
888
|
-
0,
|
889
|
-
0,
|
890
|
-
0,
|
891
|
-
2,
|
892
|
-
8,
|
893
|
-
0,
|
894
|
-
2,
|
895
|
-
5,
|
896
|
-
8,
|
897
|
-
|
898
|
-
0,
|
899
|
-
2,
|
900
|
-
1,
|
901
|
-
3,
|
902
|
-
4,
|
903
|
-
1,
|
904
|
-
0,
|
905
|
-
2,
|
906
|
-
1,
|
907
|
-
1,
|
908
|
-
1,
|
909
|
-
1,
|
910
|
-
1,
|
911
|
-
1,
|
912
|
-
1,
|
913
|
-
1,
|
914
|
-
1,
|
915
|
-
1,
|
916
|
-
0,
|
917
|
-
2,
|
918
|
-
5,
|
919
|
-
7,
|
920
|
-
5,
|
921
|
-
7,
|
922
|
-
5,
|
923
|
-
7,
|
924
|
-
0,
|
925
|
-
2,
|
926
|
-
3,
|
927
|
-
3,
|
928
|
-
3,
|
929
|
-
5,
|
930
|
-
7,
|
931
|
-
0,
|
932
|
-
2,
|
933
|
-
1,
|
934
|
-
1,
|
935
|
-
1,
|
936
|
-
3,
|
937
|
-
6,
|
938
|
-
3,
|
939
|
-
6,
|
940
|
-
3,
|
941
|
-
6,
|
942
|
-
0,
|
943
|
-
1,
|
944
|
-
7,
|
945
|
-
0,
|
946
|
-
2,
|
947
|
-
0,
|
948
|
-
2,
|
949
|
-
2,
|
950
|
-
1,
|
951
|
-
1,
|
952
|
-
3,
|
953
|
-
3,
|
954
|
-
0,
|
955
|
-
3,
|
956
|
-
3,
|
957
|
-
4,
|
958
|
-
1,
|
959
|
-
2,
|
960
|
-
1,
|
961
|
-
1,
|
962
|
-
1,
|
963
|
-
1,
|
964
|
-
1,
|
965
|
-
1,
|
966
|
-
1,
|
967
|
-
1,
|
968
|
-
1,
|
969
|
-
2,
|
970
|
-
2,
|
971
|
-
1,
|
972
|
-
1,
|
973
|
-
1,
|
974
|
-
1,
|
975
|
-
1,
|
976
|
-
1,
|
977
|
-
1,
|
978
|
-
1,
|
979
|
-
1,
|
980
|
-
1,
|
981
|
-
1,
|
982
|
-
1,
|
983
|
-
1,
|
984
|
-
1,
|
985
|
-
1,
|
986
|
-
1,
|
987
|
-
1,
|
988
|
-
1,
|
989
|
-
1,
|
990
|
-
1,
|
991
|
-
1,
|
992
|
-
1,
|
993
|
-
1,
|
994
|
-
1,
|
995
|
-
1,
|
996
|
-
1,
|
997
|
-
1,
|
998
|
-
1,
|
999
|
-
1,
|
1000
|
-
1,
|
1001
|
-
1,
|
1002
|
-
1,
|
1003
|
-
1,
|
1004
|
-
1,
|
1005
|
-
1,
|
1006
|
-
1,
|
1007
|
-
1,
|
1008
|
-
1,
|
1009
|
-
1,
|
1010
|
-
1,
|
1011
|
-
0,
|
1012
|
-
3,
|
1013
|
-
1,
|
1014
|
-
3,
|
1015
|
-
3,
|
1016
|
-
0,
|
1017
|
-
1,
|
1018
|
-
1,
|
1019
|
-
0,
|
1020
|
-
1,
|
1021
|
-
0,
|
1022
|
-
3,
|
1023
|
-
1,
|
1024
|
-
3,
|
1025
|
-
4,
|
1026
|
-
8,
|
1027
|
-
5,
|
1028
|
-
3,
|
1029
|
-
3,
|
1030
|
-
3,
|
1031
|
-
1,
|
1032
|
-
3,
|
1033
|
-
3,
|
1034
|
-
1,
|
1035
|
-
1,
|
1036
|
-
1,
|
1037
|
-
1,
|
1038
|
-
1,
|
1039
|
-
1,
|
1040
|
-
1,
|
1041
|
-
1,
|
1042
|
-
1,
|
1043
|
-
1,
|
1044
|
-
1,
|
1045
|
-
1,
|
1046
|
-
1,
|
1047
|
-
1,
|
1048
|
-
1,
|
1049
|
-
1,
|
1050
|
-
1,
|
1051
|
-
4,
|
1052
|
-
2,
|
1053
|
-
4,
|
1054
|
-
3,
|
1055
|
-
4,
|
1056
|
-
2,
|
1057
|
-
2,
|
1058
|
-
1,
|
1059
|
-
1,
|
1060
|
-
3,
|
1061
|
-
4,
|
1062
|
-
1,
|
1063
|
-
3,
|
1064
|
-
3,
|
1065
|
-
3,
|
1066
|
-
3,
|
1067
|
-
2,
|
1068
|
-
3,
|
1069
|
-
3,
|
1070
|
-
3,
|
1071
|
-
1, 146, :_reduce_none,
|
1072
|
-
2, 146, :_reduce_198,
|
1073
|
-
1, 115, :_reduce_none,
|
1074
|
-
1, 115, :_reduce_none,
|
1075
|
-
1, 115, :_reduce_none,
|
1076
|
-
1, 115, :_reduce_none,
|
1077
|
-
4, 127, :_reduce_203,
|
1078
|
-
1, 127, :_reduce_204,
|
1079
|
-
5, 131, :_reduce_205,
|
1080
|
-
2, 131, :_reduce_206,
|
1081
|
-
3, 129, :_reduce_207,
|
1082
|
-
1, 129, :_reduce_208,
|
1083
|
-
1, 129, :_reduce_none,
|
1084
|
-
3, 148, :_reduce_210,
|
1085
|
-
1, 148, :_reduce_211,
|
894
|
+
3, 84, :_reduce_1,
|
895
|
+
3, 84, :_reduce_2,
|
896
|
+
3, 84, :_reduce_3,
|
897
|
+
0, 86, :_reduce_none,
|
898
|
+
1, 86, :_reduce_none,
|
899
|
+
0, 87, :_reduce_6,
|
900
|
+
2, 87, :_reduce_7,
|
901
|
+
1, 89, :_reduce_none,
|
902
|
+
1, 89, :_reduce_none,
|
903
|
+
1, 89, :_reduce_none,
|
904
|
+
1, 89, :_reduce_none,
|
905
|
+
1, 89, :_reduce_none,
|
906
|
+
1, 89, :_reduce_none,
|
907
|
+
0, 96, :_reduce_14,
|
908
|
+
0, 97, :_reduce_15,
|
909
|
+
0, 98, :_reduce_16,
|
910
|
+
2, 98, :_reduce_17,
|
911
|
+
8, 95, :_reduce_18,
|
912
|
+
0, 101, :_reduce_19,
|
913
|
+
2, 101, :_reduce_20,
|
914
|
+
5, 101, :_reduce_21,
|
915
|
+
8, 94, :_reduce_22,
|
916
|
+
8, 94, :_reduce_23,
|
917
|
+
0, 104, :_reduce_24,
|
918
|
+
2, 104, :_reduce_25,
|
919
|
+
1, 106, :_reduce_26,
|
920
|
+
3, 106, :_reduce_27,
|
921
|
+
4, 107, :_reduce_28,
|
922
|
+
1, 107, :_reduce_29,
|
923
|
+
0, 102, :_reduce_30,
|
924
|
+
2, 102, :_reduce_31,
|
925
|
+
1, 109, :_reduce_none,
|
926
|
+
1, 109, :_reduce_none,
|
927
|
+
1, 109, :_reduce_none,
|
928
|
+
1, 109, :_reduce_none,
|
929
|
+
1, 109, :_reduce_none,
|
930
|
+
1, 109, :_reduce_none,
|
931
|
+
1, 109, :_reduce_38,
|
932
|
+
1, 109, :_reduce_39,
|
933
|
+
1, 109, :_reduce_none,
|
934
|
+
1, 109, :_reduce_none,
|
935
|
+
0, 117, :_reduce_42,
|
936
|
+
2, 117, :_reduce_43,
|
937
|
+
5, 115, :_reduce_44,
|
938
|
+
7, 115, :_reduce_45,
|
939
|
+
5, 115, :_reduce_46,
|
940
|
+
7, 115, :_reduce_47,
|
941
|
+
5, 115, :_reduce_48,
|
942
|
+
7, 115, :_reduce_49,
|
943
|
+
0, 120, :_reduce_50,
|
944
|
+
2, 120, :_reduce_51,
|
945
|
+
3, 120, :_reduce_52,
|
946
|
+
3, 114, :_reduce_53,
|
947
|
+
3, 114, :_reduce_54,
|
948
|
+
5, 114, :_reduce_55,
|
949
|
+
7, 93, :_reduce_56,
|
950
|
+
0, 122, :_reduce_57,
|
951
|
+
2, 122, :_reduce_58,
|
952
|
+
1, 123, :_reduce_59,
|
953
|
+
1, 123, :_reduce_60,
|
954
|
+
1, 123, :_reduce_none,
|
955
|
+
3, 111, :_reduce_62,
|
956
|
+
6, 111, :_reduce_63,
|
957
|
+
3, 112, :_reduce_64,
|
958
|
+
6, 112, :_reduce_65,
|
959
|
+
3, 113, :_reduce_66,
|
960
|
+
6, 113, :_reduce_67,
|
961
|
+
0, 124, :_reduce_68,
|
962
|
+
1, 124, :_reduce_69,
|
963
|
+
7, 110, :_reduce_70,
|
964
|
+
0, 125, :_reduce_none,
|
965
|
+
2, 125, :_reduce_72,
|
966
|
+
0, 126, :_reduce_73,
|
967
|
+
2, 126, :_reduce_74,
|
968
|
+
2, 126, :_reduce_75,
|
969
|
+
1, 128, :_reduce_76,
|
970
|
+
1, 128, :_reduce_77,
|
971
|
+
3, 128, :_reduce_78,
|
972
|
+
3, 88, :_reduce_79,
|
973
|
+
0, 131, :_reduce_80,
|
974
|
+
3, 131, :_reduce_81,
|
975
|
+
3, 133, :_reduce_82,
|
976
|
+
4, 133, :_reduce_83,
|
977
|
+
1, 127, :_reduce_84,
|
978
|
+
2, 127, :_reduce_85,
|
979
|
+
1, 119, :_reduce_none,
|
980
|
+
1, 119, :_reduce_none,
|
981
|
+
1, 119, :_reduce_none,
|
982
|
+
1, 119, :_reduce_none,
|
983
|
+
1, 119, :_reduce_none,
|
984
|
+
1, 119, :_reduce_none,
|
985
|
+
1, 119, :_reduce_none,
|
986
|
+
1, 119, :_reduce_none,
|
987
|
+
1, 119, :_reduce_none,
|
988
|
+
2, 119, :_reduce_95,
|
989
|
+
2, 119, :_reduce_96,
|
990
|
+
1, 119, :_reduce_none,
|
991
|
+
1, 119, :_reduce_none,
|
992
|
+
1, 119, :_reduce_none,
|
993
|
+
1, 135, :_reduce_none,
|
994
|
+
1, 135, :_reduce_none,
|
995
|
+
1, 135, :_reduce_none,
|
996
|
+
1, 135, :_reduce_none,
|
997
|
+
1, 136, :_reduce_none,
|
998
|
+
1, 136, :_reduce_none,
|
999
|
+
1, 136, :_reduce_none,
|
1000
|
+
1, 136, :_reduce_none,
|
1001
|
+
1, 136, :_reduce_none,
|
1002
|
+
1, 136, :_reduce_none,
|
1003
|
+
1, 136, :_reduce_none,
|
1004
|
+
1, 136, :_reduce_none,
|
1005
|
+
1, 136, :_reduce_none,
|
1006
|
+
1, 136, :_reduce_none,
|
1007
|
+
1, 136, :_reduce_none,
|
1008
|
+
1, 136, :_reduce_none,
|
1009
|
+
1, 136, :_reduce_none,
|
1010
|
+
1, 136, :_reduce_none,
|
1011
|
+
1, 136, :_reduce_none,
|
1012
|
+
1, 136, :_reduce_none,
|
1013
|
+
1, 136, :_reduce_none,
|
1014
|
+
1, 136, :_reduce_none,
|
1015
|
+
1, 136, :_reduce_none,
|
1016
|
+
1, 136, :_reduce_none,
|
1017
|
+
1, 136, :_reduce_none,
|
1018
|
+
1, 136, :_reduce_none,
|
1019
|
+
1, 136, :_reduce_none,
|
1020
|
+
1, 136, :_reduce_none,
|
1021
|
+
1, 136, :_reduce_none,
|
1022
|
+
1, 136, :_reduce_none,
|
1023
|
+
1, 136, :_reduce_none,
|
1024
|
+
1, 136, :_reduce_none,
|
1025
|
+
1, 136, :_reduce_none,
|
1026
|
+
1, 136, :_reduce_none,
|
1027
|
+
1, 136, :_reduce_none,
|
1028
|
+
1, 136, :_reduce_none,
|
1029
|
+
1, 136, :_reduce_none,
|
1030
|
+
0, 100, :_reduce_137,
|
1031
|
+
3, 100, :_reduce_138,
|
1032
|
+
1, 137, :_reduce_139,
|
1033
|
+
3, 137, :_reduce_140,
|
1034
|
+
3, 138, :_reduce_141,
|
1035
|
+
0, 140, :_reduce_142,
|
1036
|
+
1, 140, :_reduce_143,
|
1037
|
+
1, 140, :_reduce_144,
|
1038
|
+
0, 139, :_reduce_145,
|
1039
|
+
1, 139, :_reduce_146,
|
1040
|
+
0, 129, :_reduce_147,
|
1041
|
+
3, 129, :_reduce_148,
|
1042
|
+
1, 141, :_reduce_149,
|
1043
|
+
3, 141, :_reduce_150,
|
1044
|
+
4, 116, :_reduce_151,
|
1045
|
+
8, 116, :_reduce_152,
|
1046
|
+
5, 90, :_reduce_153,
|
1047
|
+
3, 91, :_reduce_154,
|
1048
|
+
3, 91, :_reduce_155,
|
1049
|
+
3, 92, :_reduce_156,
|
1050
|
+
1, 85, :_reduce_none,
|
1051
|
+
3, 85, :_reduce_158,
|
1052
|
+
3, 85, :_reduce_159,
|
1053
|
+
1, 143, :_reduce_160,
|
1054
|
+
1, 143, :_reduce_161,
|
1055
|
+
1, 143, :_reduce_162,
|
1056
|
+
1, 143, :_reduce_163,
|
1057
|
+
1, 143, :_reduce_164,
|
1058
|
+
1, 143, :_reduce_165,
|
1059
|
+
1, 143, :_reduce_166,
|
1060
|
+
1, 143, :_reduce_167,
|
1061
|
+
1, 143, :_reduce_168,
|
1062
|
+
1, 143, :_reduce_169,
|
1063
|
+
1, 143, :_reduce_170,
|
1064
|
+
1, 143, :_reduce_171,
|
1065
|
+
1, 143, :_reduce_172,
|
1066
|
+
1, 143, :_reduce_173,
|
1067
|
+
1, 143, :_reduce_174,
|
1068
|
+
1, 143, :_reduce_175,
|
1069
|
+
1, 143, :_reduce_176,
|
1070
|
+
4, 143, :_reduce_177,
|
1071
|
+
2, 143, :_reduce_178,
|
1072
|
+
4, 143, :_reduce_179,
|
1073
|
+
3, 143, :_reduce_180,
|
1074
|
+
4, 143, :_reduce_181,
|
1075
|
+
2, 143, :_reduce_182,
|
1076
|
+
2, 143, :_reduce_183,
|
1077
|
+
1, 143, :_reduce_none,
|
1078
|
+
1, 103, :_reduce_185,
|
1079
|
+
3, 103, :_reduce_186,
|
1080
|
+
4, 145, :_reduce_187,
|
1081
|
+
1, 146, :_reduce_188,
|
1082
|
+
3, 146, :_reduce_189,
|
1083
|
+
3, 147, :_reduce_190,
|
1084
|
+
3, 147, :_reduce_191,
|
1085
|
+
3, 147, :_reduce_192,
|
1086
|
+
2, 147, :_reduce_193,
|
1087
|
+
3, 147, :_reduce_194,
|
1088
|
+
3, 147, :_reduce_195,
|
1089
|
+
3, 147, :_reduce_196,
|
1086
1090
|
1, 148, :_reduce_none,
|
1087
|
-
|
1088
|
-
1,
|
1091
|
+
2, 148, :_reduce_198,
|
1092
|
+
1, 118, :_reduce_none,
|
1093
|
+
1, 118, :_reduce_none,
|
1094
|
+
1, 118, :_reduce_none,
|
1095
|
+
1, 118, :_reduce_none,
|
1096
|
+
4, 130, :_reduce_203,
|
1097
|
+
1, 130, :_reduce_204,
|
1098
|
+
5, 134, :_reduce_205,
|
1099
|
+
2, 134, :_reduce_206,
|
1100
|
+
3, 132, :_reduce_207,
|
1101
|
+
1, 132, :_reduce_208,
|
1102
|
+
1, 132, :_reduce_none,
|
1103
|
+
3, 150, :_reduce_210,
|
1104
|
+
1, 150, :_reduce_211,
|
1089
1105
|
1, 150, :_reduce_none,
|
1090
|
-
3, 152, :
|
1091
|
-
1, 152, :
|
1106
|
+
3, 152, :_reduce_213,
|
1107
|
+
1, 152, :_reduce_214,
|
1092
1108
|
1, 152, :_reduce_none,
|
1093
|
-
|
1094
|
-
|
1095
|
-
1,
|
1096
|
-
|
1097
|
-
|
1098
|
-
1,
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
3,
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
1,
|
1111
|
-
1,
|
1112
|
-
1,
|
1113
|
-
|
1114
|
-
2,
|
1115
|
-
|
1116
|
-
|
1117
|
-
1,
|
1118
|
-
2,
|
1119
|
-
|
1120
|
-
|
1121
|
-
0,
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1109
|
+
3, 154, :_reduce_216,
|
1110
|
+
1, 154, :_reduce_217,
|
1111
|
+
1, 154, :_reduce_none,
|
1112
|
+
0, 155, :_reduce_219,
|
1113
|
+
3, 155, :_reduce_220,
|
1114
|
+
1, 155, :_reduce_221,
|
1115
|
+
3, 155, :_reduce_222,
|
1116
|
+
1, 155, :_reduce_223,
|
1117
|
+
1, 155, :_reduce_224,
|
1118
|
+
2, 149, :_reduce_225,
|
1119
|
+
3, 151, :_reduce_226,
|
1120
|
+
3, 153, :_reduce_227,
|
1121
|
+
3, 156, :_reduce_228,
|
1122
|
+
4, 157, :_reduce_229,
|
1123
|
+
3, 158, :_reduce_230,
|
1124
|
+
0, 159, :_reduce_none,
|
1125
|
+
1, 159, :_reduce_none,
|
1126
|
+
1, 159, :_reduce_none,
|
1127
|
+
1, 159, :_reduce_none,
|
1128
|
+
1, 159, :_reduce_none,
|
1129
|
+
1, 159, :_reduce_none,
|
1130
|
+
2, 108, :_reduce_237,
|
1131
|
+
1, 160, :_reduce_none,
|
1132
|
+
1, 160, :_reduce_none,
|
1133
|
+
1, 160, :_reduce_none,
|
1134
|
+
2, 121, :_reduce_241,
|
1135
|
+
2, 99, :_reduce_242,
|
1136
|
+
2, 142, :_reduce_243,
|
1137
|
+
0, 105, :_reduce_244,
|
1138
|
+
1, 105, :_reduce_245,
|
1139
|
+
2, 105, :_reduce_246,
|
1140
|
+
1, 105, :_reduce_247,
|
1141
|
+
1, 144, :_reduce_none,
|
1142
|
+
0, 144, :_reduce_none ]
|
1143
|
+
|
1144
|
+
racc_reduce_n = 250
|
1145
|
+
|
1146
|
+
racc_shift_n = 424
|
1126
1147
|
|
1127
1148
|
racc_token_table = {
|
1128
1149
|
false => 0,
|
1129
1150
|
:error => 1,
|
1130
1151
|
:tUIDENT => 2,
|
1131
1152
|
:tLIDENT => 3,
|
1132
|
-
:
|
1133
|
-
:
|
1134
|
-
:
|
1135
|
-
:
|
1136
|
-
:
|
1137
|
-
:
|
1138
|
-
:
|
1139
|
-
:
|
1140
|
-
:
|
1141
|
-
:
|
1142
|
-
:
|
1143
|
-
:
|
1144
|
-
:
|
1145
|
-
:
|
1146
|
-
:
|
1147
|
-
:
|
1148
|
-
:
|
1149
|
-
:
|
1150
|
-
:
|
1151
|
-
:
|
1152
|
-
:
|
1153
|
-
:
|
1154
|
-
:
|
1155
|
-
:
|
1156
|
-
:
|
1157
|
-
:
|
1158
|
-
:
|
1159
|
-
:
|
1160
|
-
:
|
1161
|
-
:
|
1162
|
-
:
|
1163
|
-
:
|
1164
|
-
:
|
1165
|
-
:
|
1166
|
-
:
|
1167
|
-
:
|
1168
|
-
:
|
1169
|
-
:
|
1170
|
-
:
|
1171
|
-
:
|
1172
|
-
:
|
1173
|
-
:
|
1174
|
-
:
|
1175
|
-
:
|
1176
|
-
:
|
1177
|
-
:
|
1178
|
-
:
|
1179
|
-
:
|
1180
|
-
:
|
1181
|
-
:
|
1182
|
-
:
|
1183
|
-
:
|
1184
|
-
:
|
1185
|
-
:
|
1186
|
-
:
|
1187
|
-
:
|
1188
|
-
:
|
1189
|
-
:
|
1190
|
-
:
|
1191
|
-
:
|
1192
|
-
:
|
1193
|
-
:
|
1194
|
-
:
|
1195
|
-
:
|
1196
|
-
:
|
1197
|
-
:
|
1198
|
-
:
|
1199
|
-
:
|
1200
|
-
:
|
1201
|
-
:
|
1202
|
-
:
|
1203
|
-
:
|
1204
|
-
:
|
1205
|
-
:
|
1206
|
-
:
|
1207
|
-
:
|
1208
|
-
:
|
1209
|
-
|
1210
|
-
|
1153
|
+
:tUNDERSCOREIDENT => 4,
|
1154
|
+
:tNAMESPACE => 5,
|
1155
|
+
:tINTERFACEIDENT => 6,
|
1156
|
+
:tGLOBALIDENT => 7,
|
1157
|
+
:tLKEYWORD => 8,
|
1158
|
+
:tUKEYWORD => 9,
|
1159
|
+
:tLKEYWORD_Q_E => 10,
|
1160
|
+
:tUKEYWORD_Q_E => 11,
|
1161
|
+
:tIVAR => 12,
|
1162
|
+
:tCLASSVAR => 13,
|
1163
|
+
:tANNOTATION => 14,
|
1164
|
+
:tSTRING => 15,
|
1165
|
+
:tSYMBOL => 16,
|
1166
|
+
:tINTEGER => 17,
|
1167
|
+
:tWRITE_ATTR => 18,
|
1168
|
+
:kLPAREN => 19,
|
1169
|
+
:kRPAREN => 20,
|
1170
|
+
:kLBRACKET => 21,
|
1171
|
+
:kRBRACKET => 22,
|
1172
|
+
:kLBRACE => 23,
|
1173
|
+
:kRBRACE => 24,
|
1174
|
+
:kVOID => 25,
|
1175
|
+
:kNIL => 26,
|
1176
|
+
:kTRUE => 27,
|
1177
|
+
:kFALSE => 28,
|
1178
|
+
:kANY => 29,
|
1179
|
+
:kUNTYPED => 30,
|
1180
|
+
:kTOP => 31,
|
1181
|
+
:kBOT => 32,
|
1182
|
+
:kSELF => 33,
|
1183
|
+
:kSELFQ => 34,
|
1184
|
+
:kINSTANCE => 35,
|
1185
|
+
:kCLASS => 36,
|
1186
|
+
:kBOOL => 37,
|
1187
|
+
:kSINGLETON => 38,
|
1188
|
+
:kTYPE => 39,
|
1189
|
+
:kDEF => 40,
|
1190
|
+
:kMODULE => 41,
|
1191
|
+
:kPRIVATE => 42,
|
1192
|
+
:kPUBLIC => 43,
|
1193
|
+
:kALIAS => 44,
|
1194
|
+
:kCOLON => 45,
|
1195
|
+
:kCOLON2 => 46,
|
1196
|
+
:kCOMMA => 47,
|
1197
|
+
:kBAR => 48,
|
1198
|
+
:kAMP => 49,
|
1199
|
+
:kHAT => 50,
|
1200
|
+
:kARROW => 51,
|
1201
|
+
:kQUESTION => 52,
|
1202
|
+
:kEXCLAMATION => 53,
|
1203
|
+
:kSTAR => 54,
|
1204
|
+
:kSTAR2 => 55,
|
1205
|
+
:kFATARROW => 56,
|
1206
|
+
:kEQ => 57,
|
1207
|
+
:kDOT => 58,
|
1208
|
+
:kDOT3 => 59,
|
1209
|
+
:kLT => 60,
|
1210
|
+
:kINTERFACE => 61,
|
1211
|
+
:kEND => 62,
|
1212
|
+
:kINCLUDE => 63,
|
1213
|
+
:kEXTEND => 64,
|
1214
|
+
:kATTRREADER => 65,
|
1215
|
+
:kATTRWRITER => 66,
|
1216
|
+
:kATTRACCESSOR => 67,
|
1217
|
+
:tOPERATOR => 68,
|
1218
|
+
:tQUOTEDMETHOD => 69,
|
1219
|
+
:tQUOTEDIDENT => 70,
|
1220
|
+
:kPREPEND => 71,
|
1221
|
+
:kEXTENSION => 72,
|
1222
|
+
:kINCOMPATIBLE => 73,
|
1223
|
+
:type_TYPE => 74,
|
1224
|
+
:type_SIGNATURE => 75,
|
1225
|
+
:type_METHODTYPE => 76,
|
1226
|
+
:tEOF => 77,
|
1227
|
+
:kOUT => 78,
|
1228
|
+
:kIN => 79,
|
1229
|
+
:kUNCHECKED => 80,
|
1230
|
+
:kOVERLOAD => 81,
|
1231
|
+
:kUNDERSCORE => 82 }
|
1232
|
+
|
1233
|
+
racc_nt_base = 83
|
1211
1234
|
|
1212
1235
|
racc_use_result_var = true
|
1213
1236
|
|
@@ -1232,6 +1255,7 @@ Racc_token_to_s_table = [
|
|
1232
1255
|
"error",
|
1233
1256
|
"tUIDENT",
|
1234
1257
|
"tLIDENT",
|
1258
|
+
"tUNDERSCOREIDENT",
|
1235
1259
|
"tNAMESPACE",
|
1236
1260
|
"tINTERFACEIDENT",
|
1237
1261
|
"tGLOBALIDENT",
|
@@ -1309,6 +1333,7 @@ Racc_token_to_s_table = [
|
|
1309
1333
|
"kIN",
|
1310
1334
|
"kUNCHECKED",
|
1311
1335
|
"kOVERLOAD",
|
1336
|
+
"kUNDERSCORE",
|
1312
1337
|
"$start",
|
1313
1338
|
"target",
|
1314
1339
|
"type",
|
@@ -1331,6 +1356,7 @@ Racc_token_to_s_table = [
|
|
1331
1356
|
"class_members",
|
1332
1357
|
"type_list",
|
1333
1358
|
"colon_module_self_types",
|
1359
|
+
"namespace",
|
1334
1360
|
"module_self_types",
|
1335
1361
|
"module_self_type",
|
1336
1362
|
"qualified_name",
|
@@ -1368,7 +1394,6 @@ Racc_token_to_s_table = [
|
|
1368
1394
|
"type_param_variance",
|
1369
1395
|
"type_params0",
|
1370
1396
|
"type_alias_name",
|
1371
|
-
"namespace",
|
1372
1397
|
"simple_type",
|
1373
1398
|
"comma_opt",
|
1374
1399
|
"record_type",
|
@@ -1394,7 +1419,7 @@ Racc_debug_parser = false
|
|
1394
1419
|
|
1395
1420
|
# reduce 0 omitted
|
1396
1421
|
|
1397
|
-
module_eval(<<'.,.,', 'parser.y',
|
1422
|
+
module_eval(<<'.,.,', 'parser.y', 29)
|
1398
1423
|
def _reduce_1(val, _values, result)
|
1399
1424
|
result = val[1]
|
1400
1425
|
|
@@ -1402,7 +1427,7 @@ module_eval(<<'.,.,', 'parser.y', 28)
|
|
1402
1427
|
end
|
1403
1428
|
.,.,
|
1404
1429
|
|
1405
|
-
module_eval(<<'.,.,', 'parser.y',
|
1430
|
+
module_eval(<<'.,.,', 'parser.y', 32)
|
1406
1431
|
def _reduce_2(val, _values, result)
|
1407
1432
|
result = val[1]
|
1408
1433
|
|
@@ -1410,7 +1435,7 @@ module_eval(<<'.,.,', 'parser.y', 31)
|
|
1410
1435
|
end
|
1411
1436
|
.,.,
|
1412
1437
|
|
1413
|
-
module_eval(<<'.,.,', 'parser.y',
|
1438
|
+
module_eval(<<'.,.,', 'parser.y', 35)
|
1414
1439
|
def _reduce_3(val, _values, result)
|
1415
1440
|
result = val[1]
|
1416
1441
|
|
@@ -1422,14 +1447,14 @@ module_eval(<<'.,.,', 'parser.y', 34)
|
|
1422
1447
|
|
1423
1448
|
# reduce 5 omitted
|
1424
1449
|
|
1425
|
-
module_eval(<<'.,.,', 'parser.y',
|
1450
|
+
module_eval(<<'.,.,', 'parser.y', 41)
|
1426
1451
|
def _reduce_6(val, _values, result)
|
1427
1452
|
result = []
|
1428
1453
|
result
|
1429
1454
|
end
|
1430
1455
|
.,.,
|
1431
1456
|
|
1432
|
-
module_eval(<<'.,.,', 'parser.y',
|
1457
|
+
module_eval(<<'.,.,', 'parser.y', 43)
|
1433
1458
|
def _reduce_7(val, _values, result)
|
1434
1459
|
result = val[0].push(val[1])
|
1435
1460
|
|
@@ -1449,28 +1474,28 @@ module_eval(<<'.,.,', 'parser.y', 42)
|
|
1449
1474
|
|
1450
1475
|
# reduce 13 omitted
|
1451
1476
|
|
1452
|
-
module_eval(<<'.,.,', 'parser.y',
|
1477
|
+
module_eval(<<'.,.,', 'parser.y', 54)
|
1453
1478
|
def _reduce_14(val, _values, result)
|
1454
1479
|
start_new_variables_scope
|
1455
1480
|
result
|
1456
1481
|
end
|
1457
1482
|
.,.,
|
1458
1483
|
|
1459
|
-
module_eval(<<'.,.,', 'parser.y',
|
1484
|
+
module_eval(<<'.,.,', 'parser.y', 55)
|
1460
1485
|
def _reduce_15(val, _values, result)
|
1461
1486
|
start_merged_variables_scope
|
1462
1487
|
result
|
1463
1488
|
end
|
1464
1489
|
.,.,
|
1465
1490
|
|
1466
|
-
module_eval(<<'.,.,', 'parser.y',
|
1491
|
+
module_eval(<<'.,.,', 'parser.y', 58)
|
1467
1492
|
def _reduce_16(val, _values, result)
|
1468
1493
|
result = []
|
1469
1494
|
result
|
1470
1495
|
end
|
1471
1496
|
.,.,
|
1472
1497
|
|
1473
|
-
module_eval(<<'.,.,', 'parser.y',
|
1498
|
+
module_eval(<<'.,.,', 'parser.y', 60)
|
1474
1499
|
def _reduce_17(val, _values, result)
|
1475
1500
|
result = val[1].unshift(Annotation.new(string: val[0].value, location: val[0].location))
|
1476
1501
|
|
@@ -1478,15 +1503,26 @@ module_eval(<<'.,.,', 'parser.y', 59)
|
|
1478
1503
|
end
|
1479
1504
|
.,.,
|
1480
1505
|
|
1481
|
-
module_eval(<<'.,.,', 'parser.y',
|
1506
|
+
module_eval(<<'.,.,', 'parser.y', 65)
|
1482
1507
|
def _reduce_18(val, _values, result)
|
1483
1508
|
reset_variable_scope
|
1484
1509
|
|
1485
1510
|
location = val[1].location + val[7].location
|
1511
|
+
location = location.with_children(
|
1512
|
+
required: {
|
1513
|
+
keyword: val[1].location,
|
1514
|
+
name: val[3].location,
|
1515
|
+
end: val[7].location
|
1516
|
+
},
|
1517
|
+
optional: {
|
1518
|
+
type_params: val[4]&.location,
|
1519
|
+
lt: val[5]&.location
|
1520
|
+
}
|
1521
|
+
)
|
1486
1522
|
result = Declarations::Class.new(
|
1487
1523
|
name: val[3].value,
|
1488
1524
|
type_params: val[4]&.value || Declarations::ModuleTypeParams.empty,
|
1489
|
-
super_class: val[5],
|
1525
|
+
super_class: val[5]&.value,
|
1490
1526
|
members: val[6],
|
1491
1527
|
annotations: val[0],
|
1492
1528
|
location: location,
|
@@ -1497,42 +1533,72 @@ module_eval(<<'.,.,', 'parser.y', 64)
|
|
1497
1533
|
end
|
1498
1534
|
.,.,
|
1499
1535
|
|
1500
|
-
module_eval(<<'.,.,', 'parser.y',
|
1536
|
+
module_eval(<<'.,.,', 'parser.y', 91)
|
1501
1537
|
def _reduce_19(val, _values, result)
|
1502
1538
|
result = nil
|
1503
1539
|
result
|
1504
1540
|
end
|
1505
1541
|
.,.,
|
1506
1542
|
|
1507
|
-
module_eval(<<'.,.,', 'parser.y',
|
1543
|
+
module_eval(<<'.,.,', 'parser.y', 93)
|
1508
1544
|
def _reduce_20(val, _values, result)
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1545
|
+
loc = val[1].location.with_children(
|
1546
|
+
required: { name: val[1].location },
|
1547
|
+
optional: { args: nil }
|
1548
|
+
)
|
1549
|
+
sup = Declarations::Class::Super.new(name: val[1].value, args: [], location: loc)
|
1550
|
+
result = LocatedValue.new(value: sup, location: val[0].location)
|
1512
1551
|
|
1513
1552
|
result
|
1514
1553
|
end
|
1515
1554
|
.,.,
|
1516
1555
|
|
1517
|
-
module_eval(<<'.,.,', 'parser.y',
|
1556
|
+
module_eval(<<'.,.,', 'parser.y', 101)
|
1518
1557
|
def _reduce_21(val, _values, result)
|
1519
|
-
|
1520
|
-
|
1521
|
-
|
1558
|
+
loc = (val[1].location + val[4].location).with_children(
|
1559
|
+
required: { name: val[1].location },
|
1560
|
+
optional: { args: val[2].location + val[4].location }
|
1561
|
+
)
|
1562
|
+
sup = Declarations::Class::Super.new(name: val[1].value, args: val[3], location: loc)
|
1563
|
+
result = LocatedValue.new(value: sup, location: val[0].location)
|
1522
1564
|
|
1523
1565
|
result
|
1524
1566
|
end
|
1525
1567
|
.,.,
|
1526
1568
|
|
1527
|
-
module_eval(<<'.,.,', 'parser.y',
|
1569
|
+
module_eval(<<'.,.,', 'parser.y', 111)
|
1528
1570
|
def _reduce_22(val, _values, result)
|
1529
1571
|
reset_variable_scope
|
1530
1572
|
|
1573
|
+
colon_loc = val[5].location
|
1574
|
+
self_loc = val[5].value.yield_self do |params|
|
1575
|
+
case params.size
|
1576
|
+
when 0
|
1577
|
+
nil
|
1578
|
+
when 1
|
1579
|
+
params[0].location
|
1580
|
+
else
|
1581
|
+
params.first.location + params.last.location
|
1582
|
+
end
|
1583
|
+
end
|
1584
|
+
|
1531
1585
|
location = val[1].location + val[7].location
|
1586
|
+
location = location.with_children(
|
1587
|
+
required: {
|
1588
|
+
keyword: val[1].location,
|
1589
|
+
name: val[3].location,
|
1590
|
+
end: val[7].location
|
1591
|
+
},
|
1592
|
+
optional: {
|
1593
|
+
type_params: val[4]&.location,
|
1594
|
+
colon: colon_loc,
|
1595
|
+
self_types: self_loc
|
1596
|
+
}
|
1597
|
+
)
|
1532
1598
|
result = Declarations::Module.new(
|
1533
1599
|
name: val[3].value,
|
1534
1600
|
type_params: val[4]&.value || Declarations::ModuleTypeParams.empty,
|
1535
|
-
self_types: val[5],
|
1601
|
+
self_types: val[5].value,
|
1536
1602
|
members: val[6],
|
1537
1603
|
annotations: val[0],
|
1538
1604
|
location: location,
|
@@ -1543,16 +1609,30 @@ module_eval(<<'.,.,', 'parser.y', 93)
|
|
1543
1609
|
end
|
1544
1610
|
.,.,
|
1545
1611
|
|
1546
|
-
module_eval(<<'.,.,', 'parser.y',
|
1612
|
+
module_eval(<<'.,.,', 'parser.y', 149)
|
1547
1613
|
def _reduce_23(val, _values, result)
|
1548
1614
|
reset_variable_scope
|
1549
1615
|
|
1550
|
-
location = val[1].location + val[
|
1616
|
+
location = val[1].location + val[7].location
|
1617
|
+
name_loc, colon_loc = split_kw_loc(val[4].location)
|
1618
|
+
self_loc = case val[5].size
|
1619
|
+
when 0
|
1620
|
+
nil
|
1621
|
+
when 1
|
1622
|
+
val[5][0].location
|
1623
|
+
else
|
1624
|
+
val[5].first.location + val[5].last.location
|
1625
|
+
end
|
1626
|
+
location = location.with_children(
|
1627
|
+
required: { keyword: val[1].location, name: name_loc, end: val[7].location },
|
1628
|
+
optional: { colon: colon_loc, type_params: nil, self_types: self_loc }
|
1629
|
+
)
|
1630
|
+
|
1551
1631
|
result = Declarations::Module.new(
|
1552
|
-
name: val[
|
1632
|
+
name: RBS::TypeName.new(name: val[4].value, namespace: val[3]&.value || RBS::Namespace.empty),
|
1553
1633
|
type_params: Declarations::ModuleTypeParams.empty,
|
1554
|
-
self_types: val[
|
1555
|
-
members: val[
|
1634
|
+
self_types: val[5],
|
1635
|
+
members: val[6],
|
1556
1636
|
annotations: val[0],
|
1557
1637
|
location: location,
|
1558
1638
|
comment: leading_comment(val[0].first&.location || location)
|
@@ -1562,22 +1642,22 @@ module_eval(<<'.,.,', 'parser.y', 107)
|
|
1562
1642
|
end
|
1563
1643
|
.,.,
|
1564
1644
|
|
1565
|
-
module_eval(<<'.,.,', 'parser.y',
|
1645
|
+
module_eval(<<'.,.,', 'parser.y', 178)
|
1566
1646
|
def _reduce_24(val, _values, result)
|
1567
|
-
result = []
|
1647
|
+
result = LocatedValue.new(value: [], location: nil)
|
1568
1648
|
result
|
1569
1649
|
end
|
1570
1650
|
.,.,
|
1571
1651
|
|
1572
|
-
module_eval(<<'.,.,', 'parser.y',
|
1652
|
+
module_eval(<<'.,.,', 'parser.y', 180)
|
1573
1653
|
def _reduce_25(val, _values, result)
|
1574
|
-
result = val[1]
|
1654
|
+
result = LocatedValue.new(value: val[1], location: val[0].location)
|
1575
1655
|
|
1576
1656
|
result
|
1577
1657
|
end
|
1578
1658
|
.,.,
|
1579
1659
|
|
1580
|
-
module_eval(<<'.,.,', 'parser.y',
|
1660
|
+
module_eval(<<'.,.,', 'parser.y', 185)
|
1581
1661
|
def _reduce_26(val, _values, result)
|
1582
1662
|
result = [val[0]]
|
1583
1663
|
|
@@ -1585,7 +1665,7 @@ module_eval(<<'.,.,', 'parser.y', 129)
|
|
1585
1665
|
end
|
1586
1666
|
.,.,
|
1587
1667
|
|
1588
|
-
module_eval(<<'.,.,', 'parser.y',
|
1668
|
+
module_eval(<<'.,.,', 'parser.y', 188)
|
1589
1669
|
def _reduce_27(val, _values, result)
|
1590
1670
|
result = val[0].push(val[2])
|
1591
1671
|
|
@@ -1593,11 +1673,15 @@ module_eval(<<'.,.,', 'parser.y', 132)
|
|
1593
1673
|
end
|
1594
1674
|
.,.,
|
1595
1675
|
|
1596
|
-
module_eval(<<'.,.,', 'parser.y',
|
1676
|
+
module_eval(<<'.,.,', 'parser.y', 193)
|
1597
1677
|
def _reduce_28(val, _values, result)
|
1598
1678
|
name = val[0].value
|
1599
1679
|
args = val[2]
|
1600
1680
|
location = val[0].location + val[3].location
|
1681
|
+
location = location.with_children(
|
1682
|
+
required: { name: val[0].location },
|
1683
|
+
optional: { args: val[1].location + val[3].location }
|
1684
|
+
)
|
1601
1685
|
|
1602
1686
|
case
|
1603
1687
|
when name.class?
|
@@ -1612,11 +1696,14 @@ module_eval(<<'.,.,', 'parser.y', 137)
|
|
1612
1696
|
end
|
1613
1697
|
.,.,
|
1614
1698
|
|
1615
|
-
module_eval(<<'.,.,', 'parser.y',
|
1699
|
+
module_eval(<<'.,.,', 'parser.y', 211)
|
1616
1700
|
def _reduce_29(val, _values, result)
|
1617
1701
|
name = val[0].value
|
1618
1702
|
args = []
|
1619
|
-
location = val[0].location
|
1703
|
+
location = val[0].location.with_children(
|
1704
|
+
required: { name: val[0].location },
|
1705
|
+
optional: { args: nil }
|
1706
|
+
)
|
1620
1707
|
|
1621
1708
|
case
|
1622
1709
|
when name.class?
|
@@ -1631,14 +1718,14 @@ module_eval(<<'.,.,', 'parser.y', 151)
|
|
1631
1718
|
end
|
1632
1719
|
.,.,
|
1633
1720
|
|
1634
|
-
module_eval(<<'.,.,', 'parser.y',
|
1721
|
+
module_eval(<<'.,.,', 'parser.y', 229)
|
1635
1722
|
def _reduce_30(val, _values, result)
|
1636
1723
|
result = []
|
1637
1724
|
result
|
1638
1725
|
end
|
1639
1726
|
.,.,
|
1640
1727
|
|
1641
|
-
module_eval(<<'.,.,', 'parser.y',
|
1728
|
+
module_eval(<<'.,.,', 'parser.y', 231)
|
1642
1729
|
def _reduce_31(val, _values, result)
|
1643
1730
|
result = val[0].push(val[1])
|
1644
1731
|
|
@@ -1658,7 +1745,7 @@ module_eval(<<'.,.,', 'parser.y', 168)
|
|
1658
1745
|
|
1659
1746
|
# reduce 37 omitted
|
1660
1747
|
|
1661
|
-
module_eval(<<'.,.,', 'parser.y',
|
1748
|
+
module_eval(<<'.,.,', 'parser.y', 242)
|
1662
1749
|
def _reduce_38(val, _values, result)
|
1663
1750
|
result = Members::Public.new(location: val[0].location)
|
1664
1751
|
|
@@ -1666,7 +1753,7 @@ module_eval(<<'.,.,', 'parser.y', 179)
|
|
1666
1753
|
end
|
1667
1754
|
.,.,
|
1668
1755
|
|
1669
|
-
module_eval(<<'.,.,', 'parser.y',
|
1756
|
+
module_eval(<<'.,.,', 'parser.y', 245)
|
1670
1757
|
def _reduce_39(val, _values, result)
|
1671
1758
|
result = Members::Private.new(location: val[0].location)
|
1672
1759
|
|
@@ -1678,27 +1765,32 @@ module_eval(<<'.,.,', 'parser.y', 182)
|
|
1678
1765
|
|
1679
1766
|
# reduce 41 omitted
|
1680
1767
|
|
1681
|
-
module_eval(<<'.,.,', 'parser.y',
|
1768
|
+
module_eval(<<'.,.,', 'parser.y', 251)
|
1682
1769
|
def _reduce_42(val, _values, result)
|
1683
|
-
result = :instance
|
1770
|
+
result = LocatedValue.new(value: :instance, location: nil)
|
1684
1771
|
result
|
1685
1772
|
end
|
1686
1773
|
.,.,
|
1687
1774
|
|
1688
|
-
module_eval(<<'.,.,', 'parser.y',
|
1775
|
+
module_eval(<<'.,.,', 'parser.y', 252)
|
1689
1776
|
def _reduce_43(val, _values, result)
|
1690
|
-
result = :singleton
|
1777
|
+
result = LocatedValue.new(value: :singleton, location: val[0].location + val[1].location)
|
1691
1778
|
result
|
1692
1779
|
end
|
1693
1780
|
.,.,
|
1694
1781
|
|
1695
|
-
module_eval(<<'.,.,', 'parser.y',
|
1782
|
+
module_eval(<<'.,.,', 'parser.y', 256)
|
1696
1783
|
def _reduce_44(val, _values, result)
|
1697
1784
|
location = val[1].location + val[4].location
|
1785
|
+
name_loc, colon_loc = split_kw_loc(val[3].location)
|
1786
|
+
location = location.with_children(
|
1787
|
+
required: { keyword: val[1].location, name: name_loc, colon: colon_loc },
|
1788
|
+
optional: { ivar: nil, ivar_name: nil, kind: val[2].location }
|
1789
|
+
)
|
1698
1790
|
result = Members::AttrReader.new(name: val[3].value,
|
1699
1791
|
ivar_name: nil,
|
1700
1792
|
type: val[4],
|
1701
|
-
kind: val[2],
|
1793
|
+
kind: val[2].value,
|
1702
1794
|
annotations: val[0],
|
1703
1795
|
location: location,
|
1704
1796
|
comment: leading_comment(val[0].first&.location || location))
|
@@ -1707,13 +1799,29 @@ module_eval(<<'.,.,', 'parser.y', 193)
|
|
1707
1799
|
end
|
1708
1800
|
.,.,
|
1709
1801
|
|
1710
|
-
module_eval(<<'.,.,', 'parser.y',
|
1802
|
+
module_eval(<<'.,.,', 'parser.y', 271)
|
1711
1803
|
def _reduce_45(val, _values, result)
|
1712
1804
|
location = val[1].location + val[6].location
|
1805
|
+
ivar_loc = val[4]&.location
|
1806
|
+
case name_value = val[4]&.value
|
1807
|
+
when LocatedValue
|
1808
|
+
ivar_name = name_value.value
|
1809
|
+
ivar_name_loc = name_value.location
|
1810
|
+
when false
|
1811
|
+
ivar_name = false
|
1812
|
+
ivar_name_loc = nil
|
1813
|
+
else
|
1814
|
+
ivar_name = nil
|
1815
|
+
ivar_loc = nil
|
1816
|
+
end
|
1817
|
+
location = location.with_children(
|
1818
|
+
required: { keyword: val[1].location, name: val[3].location, colon: val[5].location },
|
1819
|
+
optional: { ivar: ivar_loc, ivar_name: ivar_name_loc, kind: val[2].location }
|
1820
|
+
)
|
1713
1821
|
result = Members::AttrReader.new(name: val[3].value.to_sym,
|
1714
|
-
ivar_name:
|
1822
|
+
ivar_name: ivar_name,
|
1715
1823
|
type: val[6],
|
1716
|
-
kind: val[2],
|
1824
|
+
kind: val[2].value,
|
1717
1825
|
annotations: val[0],
|
1718
1826
|
location: location,
|
1719
1827
|
comment: leading_comment(val[0].first&.location || location))
|
@@ -1722,12 +1830,17 @@ module_eval(<<'.,.,', 'parser.y', 203)
|
|
1722
1830
|
end
|
1723
1831
|
.,.,
|
1724
1832
|
|
1725
|
-
module_eval(<<'.,.,', 'parser.y',
|
1833
|
+
module_eval(<<'.,.,', 'parser.y', 297)
|
1726
1834
|
def _reduce_46(val, _values, result)
|
1727
1835
|
location = val[1].location + val[4].location
|
1836
|
+
name_loc, colon_loc = split_kw_loc(val[3].location)
|
1837
|
+
location = location.with_children(
|
1838
|
+
required: { keyword: val[1].location, name: name_loc, colon: colon_loc },
|
1839
|
+
optional: { ivar: nil, ivar_name: nil, kind: val[2].location }
|
1840
|
+
)
|
1728
1841
|
result = Members::AttrWriter.new(name: val[3].value,
|
1729
1842
|
ivar_name: nil,
|
1730
|
-
kind: val[2],
|
1843
|
+
kind: val[2].value,
|
1731
1844
|
type: val[4],
|
1732
1845
|
annotations: val[0],
|
1733
1846
|
location: location,
|
@@ -1737,12 +1850,29 @@ module_eval(<<'.,.,', 'parser.y', 213)
|
|
1737
1850
|
end
|
1738
1851
|
.,.,
|
1739
1852
|
|
1740
|
-
module_eval(<<'.,.,', 'parser.y',
|
1853
|
+
module_eval(<<'.,.,', 'parser.y', 312)
|
1741
1854
|
def _reduce_47(val, _values, result)
|
1742
1855
|
location = val[1].location + val[6].location
|
1856
|
+
ivar_loc = val[4]&.location
|
1857
|
+
case name_value = val[4]&.value
|
1858
|
+
when LocatedValue
|
1859
|
+
ivar_name = name_value.value
|
1860
|
+
ivar_name_loc = name_value.location
|
1861
|
+
when false
|
1862
|
+
ivar_name = false
|
1863
|
+
ivar_name_loc = nil
|
1864
|
+
else
|
1865
|
+
ivar_name = nil
|
1866
|
+
ivar_loc = nil
|
1867
|
+
end
|
1868
|
+
location = location.with_children(
|
1869
|
+
required: { keyword: val[1].location, name: val[3].location, colon: val[5].location },
|
1870
|
+
optional: { ivar: ivar_loc, ivar_name: ivar_name_loc, kind: val[2].location }
|
1871
|
+
)
|
1872
|
+
|
1743
1873
|
result = Members::AttrWriter.new(name: val[3].value.to_sym,
|
1744
|
-
ivar_name:
|
1745
|
-
kind: val[2],
|
1874
|
+
ivar_name: ivar_name,
|
1875
|
+
kind: val[2].value,
|
1746
1876
|
type: val[6],
|
1747
1877
|
annotations: val[0],
|
1748
1878
|
location: location,
|
@@ -1752,12 +1882,18 @@ module_eval(<<'.,.,', 'parser.y', 223)
|
|
1752
1882
|
end
|
1753
1883
|
.,.,
|
1754
1884
|
|
1755
|
-
module_eval(<<'.,.,', 'parser.y',
|
1885
|
+
module_eval(<<'.,.,', 'parser.y', 339)
|
1756
1886
|
def _reduce_48(val, _values, result)
|
1757
1887
|
location = val[1].location + val[4].location
|
1888
|
+
name_loc, colon_loc = split_kw_loc(val[3].location)
|
1889
|
+
location = location.with_children(
|
1890
|
+
required: { keyword: val[1].location, name: name_loc, colon: colon_loc },
|
1891
|
+
optional: { ivar: nil, ivar_name: nil, kind: val[2].location }
|
1892
|
+
)
|
1893
|
+
|
1758
1894
|
result = Members::AttrAccessor.new(name: val[3].value,
|
1759
1895
|
ivar_name: nil,
|
1760
|
-
kind: val[2],
|
1896
|
+
kind: val[2].value,
|
1761
1897
|
type: val[4],
|
1762
1898
|
annotations: val[0],
|
1763
1899
|
location: location,
|
@@ -1767,12 +1903,29 @@ module_eval(<<'.,.,', 'parser.y', 233)
|
|
1767
1903
|
end
|
1768
1904
|
.,.,
|
1769
1905
|
|
1770
|
-
module_eval(<<'.,.,', 'parser.y',
|
1906
|
+
module_eval(<<'.,.,', 'parser.y', 355)
|
1771
1907
|
def _reduce_49(val, _values, result)
|
1772
1908
|
location = val[1].location + val[6].location
|
1909
|
+
ivar_loc = val[4]&.location
|
1910
|
+
case name_value = val[4]&.value
|
1911
|
+
when LocatedValue
|
1912
|
+
ivar_name = name_value.value
|
1913
|
+
ivar_name_loc = name_value.location
|
1914
|
+
when false
|
1915
|
+
ivar_name = false
|
1916
|
+
ivar_name_loc = nil
|
1917
|
+
else
|
1918
|
+
ivar_name = nil
|
1919
|
+
ivar_loc = nil
|
1920
|
+
end
|
1921
|
+
location = location.with_children(
|
1922
|
+
required: { keyword: val[1].location, name: val[3].location, colon: val[5].location },
|
1923
|
+
optional: { ivar: ivar_loc, ivar_name: ivar_name_loc, kind: val[2].location }
|
1924
|
+
)
|
1925
|
+
|
1773
1926
|
result = Members::AttrAccessor.new(name: val[3].value.to_sym,
|
1774
|
-
ivar_name:
|
1775
|
-
kind: val[2],
|
1927
|
+
ivar_name: ivar_name,
|
1928
|
+
kind: val[2].value,
|
1776
1929
|
type: val[6],
|
1777
1930
|
annotations: val[0],
|
1778
1931
|
location: location,
|
@@ -1782,30 +1935,38 @@ module_eval(<<'.,.,', 'parser.y', 243)
|
|
1782
1935
|
end
|
1783
1936
|
.,.,
|
1784
1937
|
|
1785
|
-
module_eval(<<'.,.,', 'parser.y',
|
1938
|
+
module_eval(<<'.,.,', 'parser.y', 383)
|
1786
1939
|
def _reduce_50(val, _values, result)
|
1787
1940
|
result = nil
|
1788
1941
|
result
|
1789
1942
|
end
|
1790
1943
|
.,.,
|
1791
1944
|
|
1792
|
-
module_eval(<<'.,.,', 'parser.y',
|
1945
|
+
module_eval(<<'.,.,', 'parser.y', 384)
|
1793
1946
|
def _reduce_51(val, _values, result)
|
1794
|
-
result = false
|
1947
|
+
result = LocatedValue.new(value: false, location: val[0].location + val[1].location)
|
1795
1948
|
result
|
1796
1949
|
end
|
1797
1950
|
.,.,
|
1798
1951
|
|
1799
|
-
module_eval(<<'.,.,', 'parser.y',
|
1952
|
+
module_eval(<<'.,.,', 'parser.y', 386)
|
1800
1953
|
def _reduce_52(val, _values, result)
|
1801
|
-
|
1954
|
+
result = LocatedValue.new(
|
1955
|
+
value: val[1],
|
1956
|
+
location: val[0].location + val[2].location
|
1957
|
+
)
|
1958
|
+
|
1802
1959
|
result
|
1803
1960
|
end
|
1804
1961
|
.,.,
|
1805
1962
|
|
1806
|
-
module_eval(<<'.,.,', 'parser.y',
|
1963
|
+
module_eval(<<'.,.,', 'parser.y', 394)
|
1807
1964
|
def _reduce_53(val, _values, result)
|
1808
|
-
location = val[0].location + val[2].location
|
1965
|
+
location = (val[0].location + val[2].location).with_children(
|
1966
|
+
required: { name: val[0].location, colon: val[1].location },
|
1967
|
+
optional: { kind: nil }
|
1968
|
+
)
|
1969
|
+
|
1809
1970
|
result = Members::InstanceVariable.new(
|
1810
1971
|
name: val[0].value,
|
1811
1972
|
type: val[2],
|
@@ -1817,7 +1978,7 @@ module_eval(<<'.,.,', 'parser.y', 260)
|
|
1817
1978
|
end
|
1818
1979
|
.,.,
|
1819
1980
|
|
1820
|
-
module_eval(<<'.,.,', 'parser.y',
|
1981
|
+
module_eval(<<'.,.,', 'parser.y', 407)
|
1821
1982
|
def _reduce_54(val, _values, result)
|
1822
1983
|
type = val[2]
|
1823
1984
|
|
@@ -1829,7 +1990,11 @@ module_eval(<<'.,.,', 'parser.y', 269)
|
|
1829
1990
|
)
|
1830
1991
|
end
|
1831
1992
|
|
1832
|
-
location = val[0].location + val[2].location
|
1993
|
+
location = (val[0].location + val[2].location).with_children(
|
1994
|
+
required: { name: val[0].location, colon: val[1].location },
|
1995
|
+
optional: { kind: nil }
|
1996
|
+
)
|
1997
|
+
|
1833
1998
|
result = Members::ClassVariable.new(
|
1834
1999
|
name: val[0].value,
|
1835
2000
|
type: type,
|
@@ -1841,7 +2006,7 @@ module_eval(<<'.,.,', 'parser.y', 269)
|
|
1841
2006
|
end
|
1842
2007
|
.,.,
|
1843
2008
|
|
1844
|
-
module_eval(<<'.,.,', 'parser.y',
|
2009
|
+
module_eval(<<'.,.,', 'parser.y', 430)
|
1845
2010
|
def _reduce_55(val, _values, result)
|
1846
2011
|
type = val[4]
|
1847
2012
|
|
@@ -1853,7 +2018,11 @@ module_eval(<<'.,.,', 'parser.y', 288)
|
|
1853
2018
|
)
|
1854
2019
|
end
|
1855
2020
|
|
1856
|
-
location = val[0].location + val[4].location
|
2021
|
+
location = (val[0].location + val[4].location).with_children(
|
2022
|
+
required: { name: val[2].location, colon: val[3].location },
|
2023
|
+
optional: { kind: val[0].location + val[1].location }
|
2024
|
+
)
|
2025
|
+
|
1857
2026
|
result = Members::ClassInstanceVariable.new(
|
1858
2027
|
name: val[2].value,
|
1859
2028
|
type: type,
|
@@ -1865,11 +2034,15 @@ module_eval(<<'.,.,', 'parser.y', 288)
|
|
1865
2034
|
end
|
1866
2035
|
.,.,
|
1867
2036
|
|
1868
|
-
module_eval(<<'.,.,', 'parser.y',
|
2037
|
+
module_eval(<<'.,.,', 'parser.y', 455)
|
1869
2038
|
def _reduce_56(val, _values, result)
|
1870
2039
|
reset_variable_scope
|
1871
2040
|
|
1872
2041
|
location = val[1].location + val[6].location
|
2042
|
+
location = location.with_children(
|
2043
|
+
required: { keyword: val[1].location, name: val[3].location, end: val[6].location },
|
2044
|
+
optional: { type_params: val[4]&.location }
|
2045
|
+
)
|
1873
2046
|
result = Declarations::Interface.new(
|
1874
2047
|
name: val[3].value,
|
1875
2048
|
type_params: val[4]&.value || Declarations::ModuleTypeParams.empty,
|
@@ -1883,14 +2056,14 @@ module_eval(<<'.,.,', 'parser.y', 309)
|
|
1883
2056
|
end
|
1884
2057
|
.,.,
|
1885
2058
|
|
1886
|
-
module_eval(<<'.,.,', 'parser.y',
|
2059
|
+
module_eval(<<'.,.,', 'parser.y', 473)
|
1887
2060
|
def _reduce_57(val, _values, result)
|
1888
2061
|
result = []
|
1889
2062
|
result
|
1890
2063
|
end
|
1891
2064
|
.,.,
|
1892
2065
|
|
1893
|
-
module_eval(<<'.,.,', 'parser.y',
|
2066
|
+
module_eval(<<'.,.,', 'parser.y', 475)
|
1894
2067
|
def _reduce_58(val, _values, result)
|
1895
2068
|
result = val[0].push(val[1])
|
1896
2069
|
|
@@ -1898,7 +2071,7 @@ module_eval(<<'.,.,', 'parser.y', 325)
|
|
1898
2071
|
end
|
1899
2072
|
.,.,
|
1900
2073
|
|
1901
|
-
module_eval(<<'.,.,', 'parser.y',
|
2074
|
+
module_eval(<<'.,.,', 'parser.y', 480)
|
1902
2075
|
def _reduce_59(val, _values, result)
|
1903
2076
|
unless val[0].kind == :instance
|
1904
2077
|
raise SemanticsError.new("Interface cannot have singleton method", subject: val[0], location: val[0].location)
|
@@ -1914,7 +2087,7 @@ module_eval(<<'.,.,', 'parser.y', 330)
|
|
1914
2087
|
end
|
1915
2088
|
.,.,
|
1916
2089
|
|
1917
|
-
module_eval(<<'.,.,', 'parser.y',
|
2090
|
+
module_eval(<<'.,.,', 'parser.y', 491)
|
1918
2091
|
def _reduce_60(val, _values, result)
|
1919
2092
|
unless val[0].name.interface?
|
1920
2093
|
raise SemanticsError.new("Interface should include an interface", subject: val[0], location: val[0].location)
|
@@ -1928,12 +2101,17 @@ module_eval(<<'.,.,', 'parser.y', 341)
|
|
1928
2101
|
|
1929
2102
|
# reduce 61 omitted
|
1930
2103
|
|
1931
|
-
module_eval(<<'.,.,', 'parser.y',
|
2104
|
+
module_eval(<<'.,.,', 'parser.y', 501)
|
1932
2105
|
def _reduce_62(val, _values, result)
|
1933
2106
|
if val[2].value.alias?
|
1934
2107
|
raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
|
1935
2108
|
end
|
1936
|
-
|
2109
|
+
|
2110
|
+
location = (val[1].location + val[2].location).with_children(
|
2111
|
+
required: { keyword: val[1].location, name: val[2].location },
|
2112
|
+
optional: { args: nil }
|
2113
|
+
)
|
2114
|
+
|
1937
2115
|
result = Members::Include.new(name: val[2].value,
|
1938
2116
|
args: [],
|
1939
2117
|
annotations: val[0],
|
@@ -1944,12 +2122,17 @@ module_eval(<<'.,.,', 'parser.y', 351)
|
|
1944
2122
|
end
|
1945
2123
|
.,.,
|
1946
2124
|
|
1947
|
-
module_eval(<<'.,.,', 'parser.y',
|
2125
|
+
module_eval(<<'.,.,', 'parser.y', 517)
|
1948
2126
|
def _reduce_63(val, _values, result)
|
1949
2127
|
if val[2].value.alias?
|
1950
2128
|
raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
|
1951
2129
|
end
|
1952
|
-
|
2130
|
+
|
2131
|
+
location = (val[1].location + val[5].location).with_children(
|
2132
|
+
required: { keyword: val[1].location, name: val[2].location },
|
2133
|
+
optional: { args: val[3].location + val[5].location }
|
2134
|
+
)
|
2135
|
+
|
1953
2136
|
result = Members::Include.new(name: val[2].value,
|
1954
2137
|
args: val[4],
|
1955
2138
|
annotations: val[0],
|
@@ -1960,12 +2143,17 @@ module_eval(<<'.,.,', 'parser.y', 362)
|
|
1960
2143
|
end
|
1961
2144
|
.,.,
|
1962
2145
|
|
1963
|
-
module_eval(<<'.,.,', 'parser.y',
|
2146
|
+
module_eval(<<'.,.,', 'parser.y', 535)
|
1964
2147
|
def _reduce_64(val, _values, result)
|
1965
2148
|
if val[2].value.alias?
|
1966
2149
|
raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
|
1967
2150
|
end
|
1968
|
-
|
2151
|
+
|
2152
|
+
location = (val[1].location + val[2].location).with_children(
|
2153
|
+
required: { keyword: val[1].location, name: val[2].location },
|
2154
|
+
optional: { args: nil }
|
2155
|
+
)
|
2156
|
+
|
1969
2157
|
result = Members::Extend.new(name: val[2].value,
|
1970
2158
|
args: [],
|
1971
2159
|
annotations: val[0],
|
@@ -1976,12 +2164,17 @@ module_eval(<<'.,.,', 'parser.y', 375)
|
|
1976
2164
|
end
|
1977
2165
|
.,.,
|
1978
2166
|
|
1979
|
-
module_eval(<<'.,.,', 'parser.y',
|
2167
|
+
module_eval(<<'.,.,', 'parser.y', 551)
|
1980
2168
|
def _reduce_65(val, _values, result)
|
1981
2169
|
if val[2].value.alias?
|
1982
2170
|
raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
|
1983
2171
|
end
|
1984
|
-
|
2172
|
+
|
2173
|
+
location = (val[1].location + val[5].location).with_children(
|
2174
|
+
required: { keyword: val[1].location, name: val[2].location },
|
2175
|
+
optional: { args: val[3].location + val[5].location }
|
2176
|
+
)
|
2177
|
+
|
1985
2178
|
result = Members::Extend.new(name: val[2].value,
|
1986
2179
|
args: val[4],
|
1987
2180
|
annotations: val[0],
|
@@ -1992,12 +2185,17 @@ module_eval(<<'.,.,', 'parser.y', 386)
|
|
1992
2185
|
end
|
1993
2186
|
.,.,
|
1994
2187
|
|
1995
|
-
module_eval(<<'.,.,', 'parser.y',
|
2188
|
+
module_eval(<<'.,.,', 'parser.y', 569)
|
1996
2189
|
def _reduce_66(val, _values, result)
|
1997
2190
|
unless val[2].value.class?
|
1998
2191
|
raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
|
1999
2192
|
end
|
2000
|
-
|
2193
|
+
|
2194
|
+
location = (val[1].location + val[2].location).with_children(
|
2195
|
+
required: { keyword: val[1].location, name: val[2].location },
|
2196
|
+
optional: { args: nil }
|
2197
|
+
)
|
2198
|
+
|
2001
2199
|
result = Members::Prepend.new(name: val[2].value,
|
2002
2200
|
args: [],
|
2003
2201
|
annotations: val[0],
|
@@ -2008,12 +2206,17 @@ module_eval(<<'.,.,', 'parser.y', 399)
|
|
2008
2206
|
end
|
2009
2207
|
.,.,
|
2010
2208
|
|
2011
|
-
module_eval(<<'.,.,', 'parser.y',
|
2209
|
+
module_eval(<<'.,.,', 'parser.y', 585)
|
2012
2210
|
def _reduce_67(val, _values, result)
|
2013
2211
|
unless val[2].value.class?
|
2014
2212
|
raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
|
2015
2213
|
end
|
2016
|
-
|
2214
|
+
|
2215
|
+
location = (val[1].location + val[5].location).with_children(
|
2216
|
+
required: { keyword: val[1].location, name: val[2].location },
|
2217
|
+
optional: { args: val[3].location + val[5].location }
|
2218
|
+
)
|
2219
|
+
|
2017
2220
|
result = Members::Prepend.new(name: val[2].value,
|
2018
2221
|
args: val[4],
|
2019
2222
|
annotations: val[0],
|
@@ -2024,14 +2227,14 @@ module_eval(<<'.,.,', 'parser.y', 410)
|
|
2024
2227
|
end
|
2025
2228
|
.,.,
|
2026
2229
|
|
2027
|
-
module_eval(<<'.,.,', 'parser.y',
|
2230
|
+
module_eval(<<'.,.,', 'parser.y', 602)
|
2028
2231
|
def _reduce_68(val, _values, result)
|
2029
2232
|
result = nil
|
2030
2233
|
result
|
2031
2234
|
end
|
2032
2235
|
.,.,
|
2033
2236
|
|
2034
|
-
module_eval(<<'.,.,', 'parser.y',
|
2237
|
+
module_eval(<<'.,.,', 'parser.y', 604)
|
2035
2238
|
def _reduce_69(val, _values, result)
|
2036
2239
|
RBS.logger.warn "`overload def` syntax is deprecated. Use `...` syntax instead."
|
2037
2240
|
result = val[0]
|
@@ -2040,13 +2243,24 @@ module_eval(<<'.,.,', 'parser.y', 424)
|
|
2040
2243
|
end
|
2041
2244
|
.,.,
|
2042
2245
|
|
2043
|
-
module_eval(<<'.,.,', 'parser.y',
|
2246
|
+
module_eval(<<'.,.,', 'parser.y', 610)
|
2044
2247
|
def _reduce_70(val, _values, result)
|
2045
2248
|
location = val[3].location + val[6].last.location
|
2046
2249
|
|
2250
|
+
required_children = { keyword: val[3].location, name: val[5].location }
|
2251
|
+
optional_children = { kind: nil, overload: nil }
|
2252
|
+
|
2253
|
+
if val[4]
|
2254
|
+
kind = val[4].value
|
2255
|
+
optional_children[:kind] = val[4].location
|
2256
|
+
else
|
2257
|
+
kind = :instance
|
2258
|
+
end
|
2259
|
+
|
2047
2260
|
last_type = val[6].last
|
2048
2261
|
if last_type.is_a?(LocatedValue) && last_type.value == :dot3
|
2049
2262
|
overload = true
|
2263
|
+
optional_children[:overload] = last_type.location
|
2050
2264
|
val[6].pop
|
2051
2265
|
else
|
2052
2266
|
overload = false
|
@@ -2054,10 +2268,10 @@ module_eval(<<'.,.,', 'parser.y', 430)
|
|
2054
2268
|
|
2055
2269
|
result = Members::MethodDefinition.new(
|
2056
2270
|
name: val[5].value,
|
2057
|
-
kind:
|
2271
|
+
kind: kind,
|
2058
2272
|
types: val[6],
|
2059
2273
|
annotations: val[0],
|
2060
|
-
location: location,
|
2274
|
+
location: location.with_children(required: required_children, optional: optional_children),
|
2061
2275
|
comment: leading_comment(val[0].first&.location || val[2]&.location || val[3].location),
|
2062
2276
|
overload: overload || !!val[2]
|
2063
2277
|
)
|
@@ -2068,7 +2282,7 @@ module_eval(<<'.,.,', 'parser.y', 430)
|
|
2068
2282
|
|
2069
2283
|
# reduce 71 omitted
|
2070
2284
|
|
2071
|
-
module_eval(<<'.,.,', 'parser.y',
|
2285
|
+
module_eval(<<'.,.,', 'parser.y', 644)
|
2072
2286
|
def _reduce_72(val, _values, result)
|
2073
2287
|
RBS.logger.warn "`incompatible` method attribute is deprecated and ignored."
|
2074
2288
|
|
@@ -2076,42 +2290,42 @@ module_eval(<<'.,.,', 'parser.y', 453)
|
|
2076
2290
|
end
|
2077
2291
|
.,.,
|
2078
2292
|
|
2079
|
-
module_eval(<<'.,.,', 'parser.y',
|
2293
|
+
module_eval(<<'.,.,', 'parser.y', 648)
|
2080
2294
|
def _reduce_73(val, _values, result)
|
2081
|
-
result =
|
2295
|
+
result = nil
|
2082
2296
|
result
|
2083
2297
|
end
|
2084
2298
|
.,.,
|
2085
2299
|
|
2086
|
-
module_eval(<<'.,.,', 'parser.y',
|
2300
|
+
module_eval(<<'.,.,', 'parser.y', 649)
|
2087
2301
|
def _reduce_74(val, _values, result)
|
2088
|
-
result = :singleton
|
2302
|
+
result = LocatedValue.new(value: :singleton, location: val[0].location + val[1].location)
|
2089
2303
|
result
|
2090
2304
|
end
|
2091
2305
|
.,.,
|
2092
2306
|
|
2093
|
-
module_eval(<<'.,.,', 'parser.y',
|
2307
|
+
module_eval(<<'.,.,', 'parser.y', 650)
|
2094
2308
|
def _reduce_75(val, _values, result)
|
2095
|
-
result = :singleton_instance
|
2309
|
+
result = LocatedValue.new(value: :singleton_instance, location: val[0].location + val[1].location)
|
2096
2310
|
result
|
2097
2311
|
end
|
2098
2312
|
.,.,
|
2099
2313
|
|
2100
|
-
module_eval(<<'.,.,', 'parser.y',
|
2314
|
+
module_eval(<<'.,.,', 'parser.y', 653)
|
2101
2315
|
def _reduce_76(val, _values, result)
|
2102
2316
|
result = [val[0]]
|
2103
2317
|
result
|
2104
2318
|
end
|
2105
2319
|
.,.,
|
2106
2320
|
|
2107
|
-
module_eval(<<'.,.,', 'parser.y',
|
2321
|
+
module_eval(<<'.,.,', 'parser.y', 654)
|
2108
2322
|
def _reduce_77(val, _values, result)
|
2109
2323
|
result = [LocatedValue.new(value: :dot3, location: val[0].location)]
|
2110
2324
|
result
|
2111
2325
|
end
|
2112
2326
|
.,.,
|
2113
2327
|
|
2114
|
-
module_eval(<<'.,.,', 'parser.y',
|
2328
|
+
module_eval(<<'.,.,', 'parser.y', 656)
|
2115
2329
|
def _reduce_78(val, _values, result)
|
2116
2330
|
result = val[2].unshift(val[0])
|
2117
2331
|
|
@@ -2119,7 +2333,7 @@ module_eval(<<'.,.,', 'parser.y', 465)
|
|
2119
2333
|
end
|
2120
2334
|
.,.,
|
2121
2335
|
|
2122
|
-
module_eval(<<'.,.,', 'parser.y',
|
2336
|
+
module_eval(<<'.,.,', 'parser.y', 661)
|
2123
2337
|
def _reduce_79(val, _values, result)
|
2124
2338
|
reset_variable_scope
|
2125
2339
|
|
@@ -2137,14 +2351,14 @@ module_eval(<<'.,.,', 'parser.y', 470)
|
|
2137
2351
|
end
|
2138
2352
|
.,.,
|
2139
2353
|
|
2140
|
-
module_eval(<<'.,.,', 'parser.y',
|
2354
|
+
module_eval(<<'.,.,', 'parser.y', 675)
|
2141
2355
|
def _reduce_80(val, _values, result)
|
2142
2356
|
result = nil
|
2143
2357
|
result
|
2144
2358
|
end
|
2145
2359
|
.,.,
|
2146
2360
|
|
2147
|
-
module_eval(<<'.,.,', 'parser.y',
|
2361
|
+
module_eval(<<'.,.,', 'parser.y', 677)
|
2148
2362
|
def _reduce_81(val, _values, result)
|
2149
2363
|
result = LocatedValue.new(value: val[1], location: val[0].location + val[2].location)
|
2150
2364
|
|
@@ -2152,7 +2366,7 @@ module_eval(<<'.,.,', 'parser.y', 486)
|
|
2152
2366
|
end
|
2153
2367
|
.,.,
|
2154
2368
|
|
2155
|
-
module_eval(<<'.,.,', 'parser.y',
|
2369
|
+
module_eval(<<'.,.,', 'parser.y', 682)
|
2156
2370
|
def _reduce_82(val, _values, result)
|
2157
2371
|
block = Types::Block.new(type: val[1].value, required: true)
|
2158
2372
|
result = LocatedValue.new(value: block, location: val[0].location + val[2].location)
|
@@ -2161,7 +2375,7 @@ module_eval(<<'.,.,', 'parser.y', 491)
|
|
2161
2375
|
end
|
2162
2376
|
.,.,
|
2163
2377
|
|
2164
|
-
module_eval(<<'.,.,', 'parser.y',
|
2378
|
+
module_eval(<<'.,.,', 'parser.y', 686)
|
2165
2379
|
def _reduce_83(val, _values, result)
|
2166
2380
|
block = Types::Block.new(type: val[2].value, required: false)
|
2167
2381
|
result = LocatedValue.new(value: block, location: val[0].location + val[3].location)
|
@@ -2170,9 +2384,20 @@ module_eval(<<'.,.,', 'parser.y', 495)
|
|
2170
2384
|
end
|
2171
2385
|
.,.,
|
2172
2386
|
|
2173
|
-
|
2387
|
+
module_eval(<<'.,.,', 'parser.y', 692)
|
2388
|
+
def _reduce_84(val, _values, result)
|
2389
|
+
loc = val[0].location
|
2174
2390
|
|
2175
|
-
|
2391
|
+
result = LocatedValue.new(
|
2392
|
+
value: val[0].value,
|
2393
|
+
location: Location.new(buffer: loc.buffer, start_pos: loc.start_pos, end_pos: loc.end_pos - 1)
|
2394
|
+
)
|
2395
|
+
|
2396
|
+
result
|
2397
|
+
end
|
2398
|
+
.,.,
|
2399
|
+
|
2400
|
+
module_eval(<<'.,.,', 'parser.y', 700)
|
2176
2401
|
def _reduce_85(val, _values, result)
|
2177
2402
|
result = LocatedValue.new(value: val[0].value.to_sym,
|
2178
2403
|
location: val[0].location + val[1].location)
|
@@ -2199,7 +2424,7 @@ module_eval(<<'.,.,', 'parser.y', 502)
|
|
2199
2424
|
|
2200
2425
|
# reduce 94 omitted
|
2201
2426
|
|
2202
|
-
module_eval(<<'.,.,', 'parser.y',
|
2427
|
+
module_eval(<<'.,.,', 'parser.y', 709)
|
2203
2428
|
def _reduce_95(val, _values, result)
|
2204
2429
|
unless val[0].location.pred?(val[1].location)
|
2205
2430
|
raise SyntaxError.new(token_str: "kQUESTION", error_value: val[1])
|
@@ -2212,7 +2437,7 @@ module_eval(<<'.,.,', 'parser.y', 511)
|
|
2212
2437
|
end
|
2213
2438
|
.,.,
|
2214
2439
|
|
2215
|
-
module_eval(<<'.,.,', 'parser.y',
|
2440
|
+
module_eval(<<'.,.,', 'parser.y', 717)
|
2216
2441
|
def _reduce_96(val, _values, result)
|
2217
2442
|
unless val[0].location.pred?(val[1].location)
|
2218
2443
|
raise SyntaxError.new(token_str: "kEXCLAMATION", error_value: val[1])
|
@@ -2305,14 +2530,14 @@ module_eval(<<'.,.,', 'parser.y', 519)
|
|
2305
2530
|
|
2306
2531
|
# reduce 136 omitted
|
2307
2532
|
|
2308
|
-
module_eval(<<'.,.,', 'parser.y',
|
2533
|
+
module_eval(<<'.,.,', 'parser.y', 737)
|
2309
2534
|
def _reduce_137(val, _values, result)
|
2310
2535
|
result = nil
|
2311
2536
|
result
|
2312
2537
|
end
|
2313
2538
|
.,.,
|
2314
2539
|
|
2315
|
-
module_eval(<<'.,.,', 'parser.y',
|
2540
|
+
module_eval(<<'.,.,', 'parser.y', 739)
|
2316
2541
|
def _reduce_138(val, _values, result)
|
2317
2542
|
val[1].each {|p| insert_bound_variable(p.name) }
|
2318
2543
|
|
@@ -2322,7 +2547,7 @@ module_eval(<<'.,.,', 'parser.y', 541)
|
|
2322
2547
|
end
|
2323
2548
|
.,.,
|
2324
2549
|
|
2325
|
-
module_eval(<<'.,.,', 'parser.y',
|
2550
|
+
module_eval(<<'.,.,', 'parser.y', 746)
|
2326
2551
|
def _reduce_139(val, _values, result)
|
2327
2552
|
result = Declarations::ModuleTypeParams.new()
|
2328
2553
|
result.add(val[0])
|
@@ -2331,7 +2556,7 @@ module_eval(<<'.,.,', 'parser.y', 548)
|
|
2331
2556
|
end
|
2332
2557
|
.,.,
|
2333
2558
|
|
2334
|
-
module_eval(<<'.,.,', 'parser.y',
|
2559
|
+
module_eval(<<'.,.,', 'parser.y', 750)
|
2335
2560
|
def _reduce_140(val, _values, result)
|
2336
2561
|
result = val[0].add(val[2])
|
2337
2562
|
|
@@ -2339,59 +2564,74 @@ module_eval(<<'.,.,', 'parser.y', 552)
|
|
2339
2564
|
end
|
2340
2565
|
.,.,
|
2341
2566
|
|
2342
|
-
module_eval(<<'.,.,', 'parser.y',
|
2567
|
+
module_eval(<<'.,.,', 'parser.y', 755)
|
2343
2568
|
def _reduce_141(val, _values, result)
|
2344
|
-
|
2345
|
-
|
2346
|
-
|
2569
|
+
loc = case
|
2570
|
+
when l0 = val[0].location
|
2571
|
+
l0 + val[2].location
|
2572
|
+
when l1 = val[1].location
|
2573
|
+
l1 + val[2].location
|
2574
|
+
else
|
2575
|
+
val[2].location
|
2576
|
+
end
|
2577
|
+
loc = loc.with_children(
|
2578
|
+
required: { name: val[2].location },
|
2579
|
+
optional: { variance: val[1].location, unchecked: val[0].location }
|
2580
|
+
)
|
2581
|
+
result = Declarations::ModuleTypeParams::TypeParam.new(
|
2582
|
+
name: val[2].value.to_sym,
|
2583
|
+
variance: val[1].value,
|
2584
|
+
skip_validation: val[0].value,
|
2585
|
+
location: loc
|
2586
|
+
)
|
2347
2587
|
|
2348
2588
|
result
|
2349
2589
|
end
|
2350
2590
|
.,.,
|
2351
2591
|
|
2352
|
-
module_eval(<<'.,.,', 'parser.y',
|
2592
|
+
module_eval(<<'.,.,', 'parser.y', 776)
|
2353
2593
|
def _reduce_142(val, _values, result)
|
2354
|
-
result = :invariant
|
2594
|
+
result = LocatedValue.new(value: :invariant, location: nil)
|
2355
2595
|
result
|
2356
2596
|
end
|
2357
2597
|
.,.,
|
2358
2598
|
|
2359
|
-
module_eval(<<'.,.,', 'parser.y',
|
2599
|
+
module_eval(<<'.,.,', 'parser.y', 777)
|
2360
2600
|
def _reduce_143(val, _values, result)
|
2361
|
-
result = :covariant
|
2601
|
+
result = LocatedValue.new(value: :covariant, location: val[0].location)
|
2362
2602
|
result
|
2363
2603
|
end
|
2364
2604
|
.,.,
|
2365
2605
|
|
2366
|
-
module_eval(<<'.,.,', 'parser.y',
|
2606
|
+
module_eval(<<'.,.,', 'parser.y', 778)
|
2367
2607
|
def _reduce_144(val, _values, result)
|
2368
|
-
result = :contravariant
|
2608
|
+
result = LocatedValue.new(value: :contravariant, location: val[0].location)
|
2369
2609
|
result
|
2370
2610
|
end
|
2371
2611
|
.,.,
|
2372
2612
|
|
2373
|
-
module_eval(<<'.,.,', 'parser.y',
|
2613
|
+
module_eval(<<'.,.,', 'parser.y', 781)
|
2374
2614
|
def _reduce_145(val, _values, result)
|
2375
|
-
result = false
|
2615
|
+
result = LocatedValue.new(value: false, location: nil)
|
2376
2616
|
result
|
2377
2617
|
end
|
2378
2618
|
.,.,
|
2379
2619
|
|
2380
|
-
module_eval(<<'.,.,', 'parser.y',
|
2620
|
+
module_eval(<<'.,.,', 'parser.y', 782)
|
2381
2621
|
def _reduce_146(val, _values, result)
|
2382
|
-
result = true
|
2622
|
+
result = LocatedValue.new(value: true, location: val[0].location)
|
2383
2623
|
result
|
2384
2624
|
end
|
2385
2625
|
.,.,
|
2386
2626
|
|
2387
|
-
module_eval(<<'.,.,', 'parser.y',
|
2627
|
+
module_eval(<<'.,.,', 'parser.y', 785)
|
2388
2628
|
def _reduce_147(val, _values, result)
|
2389
2629
|
result = nil
|
2390
2630
|
result
|
2391
2631
|
end
|
2392
2632
|
.,.,
|
2393
2633
|
|
2394
|
-
module_eval(<<'.,.,', 'parser.y',
|
2634
|
+
module_eval(<<'.,.,', 'parser.y', 787)
|
2395
2635
|
def _reduce_148(val, _values, result)
|
2396
2636
|
val[1].each {|var| insert_bound_variable(var) }
|
2397
2637
|
|
@@ -2402,7 +2642,7 @@ module_eval(<<'.,.,', 'parser.y', 574)
|
|
2402
2642
|
end
|
2403
2643
|
.,.,
|
2404
2644
|
|
2405
|
-
module_eval(<<'.,.,', 'parser.y',
|
2645
|
+
module_eval(<<'.,.,', 'parser.y', 795)
|
2406
2646
|
def _reduce_149(val, _values, result)
|
2407
2647
|
result = [val[0].value.to_sym]
|
2408
2648
|
|
@@ -2410,7 +2650,7 @@ module_eval(<<'.,.,', 'parser.y', 582)
|
|
2410
2650
|
end
|
2411
2651
|
.,.,
|
2412
2652
|
|
2413
|
-
module_eval(<<'.,.,', 'parser.y',
|
2653
|
+
module_eval(<<'.,.,', 'parser.y', 798)
|
2414
2654
|
def _reduce_150(val, _values, result)
|
2415
2655
|
result = val[0].push(val[2].value.to_sym)
|
2416
2656
|
|
@@ -2418,9 +2658,13 @@ module_eval(<<'.,.,', 'parser.y', 585)
|
|
2418
2658
|
end
|
2419
2659
|
.,.,
|
2420
2660
|
|
2421
|
-
module_eval(<<'.,.,', 'parser.y',
|
2661
|
+
module_eval(<<'.,.,', 'parser.y', 803)
|
2422
2662
|
def _reduce_151(val, _values, result)
|
2423
2663
|
location = val[1].location + val[3].location
|
2664
|
+
location = location.with_children(
|
2665
|
+
required: { keyword: val[1].location, new_name: val[2].location, old_name: val[3].location },
|
2666
|
+
optional: { new_kind: nil, old_kind: nil }
|
2667
|
+
)
|
2424
2668
|
result = Members::Alias.new(
|
2425
2669
|
new_name: val[2].value.to_sym,
|
2426
2670
|
old_name: val[3].value.to_sym,
|
@@ -2434,9 +2678,16 @@ module_eval(<<'.,.,', 'parser.y', 590)
|
|
2434
2678
|
end
|
2435
2679
|
.,.,
|
2436
2680
|
|
2437
|
-
module_eval(<<'.,.,', 'parser.y',
|
2681
|
+
module_eval(<<'.,.,', 'parser.y', 818)
|
2438
2682
|
def _reduce_152(val, _values, result)
|
2439
2683
|
location = val[1].location + val[7].location
|
2684
|
+
location = location.with_children(
|
2685
|
+
required: { keyword: val[1].location, new_name: val[4].location, old_name: val[7].location },
|
2686
|
+
optional: {
|
2687
|
+
new_kind: val[2].location + val[3].location,
|
2688
|
+
old_kind: val[5].location + val[6].location
|
2689
|
+
}
|
2690
|
+
)
|
2440
2691
|
result = Members::Alias.new(
|
2441
2692
|
new_name: val[4].value.to_sym,
|
2442
2693
|
old_name: val[7].value.to_sym,
|
@@ -2450,22 +2701,30 @@ module_eval(<<'.,.,', 'parser.y', 601)
|
|
2450
2701
|
end
|
2451
2702
|
.,.,
|
2452
2703
|
|
2453
|
-
module_eval(<<'.,.,', 'parser.y',
|
2704
|
+
module_eval(<<'.,.,', 'parser.y', 838)
|
2454
2705
|
def _reduce_153(val, _values, result)
|
2455
2706
|
location = val[1].location + val[4].location
|
2456
|
-
|
2457
|
-
|
2458
|
-
|
2459
|
-
|
2460
|
-
|
2707
|
+
location = location.with_children(
|
2708
|
+
required: { keyword: val[1].location, name: val[2].location, eq: val[3].location }
|
2709
|
+
)
|
2710
|
+
result = Declarations::Alias.new(
|
2711
|
+
name: val[2].value,
|
2712
|
+
type: val[4],
|
2713
|
+
annotations: val[0],
|
2714
|
+
location: location,
|
2715
|
+
comment: leading_comment(val[0].first&.location || location)
|
2716
|
+
)
|
2461
2717
|
|
2462
2718
|
result
|
2463
2719
|
end
|
2464
2720
|
.,.,
|
2465
2721
|
|
2466
|
-
module_eval(<<'.,.,', 'parser.y',
|
2722
|
+
module_eval(<<'.,.,', 'parser.y', 853)
|
2467
2723
|
def _reduce_154(val, _values, result)
|
2468
2724
|
location = val[0].location + val[2].location
|
2725
|
+
location = location.with_children(
|
2726
|
+
required: { name: val[0].location, colon: val[1].location }
|
2727
|
+
)
|
2469
2728
|
result = Declarations::Constant.new(name: val[0].value,
|
2470
2729
|
type: val[2],
|
2471
2730
|
location: location,
|
@@ -2475,9 +2734,16 @@ module_eval(<<'.,.,', 'parser.y', 624)
|
|
2475
2734
|
end
|
2476
2735
|
.,.,
|
2477
2736
|
|
2478
|
-
module_eval(<<'.,.,', 'parser.y',
|
2737
|
+
module_eval(<<'.,.,', 'parser.y', 863)
|
2479
2738
|
def _reduce_155(val, _values, result)
|
2480
2739
|
location = (val[0] || val[1]).location + val[2].location
|
2740
|
+
|
2741
|
+
lhs_loc = (val[0] || val[1]).location + val[1].location
|
2742
|
+
name_loc, colon_loc = split_kw_loc(lhs_loc)
|
2743
|
+
location = location.with_children(
|
2744
|
+
required: { name: name_loc, colon: colon_loc }
|
2745
|
+
)
|
2746
|
+
|
2481
2747
|
name = TypeName.new(name: val[1].value, namespace: val[0]&.value || Namespace.empty)
|
2482
2748
|
result = Declarations::Constant.new(name: name,
|
2483
2749
|
type: val[2],
|
@@ -2488,9 +2754,12 @@ module_eval(<<'.,.,', 'parser.y', 631)
|
|
2488
2754
|
end
|
2489
2755
|
.,.,
|
2490
2756
|
|
2491
|
-
module_eval(<<'.,.,', 'parser.y',
|
2757
|
+
module_eval(<<'.,.,', 'parser.y', 880)
|
2492
2758
|
def _reduce_156(val, _values, result)
|
2493
2759
|
location = val[0].location + val[2].location
|
2760
|
+
location = location.with_children(
|
2761
|
+
required: { name: val[0].location, colon: val[1].location }
|
2762
|
+
)
|
2494
2763
|
result = Declarations::Global.new(name: val[0].value.to_sym,
|
2495
2764
|
type: val[2],
|
2496
2765
|
location: location,
|
@@ -2502,7 +2771,7 @@ module_eval(<<'.,.,', 'parser.y', 641)
|
|
2502
2771
|
|
2503
2772
|
# reduce 157 omitted
|
2504
2773
|
|
2505
|
-
module_eval(<<'.,.,', 'parser.y',
|
2774
|
+
module_eval(<<'.,.,', 'parser.y', 893)
|
2506
2775
|
def _reduce_158(val, _values, result)
|
2507
2776
|
types = case l = val[0]
|
2508
2777
|
when Types::Union
|
@@ -2517,7 +2786,7 @@ module_eval(<<'.,.,', 'parser.y', 651)
|
|
2517
2786
|
end
|
2518
2787
|
.,.,
|
2519
2788
|
|
2520
|
-
module_eval(<<'.,.,', 'parser.y',
|
2789
|
+
module_eval(<<'.,.,', 'parser.y', 903)
|
2521
2790
|
def _reduce_159(val, _values, result)
|
2522
2791
|
types = case l = val[0]
|
2523
2792
|
when Types::Intersection
|
@@ -2533,7 +2802,7 @@ module_eval(<<'.,.,', 'parser.y', 661)
|
|
2533
2802
|
end
|
2534
2803
|
.,.,
|
2535
2804
|
|
2536
|
-
module_eval(<<'.,.,', 'parser.y',
|
2805
|
+
module_eval(<<'.,.,', 'parser.y', 916)
|
2537
2806
|
def _reduce_160(val, _values, result)
|
2538
2807
|
result = Types::Bases::Void.new(location: val[0].location)
|
2539
2808
|
|
@@ -2541,7 +2810,7 @@ module_eval(<<'.,.,', 'parser.y', 674)
|
|
2541
2810
|
end
|
2542
2811
|
.,.,
|
2543
2812
|
|
2544
|
-
module_eval(<<'.,.,', 'parser.y',
|
2813
|
+
module_eval(<<'.,.,', 'parser.y', 919)
|
2545
2814
|
def _reduce_161(val, _values, result)
|
2546
2815
|
RBS.logger.warn "`any` type is deprecated. Use `untyped` instead. (#{val[0].location.to_s})"
|
2547
2816
|
result = Types::Bases::Any.new(location: val[0].location)
|
@@ -2550,7 +2819,7 @@ module_eval(<<'.,.,', 'parser.y', 677)
|
|
2550
2819
|
end
|
2551
2820
|
.,.,
|
2552
2821
|
|
2553
|
-
module_eval(<<'.,.,', 'parser.y',
|
2822
|
+
module_eval(<<'.,.,', 'parser.y', 923)
|
2554
2823
|
def _reduce_162(val, _values, result)
|
2555
2824
|
result = Types::Bases::Any.new(location: val[0].location)
|
2556
2825
|
|
@@ -2558,7 +2827,7 @@ module_eval(<<'.,.,', 'parser.y', 681)
|
|
2558
2827
|
end
|
2559
2828
|
.,.,
|
2560
2829
|
|
2561
|
-
module_eval(<<'.,.,', 'parser.y',
|
2830
|
+
module_eval(<<'.,.,', 'parser.y', 926)
|
2562
2831
|
def _reduce_163(val, _values, result)
|
2563
2832
|
result = Types::Bases::Bool.new(location: val[0].location)
|
2564
2833
|
|
@@ -2566,7 +2835,7 @@ module_eval(<<'.,.,', 'parser.y', 684)
|
|
2566
2835
|
end
|
2567
2836
|
.,.,
|
2568
2837
|
|
2569
|
-
module_eval(<<'.,.,', 'parser.y',
|
2838
|
+
module_eval(<<'.,.,', 'parser.y', 929)
|
2570
2839
|
def _reduce_164(val, _values, result)
|
2571
2840
|
result = Types::Bases::Nil.new(location: val[0].location)
|
2572
2841
|
|
@@ -2574,7 +2843,7 @@ module_eval(<<'.,.,', 'parser.y', 687)
|
|
2574
2843
|
end
|
2575
2844
|
.,.,
|
2576
2845
|
|
2577
|
-
module_eval(<<'.,.,', 'parser.y',
|
2846
|
+
module_eval(<<'.,.,', 'parser.y', 932)
|
2578
2847
|
def _reduce_165(val, _values, result)
|
2579
2848
|
result = Types::Bases::Top.new(location: val[0].location)
|
2580
2849
|
|
@@ -2582,7 +2851,7 @@ module_eval(<<'.,.,', 'parser.y', 690)
|
|
2582
2851
|
end
|
2583
2852
|
.,.,
|
2584
2853
|
|
2585
|
-
module_eval(<<'.,.,', 'parser.y',
|
2854
|
+
module_eval(<<'.,.,', 'parser.y', 935)
|
2586
2855
|
def _reduce_166(val, _values, result)
|
2587
2856
|
result = Types::Bases::Bottom.new(location: val[0].location)
|
2588
2857
|
|
@@ -2590,7 +2859,7 @@ module_eval(<<'.,.,', 'parser.y', 693)
|
|
2590
2859
|
end
|
2591
2860
|
.,.,
|
2592
2861
|
|
2593
|
-
module_eval(<<'.,.,', 'parser.y',
|
2862
|
+
module_eval(<<'.,.,', 'parser.y', 938)
|
2594
2863
|
def _reduce_167(val, _values, result)
|
2595
2864
|
result = Types::Bases::Self.new(location: val[0].location)
|
2596
2865
|
|
@@ -2598,7 +2867,7 @@ module_eval(<<'.,.,', 'parser.y', 696)
|
|
2598
2867
|
end
|
2599
2868
|
.,.,
|
2600
2869
|
|
2601
|
-
module_eval(<<'.,.,', 'parser.y',
|
2870
|
+
module_eval(<<'.,.,', 'parser.y', 941)
|
2602
2871
|
def _reduce_168(val, _values, result)
|
2603
2872
|
result = Types::Optional.new(type: Types::Bases::Self.new(location: val[0].location),
|
2604
2873
|
location: val[0].location)
|
@@ -2607,7 +2876,7 @@ module_eval(<<'.,.,', 'parser.y', 699)
|
|
2607
2876
|
end
|
2608
2877
|
.,.,
|
2609
2878
|
|
2610
|
-
module_eval(<<'.,.,', 'parser.y',
|
2879
|
+
module_eval(<<'.,.,', 'parser.y', 945)
|
2611
2880
|
def _reduce_169(val, _values, result)
|
2612
2881
|
result = Types::Bases::Instance.new(location: val[0].location)
|
2613
2882
|
|
@@ -2615,7 +2884,7 @@ module_eval(<<'.,.,', 'parser.y', 703)
|
|
2615
2884
|
end
|
2616
2885
|
.,.,
|
2617
2886
|
|
2618
|
-
module_eval(<<'.,.,', 'parser.y',
|
2887
|
+
module_eval(<<'.,.,', 'parser.y', 948)
|
2619
2888
|
def _reduce_170(val, _values, result)
|
2620
2889
|
result = Types::Bases::Class.new(location: val[0].location)
|
2621
2890
|
|
@@ -2623,7 +2892,7 @@ module_eval(<<'.,.,', 'parser.y', 706)
|
|
2623
2892
|
end
|
2624
2893
|
.,.,
|
2625
2894
|
|
2626
|
-
module_eval(<<'.,.,', 'parser.y',
|
2895
|
+
module_eval(<<'.,.,', 'parser.y', 951)
|
2627
2896
|
def _reduce_171(val, _values, result)
|
2628
2897
|
result = Types::Literal.new(literal: true, location: val[0].location)
|
2629
2898
|
|
@@ -2631,7 +2900,7 @@ module_eval(<<'.,.,', 'parser.y', 709)
|
|
2631
2900
|
end
|
2632
2901
|
.,.,
|
2633
2902
|
|
2634
|
-
module_eval(<<'.,.,', 'parser.y',
|
2903
|
+
module_eval(<<'.,.,', 'parser.y', 954)
|
2635
2904
|
def _reduce_172(val, _values, result)
|
2636
2905
|
result = Types::Literal.new(literal: false, location: val[0].location)
|
2637
2906
|
|
@@ -2639,7 +2908,7 @@ module_eval(<<'.,.,', 'parser.y', 712)
|
|
2639
2908
|
end
|
2640
2909
|
.,.,
|
2641
2910
|
|
2642
|
-
module_eval(<<'.,.,', 'parser.y',
|
2911
|
+
module_eval(<<'.,.,', 'parser.y', 957)
|
2643
2912
|
def _reduce_173(val, _values, result)
|
2644
2913
|
result = Types::Literal.new(literal: val[0].value, location: val[0].location)
|
2645
2914
|
|
@@ -2647,7 +2916,7 @@ module_eval(<<'.,.,', 'parser.y', 715)
|
|
2647
2916
|
end
|
2648
2917
|
.,.,
|
2649
2918
|
|
2650
|
-
module_eval(<<'.,.,', 'parser.y',
|
2919
|
+
module_eval(<<'.,.,', 'parser.y', 960)
|
2651
2920
|
def _reduce_174(val, _values, result)
|
2652
2921
|
result = Types::Literal.new(literal: val[0].value, location: val[0].location)
|
2653
2922
|
|
@@ -2655,7 +2924,7 @@ module_eval(<<'.,.,', 'parser.y', 718)
|
|
2655
2924
|
end
|
2656
2925
|
.,.,
|
2657
2926
|
|
2658
|
-
module_eval(<<'.,.,', 'parser.y',
|
2927
|
+
module_eval(<<'.,.,', 'parser.y', 963)
|
2659
2928
|
def _reduce_175(val, _values, result)
|
2660
2929
|
result = Types::Literal.new(literal: val[0].value, location: val[0].location)
|
2661
2930
|
|
@@ -2663,7 +2932,7 @@ module_eval(<<'.,.,', 'parser.y', 721)
|
|
2663
2932
|
end
|
2664
2933
|
.,.,
|
2665
2934
|
|
2666
|
-
module_eval(<<'.,.,', 'parser.y',
|
2935
|
+
module_eval(<<'.,.,', 'parser.y', 966)
|
2667
2936
|
def _reduce_176(val, _values, result)
|
2668
2937
|
name = val[0].value
|
2669
2938
|
args = []
|
@@ -2674,11 +2943,23 @@ module_eval(<<'.,.,', 'parser.y', 724)
|
|
2674
2943
|
if is_bound_variable?(name.name)
|
2675
2944
|
result = Types::Variable.new(name: name.name, location: location)
|
2676
2945
|
else
|
2946
|
+
location = location.with_children(
|
2947
|
+
required: { name: val[0].location },
|
2948
|
+
optional: { args: nil }
|
2949
|
+
)
|
2677
2950
|
result = Types::ClassInstance.new(name: name, args: args, location: location)
|
2678
2951
|
end
|
2679
2952
|
when name.alias?
|
2953
|
+
location = location.with_children(
|
2954
|
+
required: { name: val[0].location },
|
2955
|
+
optional: { args: nil }
|
2956
|
+
)
|
2680
2957
|
result = Types::Alias.new(name: name, location: location)
|
2681
2958
|
when name.interface?
|
2959
|
+
location = location.with_children(
|
2960
|
+
required: { name: val[0].location },
|
2961
|
+
optional: { args: nil }
|
2962
|
+
)
|
2682
2963
|
result = Types::Interface.new(name: name, args: args, location: location)
|
2683
2964
|
end
|
2684
2965
|
|
@@ -2686,7 +2967,7 @@ module_eval(<<'.,.,', 'parser.y', 724)
|
|
2686
2967
|
end
|
2687
2968
|
.,.,
|
2688
2969
|
|
2689
|
-
module_eval(<<'.,.,', 'parser.y',
|
2970
|
+
module_eval(<<'.,.,', 'parser.y', 996)
|
2690
2971
|
def _reduce_177(val, _values, result)
|
2691
2972
|
name = val[0].value
|
2692
2973
|
args = val[2]
|
@@ -2697,8 +2978,16 @@ module_eval(<<'.,.,', 'parser.y', 742)
|
|
2697
2978
|
if is_bound_variable?(name.name)
|
2698
2979
|
raise SemanticsError.new("#{name.name} is type variable and cannot be applied", subject: name, location: location)
|
2699
2980
|
end
|
2981
|
+
location = location.with_children(
|
2982
|
+
required: { name: val[0].location },
|
2983
|
+
optional: { args: val[1].location + val[3].location }
|
2984
|
+
)
|
2700
2985
|
result = Types::ClassInstance.new(name: name, args: args, location: location)
|
2701
2986
|
when name.interface?
|
2987
|
+
location = location.with_children(
|
2988
|
+
required: { name: val[0].location },
|
2989
|
+
optional: { args: val[1].location + val[3].location }
|
2990
|
+
)
|
2702
2991
|
result = Types::Interface.new(name: name, args: args, location: location)
|
2703
2992
|
else
|
2704
2993
|
raise SyntaxError.new(token_str: "kLBRACKET", error_value: val[1])
|
@@ -2708,7 +2997,7 @@ module_eval(<<'.,.,', 'parser.y', 742)
|
|
2708
2997
|
end
|
2709
2998
|
.,.,
|
2710
2999
|
|
2711
|
-
module_eval(<<'.,.,', 'parser.y',
|
3000
|
+
module_eval(<<'.,.,', 'parser.y', 1021)
|
2712
3001
|
def _reduce_178(val, _values, result)
|
2713
3002
|
location = val[0].location + val[1].location
|
2714
3003
|
result = Types::Tuple.new(types: [], location: location)
|
@@ -2717,7 +3006,7 @@ module_eval(<<'.,.,', 'parser.y', 759)
|
|
2717
3006
|
end
|
2718
3007
|
.,.,
|
2719
3008
|
|
2720
|
-
module_eval(<<'.,.,', 'parser.y',
|
3009
|
+
module_eval(<<'.,.,', 'parser.y', 1025)
|
2721
3010
|
def _reduce_179(val, _values, result)
|
2722
3011
|
location = val[0].location + val[3].location
|
2723
3012
|
types = val[1]
|
@@ -2727,7 +3016,7 @@ module_eval(<<'.,.,', 'parser.y', 763)
|
|
2727
3016
|
end
|
2728
3017
|
.,.,
|
2729
3018
|
|
2730
|
-
module_eval(<<'.,.,', 'parser.y',
|
3019
|
+
module_eval(<<'.,.,', 'parser.y', 1030)
|
2731
3020
|
def _reduce_180(val, _values, result)
|
2732
3021
|
type = val[1].dup
|
2733
3022
|
type.instance_eval do
|
@@ -2739,16 +3028,19 @@ module_eval(<<'.,.,', 'parser.y', 768)
|
|
2739
3028
|
end
|
2740
3029
|
.,.,
|
2741
3030
|
|
2742
|
-
module_eval(<<'.,.,', 'parser.y',
|
3031
|
+
module_eval(<<'.,.,', 'parser.y', 1037)
|
2743
3032
|
def _reduce_181(val, _values, result)
|
2744
|
-
|
2745
|
-
|
3033
|
+
location = val[0].location + val[3].location
|
3034
|
+
location = location.with_children(
|
3035
|
+
required: { name: val[2].location }
|
3036
|
+
)
|
3037
|
+
result = Types::ClassSingleton.new(name: val[2].value, location: location)
|
2746
3038
|
|
2747
3039
|
result
|
2748
3040
|
end
|
2749
3041
|
.,.,
|
2750
3042
|
|
2751
|
-
module_eval(<<'.,.,', 'parser.y',
|
3043
|
+
module_eval(<<'.,.,', 'parser.y', 1044)
|
2752
3044
|
def _reduce_182(val, _values, result)
|
2753
3045
|
type, block = val[1].value
|
2754
3046
|
result = Types::Proc.new(type: type, block: block, location: val[0].location + val[1].location)
|
@@ -2757,7 +3049,7 @@ module_eval(<<'.,.,', 'parser.y', 779)
|
|
2757
3049
|
end
|
2758
3050
|
.,.,
|
2759
3051
|
|
2760
|
-
module_eval(<<'.,.,', 'parser.y',
|
3052
|
+
module_eval(<<'.,.,', 'parser.y', 1048)
|
2761
3053
|
def _reduce_183(val, _values, result)
|
2762
3054
|
result = Types::Optional.new(type: val[0], location: val[0].location + val[1].location)
|
2763
3055
|
|
@@ -2767,7 +3059,7 @@ module_eval(<<'.,.,', 'parser.y', 783)
|
|
2767
3059
|
|
2768
3060
|
# reduce 184 omitted
|
2769
3061
|
|
2770
|
-
module_eval(<<'.,.,', 'parser.y',
|
3062
|
+
module_eval(<<'.,.,', 'parser.y', 1054)
|
2771
3063
|
def _reduce_185(val, _values, result)
|
2772
3064
|
result = [val[0]]
|
2773
3065
|
|
@@ -2775,7 +3067,7 @@ module_eval(<<'.,.,', 'parser.y', 789)
|
|
2775
3067
|
end
|
2776
3068
|
.,.,
|
2777
3069
|
|
2778
|
-
module_eval(<<'.,.,', 'parser.y',
|
3070
|
+
module_eval(<<'.,.,', 'parser.y', 1057)
|
2779
3071
|
def _reduce_186(val, _values, result)
|
2780
3072
|
result = val[0] + [val[2]]
|
2781
3073
|
|
@@ -2783,7 +3075,7 @@ module_eval(<<'.,.,', 'parser.y', 792)
|
|
2783
3075
|
end
|
2784
3076
|
.,.,
|
2785
3077
|
|
2786
|
-
module_eval(<<'.,.,', 'parser.y',
|
3078
|
+
module_eval(<<'.,.,', 'parser.y', 1062)
|
2787
3079
|
def _reduce_187(val, _values, result)
|
2788
3080
|
result = Types::Record.new(
|
2789
3081
|
fields: val[1],
|
@@ -2794,7 +3086,7 @@ module_eval(<<'.,.,', 'parser.y', 797)
|
|
2794
3086
|
end
|
2795
3087
|
.,.,
|
2796
3088
|
|
2797
|
-
module_eval(<<'.,.,', 'parser.y',
|
3089
|
+
module_eval(<<'.,.,', 'parser.y', 1070)
|
2798
3090
|
def _reduce_188(val, _values, result)
|
2799
3091
|
result = val[0]
|
2800
3092
|
|
@@ -2802,7 +3094,7 @@ module_eval(<<'.,.,', 'parser.y', 805)
|
|
2802
3094
|
end
|
2803
3095
|
.,.,
|
2804
3096
|
|
2805
|
-
module_eval(<<'.,.,', 'parser.y',
|
3097
|
+
module_eval(<<'.,.,', 'parser.y', 1073)
|
2806
3098
|
def _reduce_189(val, _values, result)
|
2807
3099
|
result = val[0].merge!(val[2])
|
2808
3100
|
|
@@ -2810,7 +3102,7 @@ module_eval(<<'.,.,', 'parser.y', 808)
|
|
2810
3102
|
end
|
2811
3103
|
.,.,
|
2812
3104
|
|
2813
|
-
module_eval(<<'.,.,', 'parser.y',
|
3105
|
+
module_eval(<<'.,.,', 'parser.y', 1078)
|
2814
3106
|
def _reduce_190(val, _values, result)
|
2815
3107
|
result = { val[0].value => val[2] }
|
2816
3108
|
|
@@ -2818,7 +3110,7 @@ module_eval(<<'.,.,', 'parser.y', 813)
|
|
2818
3110
|
end
|
2819
3111
|
.,.,
|
2820
3112
|
|
2821
|
-
module_eval(<<'.,.,', 'parser.y',
|
3113
|
+
module_eval(<<'.,.,', 'parser.y', 1081)
|
2822
3114
|
def _reduce_191(val, _values, result)
|
2823
3115
|
result = { val[0].value => val[2] }
|
2824
3116
|
|
@@ -2826,7 +3118,7 @@ module_eval(<<'.,.,', 'parser.y', 816)
|
|
2826
3118
|
end
|
2827
3119
|
.,.,
|
2828
3120
|
|
2829
|
-
module_eval(<<'.,.,', 'parser.y',
|
3121
|
+
module_eval(<<'.,.,', 'parser.y', 1084)
|
2830
3122
|
def _reduce_192(val, _values, result)
|
2831
3123
|
result = { val[0].value => val[2] }
|
2832
3124
|
|
@@ -2834,7 +3126,7 @@ module_eval(<<'.,.,', 'parser.y', 819)
|
|
2834
3126
|
end
|
2835
3127
|
.,.,
|
2836
3128
|
|
2837
|
-
module_eval(<<'.,.,', 'parser.y',
|
3129
|
+
module_eval(<<'.,.,', 'parser.y', 1087)
|
2838
3130
|
def _reduce_193(val, _values, result)
|
2839
3131
|
result = { val[0].value => val[1] }
|
2840
3132
|
|
@@ -2842,7 +3134,7 @@ module_eval(<<'.,.,', 'parser.y', 822)
|
|
2842
3134
|
end
|
2843
3135
|
.,.,
|
2844
3136
|
|
2845
|
-
module_eval(<<'.,.,', 'parser.y',
|
3137
|
+
module_eval(<<'.,.,', 'parser.y', 1090)
|
2846
3138
|
def _reduce_194(val, _values, result)
|
2847
3139
|
result = { val[0].value => val[2] }
|
2848
3140
|
|
@@ -2850,7 +3142,7 @@ module_eval(<<'.,.,', 'parser.y', 825)
|
|
2850
3142
|
end
|
2851
3143
|
.,.,
|
2852
3144
|
|
2853
|
-
module_eval(<<'.,.,', 'parser.y',
|
3145
|
+
module_eval(<<'.,.,', 'parser.y', 1093)
|
2854
3146
|
def _reduce_195(val, _values, result)
|
2855
3147
|
result = { val[0].value => val[2] }
|
2856
3148
|
|
@@ -2858,7 +3150,7 @@ module_eval(<<'.,.,', 'parser.y', 828)
|
|
2858
3150
|
end
|
2859
3151
|
.,.,
|
2860
3152
|
|
2861
|
-
module_eval(<<'.,.,', 'parser.y',
|
3153
|
+
module_eval(<<'.,.,', 'parser.y', 1096)
|
2862
3154
|
def _reduce_196(val, _values, result)
|
2863
3155
|
result = { val[0].value => val[2] }
|
2864
3156
|
|
@@ -2868,7 +3160,7 @@ module_eval(<<'.,.,', 'parser.y', 831)
|
|
2868
3160
|
|
2869
3161
|
# reduce 197 omitted
|
2870
3162
|
|
2871
|
-
module_eval(<<'.,.,', 'parser.y',
|
3163
|
+
module_eval(<<'.,.,', 'parser.y', 1102)
|
2872
3164
|
def _reduce_198(val, _values, result)
|
2873
3165
|
result = val[0]
|
2874
3166
|
|
@@ -2884,7 +3176,7 @@ module_eval(<<'.,.,', 'parser.y', 837)
|
|
2884
3176
|
|
2885
3177
|
# reduce 202 omitted
|
2886
3178
|
|
2887
|
-
module_eval(<<'.,.,', 'parser.y',
|
3179
|
+
module_eval(<<'.,.,', 'parser.y', 1109)
|
2888
3180
|
def _reduce_203(val, _values, result)
|
2889
3181
|
location = (val[0] || val[1] || val[2]).location + val[3].location
|
2890
3182
|
|
@@ -2909,7 +3201,7 @@ module_eval(<<'.,.,', 'parser.y', 844)
|
|
2909
3201
|
end
|
2910
3202
|
.,.,
|
2911
3203
|
|
2912
|
-
module_eval(<<'.,.,', 'parser.y',
|
3204
|
+
module_eval(<<'.,.,', 'parser.y', 1129)
|
2913
3205
|
def _reduce_204(val, _values, result)
|
2914
3206
|
result = LocatedValue.new(value: [val[0].value, nil], location: val[0].location)
|
2915
3207
|
|
@@ -2917,7 +3209,7 @@ module_eval(<<'.,.,', 'parser.y', 864)
|
|
2917
3209
|
end
|
2918
3210
|
.,.,
|
2919
3211
|
|
2920
|
-
module_eval(<<'.,.,', 'parser.y',
|
3212
|
+
module_eval(<<'.,.,', 'parser.y', 1134)
|
2921
3213
|
def _reduce_205(val, _values, result)
|
2922
3214
|
location = val[0].location + val[4].location
|
2923
3215
|
type = Types::Function.new(
|
@@ -2937,7 +3229,7 @@ module_eval(<<'.,.,', 'parser.y', 869)
|
|
2937
3229
|
end
|
2938
3230
|
.,.,
|
2939
3231
|
|
2940
|
-
module_eval(<<'.,.,', 'parser.y',
|
3232
|
+
module_eval(<<'.,.,', 'parser.y', 1149)
|
2941
3233
|
def _reduce_206(val, _values, result)
|
2942
3234
|
location = val[0].location + val[1].location
|
2943
3235
|
type = Types::Function.new(
|
@@ -2957,7 +3249,7 @@ module_eval(<<'.,.,', 'parser.y', 884)
|
|
2957
3249
|
end
|
2958
3250
|
.,.,
|
2959
3251
|
|
2960
|
-
module_eval(<<'.,.,', 'parser.y',
|
3252
|
+
module_eval(<<'.,.,', 'parser.y', 1166)
|
2961
3253
|
def _reduce_207(val, _values, result)
|
2962
3254
|
result = val[2]
|
2963
3255
|
result[0].unshift(val[0])
|
@@ -2966,7 +3258,7 @@ module_eval(<<'.,.,', 'parser.y', 901)
|
|
2966
3258
|
end
|
2967
3259
|
.,.,
|
2968
3260
|
|
2969
|
-
module_eval(<<'.,.,', 'parser.y',
|
3261
|
+
module_eval(<<'.,.,', 'parser.y', 1170)
|
2970
3262
|
def _reduce_208(val, _values, result)
|
2971
3263
|
result = empty_params_result
|
2972
3264
|
result[0].unshift(val[0])
|
@@ -2977,7 +3269,7 @@ module_eval(<<'.,.,', 'parser.y', 905)
|
|
2977
3269
|
|
2978
3270
|
# reduce 209 omitted
|
2979
3271
|
|
2980
|
-
module_eval(<<'.,.,', 'parser.y',
|
3272
|
+
module_eval(<<'.,.,', 'parser.y', 1177)
|
2981
3273
|
def _reduce_210(val, _values, result)
|
2982
3274
|
result = val[2]
|
2983
3275
|
result[1].unshift(val[0])
|
@@ -2986,7 +3278,7 @@ module_eval(<<'.,.,', 'parser.y', 912)
|
|
2986
3278
|
end
|
2987
3279
|
.,.,
|
2988
3280
|
|
2989
|
-
module_eval(<<'.,.,', 'parser.y',
|
3281
|
+
module_eval(<<'.,.,', 'parser.y', 1181)
|
2990
3282
|
def _reduce_211(val, _values, result)
|
2991
3283
|
result = empty_params_result
|
2992
3284
|
result[1].unshift(val[0])
|
@@ -2997,7 +3289,7 @@ module_eval(<<'.,.,', 'parser.y', 916)
|
|
2997
3289
|
|
2998
3290
|
# reduce 212 omitted
|
2999
3291
|
|
3000
|
-
module_eval(<<'.,.,', 'parser.y',
|
3292
|
+
module_eval(<<'.,.,', 'parser.y', 1188)
|
3001
3293
|
def _reduce_213(val, _values, result)
|
3002
3294
|
result = val[2]
|
3003
3295
|
result[2] = val[0]
|
@@ -3006,7 +3298,7 @@ module_eval(<<'.,.,', 'parser.y', 923)
|
|
3006
3298
|
end
|
3007
3299
|
.,.,
|
3008
3300
|
|
3009
|
-
module_eval(<<'.,.,', 'parser.y',
|
3301
|
+
module_eval(<<'.,.,', 'parser.y', 1192)
|
3010
3302
|
def _reduce_214(val, _values, result)
|
3011
3303
|
result = empty_params_result
|
3012
3304
|
result[2] = val[0]
|
@@ -3017,7 +3309,7 @@ module_eval(<<'.,.,', 'parser.y', 927)
|
|
3017
3309
|
|
3018
3310
|
# reduce 215 omitted
|
3019
3311
|
|
3020
|
-
module_eval(<<'.,.,', 'parser.y',
|
3312
|
+
module_eval(<<'.,.,', 'parser.y', 1199)
|
3021
3313
|
def _reduce_216(val, _values, result)
|
3022
3314
|
result = val[2]
|
3023
3315
|
result[3].unshift(val[0])
|
@@ -3026,7 +3318,7 @@ module_eval(<<'.,.,', 'parser.y', 934)
|
|
3026
3318
|
end
|
3027
3319
|
.,.,
|
3028
3320
|
|
3029
|
-
module_eval(<<'.,.,', 'parser.y',
|
3321
|
+
module_eval(<<'.,.,', 'parser.y', 1203)
|
3030
3322
|
def _reduce_217(val, _values, result)
|
3031
3323
|
result = empty_params_result
|
3032
3324
|
result[3].unshift(val[0])
|
@@ -3037,7 +3329,7 @@ module_eval(<<'.,.,', 'parser.y', 938)
|
|
3037
3329
|
|
3038
3330
|
# reduce 218 omitted
|
3039
3331
|
|
3040
|
-
module_eval(<<'.,.,', 'parser.y',
|
3332
|
+
module_eval(<<'.,.,', 'parser.y', 1210)
|
3041
3333
|
def _reduce_219(val, _values, result)
|
3042
3334
|
result = empty_params_result
|
3043
3335
|
|
@@ -3045,7 +3337,7 @@ module_eval(<<'.,.,', 'parser.y', 945)
|
|
3045
3337
|
end
|
3046
3338
|
.,.,
|
3047
3339
|
|
3048
|
-
module_eval(<<'.,.,', 'parser.y',
|
3340
|
+
module_eval(<<'.,.,', 'parser.y', 1213)
|
3049
3341
|
def _reduce_220(val, _values, result)
|
3050
3342
|
result = val[2]
|
3051
3343
|
result[4].merge!(val[0])
|
@@ -3054,7 +3346,7 @@ module_eval(<<'.,.,', 'parser.y', 948)
|
|
3054
3346
|
end
|
3055
3347
|
.,.,
|
3056
3348
|
|
3057
|
-
module_eval(<<'.,.,', 'parser.y',
|
3349
|
+
module_eval(<<'.,.,', 'parser.y', 1217)
|
3058
3350
|
def _reduce_221(val, _values, result)
|
3059
3351
|
result = empty_params_result
|
3060
3352
|
result[4].merge!(val[0])
|
@@ -3063,7 +3355,7 @@ module_eval(<<'.,.,', 'parser.y', 952)
|
|
3063
3355
|
end
|
3064
3356
|
.,.,
|
3065
3357
|
|
3066
|
-
module_eval(<<'.,.,', 'parser.y',
|
3358
|
+
module_eval(<<'.,.,', 'parser.y', 1221)
|
3067
3359
|
def _reduce_222(val, _values, result)
|
3068
3360
|
result = val[2]
|
3069
3361
|
result[5].merge!(val[0])
|
@@ -3072,7 +3364,7 @@ module_eval(<<'.,.,', 'parser.y', 956)
|
|
3072
3364
|
end
|
3073
3365
|
.,.,
|
3074
3366
|
|
3075
|
-
module_eval(<<'.,.,', 'parser.y',
|
3367
|
+
module_eval(<<'.,.,', 'parser.y', 1225)
|
3076
3368
|
def _reduce_223(val, _values, result)
|
3077
3369
|
result = empty_params_result
|
3078
3370
|
result[5].merge!(val[0])
|
@@ -3081,7 +3373,7 @@ module_eval(<<'.,.,', 'parser.y', 960)
|
|
3081
3373
|
end
|
3082
3374
|
.,.,
|
3083
3375
|
|
3084
|
-
module_eval(<<'.,.,', 'parser.y',
|
3376
|
+
module_eval(<<'.,.,', 'parser.y', 1229)
|
3085
3377
|
def _reduce_224(val, _values, result)
|
3086
3378
|
result = empty_params_result
|
3087
3379
|
result[6] = val[0]
|
@@ -3090,57 +3382,114 @@ module_eval(<<'.,.,', 'parser.y', 964)
|
|
3090
3382
|
end
|
3091
3383
|
.,.,
|
3092
3384
|
|
3093
|
-
module_eval(<<'.,.,', 'parser.y',
|
3385
|
+
module_eval(<<'.,.,', 'parser.y', 1235)
|
3094
3386
|
def _reduce_225(val, _values, result)
|
3095
|
-
|
3096
|
-
|
3387
|
+
loc = val[0].location
|
3388
|
+
if var_name = val[1]
|
3389
|
+
loc = loc + var_name.location
|
3390
|
+
end
|
3391
|
+
loc = loc.with_children(optional: { name: var_name&.location })
|
3392
|
+
|
3393
|
+
result = Types::Function::Param.new(
|
3394
|
+
type: val[0],
|
3395
|
+
name: var_name&.value&.to_sym,
|
3396
|
+
location: loc
|
3397
|
+
)
|
3097
3398
|
|
3098
3399
|
result
|
3099
3400
|
end
|
3100
3401
|
.,.,
|
3101
3402
|
|
3102
|
-
module_eval(<<'.,.,', 'parser.y',
|
3403
|
+
module_eval(<<'.,.,', 'parser.y', 1250)
|
3103
3404
|
def _reduce_226(val, _values, result)
|
3104
|
-
|
3105
|
-
|
3405
|
+
loc = val[0].location + val[1].location
|
3406
|
+
if var_name = val[2]
|
3407
|
+
loc = loc + var_name.location
|
3408
|
+
end
|
3409
|
+
loc = loc.with_children(optional: { name: var_name&.location })
|
3410
|
+
|
3411
|
+
result = Types::Function::Param.new(
|
3412
|
+
type: val[1],
|
3413
|
+
name: val[2]&.value&.to_sym,
|
3414
|
+
location: loc
|
3415
|
+
)
|
3106
3416
|
|
3107
3417
|
result
|
3108
3418
|
end
|
3109
3419
|
.,.,
|
3110
3420
|
|
3111
|
-
module_eval(<<'.,.,', 'parser.y',
|
3421
|
+
module_eval(<<'.,.,', 'parser.y', 1265)
|
3112
3422
|
def _reduce_227(val, _values, result)
|
3113
|
-
|
3114
|
-
|
3423
|
+
loc = val[0].location + val[1].location
|
3424
|
+
if var_name = val[2]
|
3425
|
+
loc = loc + var_name.location
|
3426
|
+
end
|
3427
|
+
loc = loc.with_children(optional: { name: var_name&.location })
|
3428
|
+
|
3429
|
+
result = Types::Function::Param.new(
|
3430
|
+
type: val[1],
|
3431
|
+
name: val[2]&.value&.to_sym,
|
3432
|
+
location: loc
|
3433
|
+
)
|
3115
3434
|
|
3116
3435
|
result
|
3117
3436
|
end
|
3118
3437
|
.,.,
|
3119
3438
|
|
3120
|
-
module_eval(<<'.,.,', 'parser.y',
|
3439
|
+
module_eval(<<'.,.,', 'parser.y', 1280)
|
3121
3440
|
def _reduce_228(val, _values, result)
|
3122
|
-
|
3123
|
-
|
3441
|
+
loc = val[0].location + val[1].location
|
3442
|
+
if var_name = val[2]
|
3443
|
+
loc = loc + var_name.location
|
3444
|
+
end
|
3445
|
+
|
3446
|
+
loc = loc.with_children(optional: { name: var_name&.location })
|
3447
|
+
|
3448
|
+
param = Types::Function::Param.new(
|
3449
|
+
type: val[1],
|
3450
|
+
name: val[2]&.value&.to_sym,
|
3451
|
+
location: loc
|
3452
|
+
)
|
3124
3453
|
result = { val[0].value => param }
|
3125
3454
|
|
3126
3455
|
result
|
3127
3456
|
end
|
3128
3457
|
.,.,
|
3129
3458
|
|
3130
|
-
module_eval(<<'.,.,', 'parser.y',
|
3459
|
+
module_eval(<<'.,.,', 'parser.y', 1297)
|
3131
3460
|
def _reduce_229(val, _values, result)
|
3132
|
-
|
3133
|
-
|
3461
|
+
loc = val[0].location + val[2].location
|
3462
|
+
if var_name = val[3]
|
3463
|
+
loc = loc + var_name.location
|
3464
|
+
end
|
3465
|
+
|
3466
|
+
loc = loc.with_children(optional: { name: var_name&.location })
|
3467
|
+
|
3468
|
+
param = Types::Function::Param.new(
|
3469
|
+
type: val[2],
|
3470
|
+
name: val[3]&.value&.to_sym,
|
3471
|
+
location: loc
|
3472
|
+
)
|
3134
3473
|
result = { val[1].value => param }
|
3135
3474
|
|
3136
3475
|
result
|
3137
3476
|
end
|
3138
3477
|
.,.,
|
3139
3478
|
|
3140
|
-
module_eval(<<'.,.,', 'parser.y',
|
3479
|
+
module_eval(<<'.,.,', 'parser.y', 1314)
|
3141
3480
|
def _reduce_230(val, _values, result)
|
3142
|
-
|
3143
|
-
|
3481
|
+
loc = val[0].location + val[1].location
|
3482
|
+
if var_name = val[2]
|
3483
|
+
loc = loc + var_name.location
|
3484
|
+
end
|
3485
|
+
|
3486
|
+
loc = loc.with_children(optional: { name: var_name&.location })
|
3487
|
+
|
3488
|
+
result = Types::Function::Param.new(
|
3489
|
+
type: val[1],
|
3490
|
+
name: val[2]&.value&.to_sym,
|
3491
|
+
location: loc
|
3492
|
+
)
|
3144
3493
|
|
3145
3494
|
result
|
3146
3495
|
end
|
@@ -3154,8 +3503,12 @@ module_eval(<<'.,.,', 'parser.y', 1002)
|
|
3154
3503
|
|
3155
3504
|
# reduce 234 omitted
|
3156
3505
|
|
3157
|
-
|
3158
|
-
|
3506
|
+
# reduce 235 omitted
|
3507
|
+
|
3508
|
+
# reduce 236 omitted
|
3509
|
+
|
3510
|
+
module_eval(<<'.,.,', 'parser.y', 1333)
|
3511
|
+
def _reduce_237(val, _values, result)
|
3159
3512
|
namespace = val[0]&.value || Namespace.empty
|
3160
3513
|
name = val[1].value.to_sym
|
3161
3514
|
type_name = TypeName.new(namespace: namespace, name: name)
|
@@ -3166,14 +3519,14 @@ module_eval(<<'.,.,', 'parser.y', 1011)
|
|
3166
3519
|
end
|
3167
3520
|
.,.,
|
3168
3521
|
|
3169
|
-
# reduce
|
3522
|
+
# reduce 238 omitted
|
3170
3523
|
|
3171
|
-
# reduce
|
3524
|
+
# reduce 239 omitted
|
3172
3525
|
|
3173
|
-
# reduce
|
3526
|
+
# reduce 240 omitted
|
3174
3527
|
|
3175
|
-
module_eval(<<'.,.,', 'parser.y',
|
3176
|
-
def
|
3528
|
+
module_eval(<<'.,.,', 'parser.y', 1345)
|
3529
|
+
def _reduce_241(val, _values, result)
|
3177
3530
|
namespace = val[0]&.value || Namespace.empty
|
3178
3531
|
name = val[1].value.to_sym
|
3179
3532
|
type_name = TypeName.new(namespace: namespace, name: name)
|
@@ -3184,8 +3537,8 @@ module_eval(<<'.,.,', 'parser.y', 1023)
|
|
3184
3537
|
end
|
3185
3538
|
.,.,
|
3186
3539
|
|
3187
|
-
module_eval(<<'.,.,', 'parser.y',
|
3188
|
-
def
|
3540
|
+
module_eval(<<'.,.,', 'parser.y', 1354)
|
3541
|
+
def _reduce_242(val, _values, result)
|
3189
3542
|
namespace = val[0]&.value || Namespace.empty
|
3190
3543
|
name = val[1].value.to_sym
|
3191
3544
|
type_name = TypeName.new(namespace: namespace, name: name)
|
@@ -3196,8 +3549,8 @@ module_eval(<<'.,.,', 'parser.y', 1032)
|
|
3196
3549
|
end
|
3197
3550
|
.,.,
|
3198
3551
|
|
3199
|
-
module_eval(<<'.,.,', 'parser.y',
|
3200
|
-
def
|
3552
|
+
module_eval(<<'.,.,', 'parser.y', 1363)
|
3553
|
+
def _reduce_243(val, _values, result)
|
3201
3554
|
namespace = val[0]&.value || Namespace.empty
|
3202
3555
|
name = val[1].value.to_sym
|
3203
3556
|
type_name = TypeName.new(namespace: namespace, name: name)
|
@@ -3208,24 +3561,24 @@ module_eval(<<'.,.,', 'parser.y', 1041)
|
|
3208
3561
|
end
|
3209
3562
|
.,.,
|
3210
3563
|
|
3211
|
-
module_eval(<<'.,.,', 'parser.y',
|
3212
|
-
def
|
3564
|
+
module_eval(<<'.,.,', 'parser.y', 1373)
|
3565
|
+
def _reduce_244(val, _values, result)
|
3213
3566
|
result = nil
|
3214
3567
|
|
3215
3568
|
result
|
3216
3569
|
end
|
3217
3570
|
.,.,
|
3218
3571
|
|
3219
|
-
module_eval(<<'.,.,', 'parser.y',
|
3220
|
-
def
|
3572
|
+
module_eval(<<'.,.,', 'parser.y', 1376)
|
3573
|
+
def _reduce_245(val, _values, result)
|
3221
3574
|
result = LocatedValue.new(value: Namespace.root, location: val[0].location)
|
3222
3575
|
|
3223
3576
|
result
|
3224
3577
|
end
|
3225
3578
|
.,.,
|
3226
3579
|
|
3227
|
-
module_eval(<<'.,.,', 'parser.y',
|
3228
|
-
def
|
3580
|
+
module_eval(<<'.,.,', 'parser.y', 1379)
|
3581
|
+
def _reduce_246(val, _values, result)
|
3229
3582
|
namespace = Namespace.parse(val[1].value).absolute!
|
3230
3583
|
result = LocatedValue.new(value: namespace, location: val[0].location + val[1].location)
|
3231
3584
|
|
@@ -3233,8 +3586,8 @@ module_eval(<<'.,.,', 'parser.y', 1057)
|
|
3233
3586
|
end
|
3234
3587
|
.,.,
|
3235
3588
|
|
3236
|
-
module_eval(<<'.,.,', 'parser.y',
|
3237
|
-
def
|
3589
|
+
module_eval(<<'.,.,', 'parser.y', 1383)
|
3590
|
+
def _reduce_247(val, _values, result)
|
3238
3591
|
namespace = Namespace.parse(val[0].value)
|
3239
3592
|
result = LocatedValue.new(value: namespace, location: val[0].location)
|
3240
3593
|
|
@@ -3242,9 +3595,9 @@ module_eval(<<'.,.,', 'parser.y', 1061)
|
|
3242
3595
|
end
|
3243
3596
|
.,.,
|
3244
3597
|
|
3245
|
-
# reduce
|
3598
|
+
# reduce 248 omitted
|
3246
3599
|
|
3247
|
-
# reduce
|
3600
|
+
# reduce 249 omitted
|
3248
3601
|
|
3249
3602
|
def _reduce_none(val, _values, result)
|
3250
3603
|
val[0]
|