ruby_parser 3.11.0 → 3.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +12 -0
- data/lib/ruby18_parser.rb +472 -472
- data/lib/ruby21_parser.rb +47 -47
- data/lib/ruby25_parser.rb +71 -71
- data/lib/ruby25_parser.y +1 -1
- data/lib/ruby_lexer.rb +16 -3
- data/lib/ruby_lexer.rex +2 -2
- data/lib/ruby_lexer.rex.rb +2 -2
- data/lib/ruby_parser.rb +5 -1
- data/lib/ruby_parser.yy +4 -0
- data/lib/ruby_parser_extras.rb +4 -3
- data/test/test_ruby_lexer.rb +51 -0
- data/test/test_ruby_parser.rb +80 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
data/lib/ruby21_parser.rb
CHANGED
@@ -906,8 +906,8 @@ clist = [
|
|
906
906
|
'652,652,652,652,29,652,652,652,683,1032,597,1034,1047,906,1032,738,1034',
|
907
907
|
'1047,906,737,652,652,652,652,431,652,29,652,854,597,1033,431,431,431',
|
908
908
|
'597,1033,652,431,431,853,431,339,853,340,853,346,339,347,340,431,739',
|
909
|
-
'855,928,350,738,545,855,928,589,736,431,431,16,431,431,431,431,431,
|
910
|
-
'692,692,448,448,
|
909
|
+
'855,928,350,738,545,855,928,589,736,431,431,16,431,431,431,431,431,291',
|
910
|
+
'692,692,448,448,291,971,683,682,757,757,389,581,971,19,582,617,581,651',
|
911
911
|
'491,582,739,971,431,431,431,431,431,431,431,431,431,431,431,431,431',
|
912
912
|
'431,424,25,431,431,431,683,431,40,683,788,431,315,315,431,44,44,491',
|
913
913
|
'43,431,813,431,683,431,431,431,431,431,431,431,750,431,431,431,48,750',
|
@@ -918,8 +918,8 @@ clist = [
|
|
918
918
|
'226,591,707,707,430,430,430,430,430,430,430,430,430,430,430,430,430',
|
919
919
|
'430,225,591,430,430,430,592,430,377,377,685,430,90,592,430,343,124,719',
|
920
920
|
'592,430,343,430,592,430,430,430,430,430,430,430,207,430,856,430,227',
|
921
|
-
'380,380,380,226,856,592,373,229,228,856,98,430,430,856,430,
|
922
|
-
'98,98,
|
921
|
+
'380,380,380,226,856,592,373,229,228,856,98,430,430,856,430,937,430,98',
|
922
|
+
'98,98,937,704,98,98,98,230,98,430,685,234,882,856,704,266,98,685,98',
|
923
923
|
'98,98,543,685,882,543,269,685,453,98,98,969,98,98,98,98,98,924,969,924',
|
924
924
|
'924,924,985,924,985,685,228,969,704,704,373,373,373,425,755,375,280',
|
925
925
|
'882,882,755,98,98,98,98,98,98,98,98,98,98,98,98,98,98,751,751,98,98',
|
@@ -1727,47 +1727,47 @@ clist = [
|
|
1727
1727
|
'708,708,708,708,,,,,59,59,59,,,708,,,,,59,59,,59,59,59,59,59,,,,,,,',
|
1728
1728
|
',,708,,,,,,,,,708,708,708,708,,59,59,59,59,59,59,59,59,59,59,59,59,59',
|
1729
1729
|
'59,,,59,59,59,,,59,,,59,,,59,59,,59,708,59,,59,,59,59,59,59,59,59,59',
|
1730
|
-
',59,,59,,,,,,,,,,,,,59,59,59,59,,59,,59,
|
1731
|
-
'
|
1732
|
-
'
|
1733
|
-
'
|
1734
|
-
'
|
1730
|
+
',59,,59,,,,,,,,,,,,,59,59,59,59,,59,,59,405,405,405,405,405,405,405',
|
1731
|
+
'405,405,405,405,405,405,405,405,405,405,405,405,405,405,405,405,405',
|
1732
|
+
',,,405,405,405,405,405,405,405,405,405,405,,,,,,405,405,405,405,405',
|
1733
|
+
'405,405,405,405,,,405,,,,,,,,,405,405,,405,405,405,405,405,405,405,',
|
1734
|
+
',405,405,,,,405,405,405,405,,,,,,,,,,,,,,405,405,,405,405,405,405,405',
|
1735
|
+
'405,405,405,405,405,405,,,405,405,,,,,,,,,,405,,,,,,,,,405,628,628,628',
|
1735
1736
|
'628,628,628,628,628,628,628,628,628,628,628,628,628,628,628,628,628',
|
1736
|
-
'628
|
1737
|
-
'628,628,628,628,628
|
1738
|
-
'
|
1739
|
-
'628,628,628,628,628,628,,,628,628,,,,,,,,,,628,,,,,,,,,628
|
1737
|
+
'628,628,628,628,,,,628,628,628,628,628,628,628,628,628,628,,,,,,628',
|
1738
|
+
'628,628,628,628,628,628,628,628,,,628,,,,,,,,,628,628,,628,628,628,628',
|
1739
|
+
'628,628,628,,,628,628,,,,628,628,628,628,,,,,,,,,,,,,,628,628,,628,628',
|
1740
|
+
'628,628,628,628,628,628,628,628,628,,,628,628,,,,,,,,,,628,,,,,,,,,628',
|
1740
1741
|
'756,756,756,756,756,756,756,756,756,756,756,756,756,756,756,756,756',
|
1741
|
-
'756,756,756,756,,,,756,756,756,756,756,756,756,756,756,756
|
1742
|
-
'756,756,756,756,756,756,756,756,,,756,,,,,,,,,756,756,,756
|
1743
|
-
'756,756,756,,,756,756,,,,756,756,756,756,,,,,,,,,,,,,,756
|
1744
|
-
'756,756,756,756,756,756,756,756,756,,,756
|
1745
|
-
'
|
1746
|
-
'
|
1747
|
-
'
|
1748
|
-
'
|
1749
|
-
',
|
1750
|
-
'
|
1751
|
-
'91,91,91,91,91
|
1752
|
-
'91
|
1753
|
-
'
|
1754
|
-
',
|
1755
|
-
'11,11,11,11,11,11,11,11,11,11
|
1756
|
-
'11
|
1757
|
-
'
|
1758
|
-
'
|
1759
|
-
'74,74
|
1760
|
-
'74
|
1761
|
-
'74,74,74,74
|
1762
|
-
'
|
1763
|
-
'1042
|
1764
|
-
'
|
1765
|
-
'30
|
1766
|
-
'
|
1767
|
-
'942,942,942,942,942
|
1768
|
-
'
|
1769
|
-
'31,31,31
|
1770
|
-
'31,31,31,,31,,31,,,,,,,,,,,,484,31,31,,31,,31,484,484,484,,,484,484',
|
1742
|
+
'756,756,756,756,756,756,756,,,,756,756,756,756,756,756,756,756,756,756',
|
1743
|
+
',,,,,756,756,756,756,756,756,756,756,756,,,756,,,,,,,,,756,756,,756',
|
1744
|
+
'756,756,756,756,756,756,,,756,756,,,,756,756,756,756,,,,,,,,,,,,,,756',
|
1745
|
+
'756,,756,756,756,756,756,756,756,756,756,756,756,,,756,,,,,,,,,,,,,',
|
1746
|
+
',,,,,,756,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12',
|
1747
|
+
'12,12,12,12,,,,12,12,12,12,12,12,12,12,12,12,,,,,,12,12,12,12,12,12',
|
1748
|
+
'12,12,12,,,12,,,,,,,,,12,12,,12,12,12,12,12,12,12,,,12,12,,,,12,12,12',
|
1749
|
+
'12,,,,,,,,,,,,,,12,12,,12,12,12,12,12,12,12,12,12,12,12,,,12,12,,,,',
|
1750
|
+
',,,,,12,,,,,,,,,12,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91',
|
1751
|
+
'91,91,91,91,91,91,91,,,,91,91,91,91,91,91,91,91,91,91,,,,,,91,91,91',
|
1752
|
+
'91,91,91,91,91,91,91,91,91,,91,,,,,,,91,91,,91,91,91,91,91,91,91,,,91',
|
1753
|
+
'91,,,,91,91,91,91,,,,,,,,,,,,,,91,91,,91,91,91,91,91,91,91,91,91,91',
|
1754
|
+
'91,,,91,,,,,,,,,,,,,,,,,,,,91,11,11,11,11,11,11,11,11,11,11,11,11,11',
|
1755
|
+
'11,11,11,11,11,11,11,11,11,11,11,,,,11,11,11,11,11,11,11,11,11,11,,',
|
1756
|
+
',,,11,11,11,11,11,11,11,11,11,11,,11,,,,,,,,,11,11,,11,11,11,11,11,11',
|
1757
|
+
'11,,,11,11,,,,11,11,11,11,,,,,,,,,,,,,,11,11,,11,11,11,11,11,11,11,11',
|
1758
|
+
'11,11,11,,,11,11,,,,,,,,,,11,,,,,,,,,11,74,74,74,74,74,74,74,74,74,74',
|
1759
|
+
'74,74,74,74,74,74,74,74,74,74,74,74,74,74,,,,74,74,74,74,74,74,74,74',
|
1760
|
+
'74,74,,,,,,74,74,74,74,74,74,74,74,74,74,74,74,,74,,,,,,,74,74,,74,74',
|
1761
|
+
'74,74,74,74,74,,,74,74,,,,74,74,74,74,,,,,,74,,,,,,,,74,74,,74,74,74',
|
1762
|
+
'74,74,74,74,74,74,74,74,30,,74,,,,,30,30,30,,,30,30,30,1042,30,1042',
|
1763
|
+
'1042,1042,1042,1042,74,,,30,30,30,,,,1042,,,,,30,30,,30,30,30,30,30',
|
1764
|
+
',,,,,,,,,1042,,,,,,,,,,,1042,1042,,30,30,30,30,30,30,30,30,30,30,30',
|
1765
|
+
'30,30,30,,,30,30,30,,,30,,30,30,,,30,30,,30,1042,30,,30,,30,30,30,30',
|
1766
|
+
'30,30,30,,30,30,30,,,,,,,,,,,,31,30,30,,30,,30,31,31,31,,,31,31,31,942',
|
1767
|
+
'31,942,942,942,942,942,,,,,31,31,,,,942,,,,,31,31,,31,31,31,31,31,,',
|
1768
|
+
',,,,,,,942,942,,,,,,,,942,942,942,942,,31,31,31,31,31,31,31,31,31,31',
|
1769
|
+
'31,31,31,31,,,31,31,31,,,31,,31,31,,,31,31,,31,942,31,,31,,31,31,31',
|
1770
|
+
'31,31,31,31,,31,,31,,,,,,,,,,,,484,31,31,,31,,31,484,484,484,,,484,484',
|
1771
1771
|
'484,546,484,546,546,546,546,546,,,,484,484,,,,,546,,,,,484,484,,484',
|
1772
1772
|
'484,484,484,484,,,,,,,,,,546,,,,,,,,,546,546,546,546,,426,,,,,,,426',
|
1773
1773
|
'426,426,,484,426,426,426,,426,,484,,,,,484,484,426,426,426,,,,546,,',
|
@@ -1839,7 +1839,7 @@ clist = [
|
|
1839
1839
|
|
1840
1840
|
racc_action_pointer = [
|
1841
1841
|
nil, 1328, 4443, 61, nil, 416, nil, nil, 12006, 1482,
|
1842
|
-
nil, 24121,
|
1842
|
+
nil, 24121, 23855, -20, nil, -42, 81, 1272, 427, 46,
|
1843
1843
|
610, nil, -73, 16486, 1764, 185, nil, 604, nil, 20,
|
1844
1844
|
24366, 24491, 16066, 16206, 5006, nil, 918, 5706, 5846, nil,
|
1845
1845
|
89, 428, 389, 173, 164, 9766, 10046, 11026, 118, 780,
|
@@ -1867,7 +1867,7 @@ racc_action_pointer = [
|
|
1867
1867
|
15086, nil, nil, 25023, nil, nil, 306, 15366, nil, 323,
|
1868
1868
|
nil, nil, nil, 15506, nil, nil, 15646, nil, 2187, nil,
|
1869
1869
|
314, 351, nil, 16346, 402, 5146, nil, 366, 5286, nil,
|
1870
|
-
nil,
|
1870
|
+
nil, 48, nil, 1467, 5566, 359, 4866, 397, 436, 412,
|
1871
1871
|
6406, 1905, 1203, 1200, 1131, 507, 1103, nil, 474, 448,
|
1872
1872
|
-14, nil, nil, nil, 503, 161, 473, 10886, nil, 429,
|
1873
1873
|
537, 962, nil, 541, nil, 20126, 3315, nil, 20266, 521,
|
@@ -1878,7 +1878,7 @@ racc_action_pointer = [
|
|
1878
1878
|
nil, nil, nil, 316, nil, 382, nil, 222, nil, 555,
|
1879
1879
|
249, nil, 556, -58, nil, 565, -41, nil, 567, 125,
|
1880
1880
|
nil, 412, nil, nil, nil, nil, nil, nil, nil, nil,
|
1881
|
-
nil, nil, nil, nil, 1764,
|
1881
|
+
nil, nil, nil, nil, 1764, 23456, nil, nil, nil, nil,
|
1882
1882
|
578, nil, nil, 575, 13406, 578, nil, nil, 1059, 582,
|
1883
1883
|
nil, nil, 581, 596, 124, 353, 24683, nil, nil, nil,
|
1884
1884
|
255, 130, 644, nil, nil, 23194, 23064, nil, 1341, nil,
|
@@ -1931,7 +1931,7 @@ racc_action_pointer = [
|
|
1931
1931
|
1041, 1150, nil, 2751, nil, nil, -7, 10186, nil, nil,
|
1932
1932
|
nil, nil, nil, 25886, nil, 25903, nil, 25910, nil, 25940,
|
1933
1933
|
nil, nil, nil, nil, 373, 641, 1042, nil, 32, nil,
|
1934
|
-
1163, 1173, 11166, 4020, nil, nil, 1178,
|
1934
|
+
1163, 1173, 11166, 4020, nil, nil, 1178, 259, nil, nil,
|
1935
1935
|
nil, nil, 24455, nil, 1061, nil, nil, 1063, 1064, 1069,
|
1936
1936
|
1078, nil, 1079, nil, 434, nil, nil, nil, 682, 25227,
|
1937
1937
|
nil, nil, 1099, nil, nil, nil, 2892, 520, 452, 340,
|
data/lib/ruby25_parser.rb
CHANGED
@@ -2105,7 +2105,7 @@ clist = [
|
|
2105
2105
|
'676,430,,,135,445,633,,,559,679,423,29,29,,673,674,439,,,985,722,,874',
|
2106
2106
|
'662,,,,,16,,,,684,,647,872,873,,687,1038,1033,663,646,,,,,,,663,663',
|
2107
2107
|
',280,,,,,,529,,,,316,,,699,529,,,430,316,,645,722,29,722,423,943,651',
|
2108
|
-
'430,,817,829,,,439,941,,,513
|
2108
|
+
'430,,817,829,,,439,941,,,513,,,909,,,439,,,,867,,,,,,,,,999,,,722,,716',
|
2109
2109
|
'718,720,,,,,,,29,280,413,807,,,807,,668,675,,16,758,,,,764,974,430,',
|
2110
2110
|
'691,,944,,,423,,301,,,,567,,,439,,,,,989,,,813,,,,,,,,704,,,736,736',
|
2111
2111
|
',,29,,,567,,808,,,808,29,,808,755,808,133,,,130,559,640,9,,,29,806,16',
|
@@ -2118,58 +2118,58 @@ clist = [
|
|
2118
2118
|
'16,,916,,,341,16,,,,,949,,,,,922,924,341,926,928,,929,,640,691,,,355',
|
2119
2119
|
',,,,29,,936,,798,,29,,,,,,29,29,,945,,,16,29,,,16,16,,,,,,,29,,316,16',
|
2120
2120
|
',,,736,19,,800,,,,316,946,,19,,,836,,,,,,,,,,,,,,29,16,16,,29,29,,,17',
|
2121
|
-
',,16,,,17,29,,,,,732,,1009,734
|
2122
|
-
'225,225,225,,17,307,307,29,,29,29,,16,439,,,16,996,,29,29,,1020
|
2123
|
-
'1022,1023,,1016,,,280,19,825
|
2124
|
-
'
|
2125
|
-
'16,,,17,,,1056,,225,225,225,225,17,29
|
2126
|
-
'834,,,349,,,371,,,,,19,,19,,,,29,19,952,,,798,,,798,,798
|
2127
|
-
'
|
2128
|
-
'225,225,,,,,225,225,225,225,225,225,,,,982,,983,,984,,,,17,,,,895
|
2129
|
-
'899,,906
|
2130
|
-
',225,,42,,41,,,,42,,,,938,939,,,,,,,17,,17,,,,307,17,1034
|
2131
|
-
'
|
2132
|
-
',,350
|
2133
|
-
'41,,,,18,,,,,,18,,,,,42,305,1001,1003,1005,1007,,1008
|
2134
|
-
',17,,,447,,,,18,309,309,,,,1026,,,,,1030,,,,371
|
2135
|
-
',,,,,,353,,,,,,225
|
2136
|
-
'
|
2137
|
-
'
|
2138
|
-
'
|
2139
|
-
',225,,42,,225,636,,,18,19,19,,,,,,19,,,,,,,,,,,,,,372,,372
|
2140
|
-
'225,,,,,225,225,,,225,,41,,,41,,,,,,,19,,,,19,19,,,,,18,,18
|
2141
|
-
'18,,42,307,,,,,,,677,,,549,307,680,309,,,682,,,,,,18,17,17
|
2142
|
-
'
|
2143
|
-
'17,19,,728,,19,17,,305,980,,,,,,,,225,,,41,41,,,,18,,,,42
|
2144
|
-
'
|
2145
|
-
'
|
2146
|
-
'
|
2147
|
-
'848,,977,,,,,,,,,,,,,,,41,41,,447,,,,,,,41,17
|
2148
|
-
'306,,18,,,884,,,,,,306,17,371,,,,41,,,,41,,42,42,975,,17
|
2149
|
-
'17,,,,,,,,,,,,,,,41,,225,,,,,,,,,,,,,,,,,,,,,42,42
|
2150
|
-
'
|
2151
|
-
'42,,,,,,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,992,,,42,42,18
|
2152
|
-
'18,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,372,,,,42,,602,,42
|
2153
|
-
'18,18,,,,,279,279,279,,,18,,,,,,,,325,326,327,,,,42
|
2154
|
-
'
|
2155
|
-
'
|
2156
|
-
'
|
2157
|
-
'
|
2158
|
-
'472,473,474,475,476,477,478,479,480,481,482,483,484,485
|
2159
|
-
'
|
2160
|
-
'
|
2161
|
-
'
|
2162
|
-
'
|
2163
|
-
'
|
2164
|
-
'
|
2165
|
-
'
|
2166
|
-
'
|
2167
|
-
'
|
2168
|
-
'
|
2121
|
+
',,16,,,17,29,,,,,732,,1009,734,,799,,,844,225,846,,894,894,894,894,',
|
2122
|
+
'894,225,225,225,,17,307,307,29,,29,29,,16,439,,,16,996,,29,29,,1020',
|
2123
|
+
'1021,1022,1023,,1016,,,280,19,825,838,225,225,838,,225,351,443,,41,',
|
2124
|
+
',,16,430,41,,,,,,423,,19,,29,,,640,29,439,,825,,,,,,,894,894,894,894',
|
2125
|
+
'41,305,305,16,,,17,,,1056,,225,225,225,225,17,29,,16,,894,,,16,,,16',
|
2126
|
+
'16,,,,833,834,,,349,,,371,,,,,19,,19,,,,29,19,952,,,798,,,798,,798,',
|
2127
|
+
',,,29,,,,,29,,,29,29,,19,,,41,,,,,,,,,41,,883,29,,,958,,960,,,,,,17',
|
2128
|
+
'225,225,225,,,,,225,225,225,225,225,225,,,,982,,983,,984,,,,17,,,,895',
|
2129
|
+
'897,899,,906,,838,,908,799,,,799,,799,,,,,913,,,,19,,,,,,,225,798,,798',
|
2130
|
+
',798,225,798,,225,,42,,41,,,,42,,,,938,939,,,,,,,17,,17,,,,307,17,1034',
|
2131
|
+
'41,1035,,1036,,,,42,306,306,,,,798,307,,,,1044,,,,,17,,225,,,,,,,970',
|
2132
|
+
',,,973,,225,225,,,350,,,372,,,799,1057,799,601,799,601,799,,,,,,19,',
|
2133
|
+
',41,,41,993,,,305,41,,,,18,,,,,,18,,,,,42,305,1001,1003,1005,1007,,1008',
|
2134
|
+
',42,41,416,,799,1014,,17,,,447,,,,18,309,309,,,,1026,,,,,1030,,,,371',
|
2135
|
+
',371,,,,,,19,,,19,,,,,,,,,353,,,,,,225,,,,,,,,,,,,,,,,1051,1052,1053',
|
2136
|
+
'1054,,504,,506,41,508,,,510,,,42,,,,,,18,,,1058,,,,,,18,,,,,,443,,,',
|
2137
|
+
'42,17,,,,,,,307,,225,,,,,,307,,549,,,,,,225,,,,,,,,,,,,,,,,,,,,,,,,',
|
2138
|
+
',,19,19,,,,,,,,,,,42,,42,,,,306,42,,17,41,,17,18,,,,305,225,,,,,306',
|
2139
|
+
',305,,,,,225,,42,,225,636,,,18,19,19,,,,,,19,,,,,,,,,,,,,,372,,372,',
|
2140
|
+
',,,,,225,225,,,,,225,225,,,225,,41,,,41,,,,,,,19,,,,19,19,,,,,18,,18',
|
2141
|
+
',,19,309,18,,42,307,,,,,,,677,,,549,307,680,309,,,682,,,,,,18,17,17',
|
2142
|
+
',,19,19,,,,,,,,,19,,,,,,,,,,,677,,602,549,602,,,,,,,,,,225,,,,,,225',
|
2143
|
+
',,,305,,17,17,19,,728,,19,17,,305,980,,,,,,,,225,,,41,41,,,,18,,,,42',
|
2144
|
+
',,,,,19,306,,,,,,,,306,,,,904,,,17,,,,17,17,,,,,,,,,,17,,19,774,,41',
|
2145
|
+
'41,677,549,,,,41,,,,,19,,,,,19,,,19,19,,,,225,,17,17,42,,,42,,,,,17',
|
2146
|
+
'225,818,,,819,,,,,,,371,,,41,,,,41,41,,18,,,827,,,,309,41,,,,,966,,309',
|
2147
|
+
',17,,,,17,,848,,977,,,,,,,,,,,,,,,41,41,,447,,,,,,,41,17,,,,,,,,,,,',
|
2148
|
+
',,,,,,,,18,306,,18,,,884,,,,,,306,17,371,,,,41,,,,41,,42,42,975,,17',
|
2149
|
+
',,,,17,,,17,17,,,,,,,,,,,,,,,41,,225,,,,,,,,,,,,,,,,,,,,,42,42,,,,,',
|
2150
|
+
'42,,,41,,,,,,,,,,,,,,,41,,309,,,41,,,41,41,,,,309,,,,,549,,,,,,372,18',
|
2151
|
+
'18,42,,,,42,42,,,,,,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,992,,,42,42,18',
|
2152
|
+
'18,,,,,882,18,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,372,,,,42,,602,,42',
|
2153
|
+
'18,232,,976,18,18,,,,,279,279,279,,,18,,,,,,,,325,326,327,,,,42,,,,',
|
2154
|
+
',,,,,,279,,,,,,,18,18,,,,,,,,,18,,,,,42,,,,,,,,,,,,,,,42,,,,,42,,,42',
|
2155
|
+
'42,,,,,,602,,,,18,,,,18,,,,979,,,,,,,,,,,,,,,,,,,,,,,,,,18,,,,,,,,,',
|
2156
|
+
',,,,,,,,,,,,,,,,,,,,,,,18,,,,,,,,,,,,,,,18,,,,,18,,,18,18,279,421,279',
|
2157
|
+
',,,,441,446,,,,,,,,,,,,,,,232,,,460,461,462,463,464,465,466,467,468',
|
2158
|
+
'469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485',
|
2159
|
+
',,,,,,279,,,,,,279,,,279,,,,,,,279,,279,,279,,,279,,,,,,,,,,,,,,,,,',
|
2160
|
+
',,,,,,,,,,,,,,,,,,,534,,,,,,,,,279,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
2161
|
+
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,279,,,,,,,,,,,,,,,,,,',
|
2162
|
+
',,,,,,,,,,,,,,,,,,,279,,441,661,421,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
2163
|
+
',,,,,,,,279,,,279,,279,,,,279,,,,,,,,,,,,279,,,,,,,,,697,698,,,,,,,',
|
2164
|
+
',,279,,,279,,,,,,,,,,,,,,,,,,,,,,,,,,,279,,,,,,,,,,,,,,,,,,,,,279,,',
|
2165
|
+
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,279,776,,,279,279,781,783',
|
2166
|
+
',,,,786,788,,,661,790,,,,,,,,,,,,,,,,,,,,,,,,279,,,279,,,,,,,,,,,,,',
|
2167
|
+
',,,,,,279,,,,,,,,,,,,,,,,,,,,279,,,,,,,,,,,,,,,,,,,,279,,,,,,,,,,,,279',
|
2168
|
+
',,,,,,,,,,,,,,,,,,,,,279,,886,,,,,,,,,,,,,,781,783,788,786,,889,,,,',
|
2169
2169
|
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
2170
|
-
'
|
2171
|
-
'279
|
2172
|
-
'
|
2170
|
+
',,,,,,,,,,,,,,,,,,279,886,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
2171
|
+
',,,,,,,,,279,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
2172
|
+
',,,,,,,,,,,,,,,,,,,279' ]
|
2173
2173
|
racc_goto_table = arr = ::Array.new(3110, nil)
|
2174
2174
|
idx = 0
|
2175
2175
|
clist.each do |str|
|
@@ -2202,7 +2202,7 @@ clist = [
|
|
2202
2202
|
'189,,,44,,44,77,74,,,65,20,17,,,185,200,6,44,44,,51,51,61,,,133,133',
|
2203
2203
|
',154,34,,,,,23,,,,51,,74,10,10,,51,13,145,6,6,,,,,,,6,6,,36,,,,,,53',
|
2204
2204
|
',,,68,,,32,53,,,74,68,,41,133,44,133,6,26,41,74,,76,30,,,61,92,,,9,',
|
2205
|
-
'
|
2205
|
+
',10,,,61,,,,25,,,,,,,,,139,,,133,,187,187,187,,,,,,,44,36,12,189,,,189',
|
2206
2206
|
',41,73,,23,32,,,,32,92,74,,40,,10,,,6,,12,,,,189,,,61,,,,,92,,,89,,',
|
2207
2207
|
',,,,,73,,,98,98,,,44,,,189,,191,,,191,44,,191,98,191,64,,,61,185,34',
|
2208
2208
|
'9,,,44,34,23,22,22,23,95,155,,22,22,,12,22,,51,,12,,51,,,53,6,34,,68',
|
@@ -2213,23 +2213,23 @@ clist = [
|
|
2213
2213
|
',,6,23,23,,6,,,32,23,,,,,51,,,,,187,187,32,187,187,,187,,34,40,,,29',
|
2214
2214
|
',,,,44,,19,,138,,44,,,,,,44,44,,19,,,23,44,,,23,23,,,,,,,44,,68,23,',
|
2215
2215
|
',,98,29,,143,,,,68,98,,29,,,138,,,,,,,,,,,,,,44,23,23,,44,44,,,24,,',
|
2216
|
-
'23,,,24,44,,,,,12,,34,12
|
2217
|
-
'24,44,,44,44,,23,61,,,23,98,,44,44,,187,187,187,187,,27,,,36,29,6
|
2218
|
-
'24
|
2219
|
-
'6,6,56,56,56,23,,,24,,,187,,24,24,24,24,24,44
|
2220
|
-
'
|
2221
|
-
'
|
2222
|
-
'24,,,,,24,24,24,24,24,24,,,,143,,143,,143,,,,24,,,,141,141,141
|
2223
|
-
',,12,12
|
2224
|
-
'
|
2225
|
-
'138,24,,,,143,,,,,24,,24,,,,,,,12,,,,12,,24,24,,,57
|
2226
|
-
'140,24,140,24
|
2227
|
-
'141,141,141,,141,,57,56,69
|
2228
|
-
'
|
2229
|
-
'141,141,141,,69,,69,56,69,,,69,,,57,,,,,,28,,,141,,,,,,28
|
2230
|
-
'
|
2231
|
-
'
|
2232
|
-
'
|
2216
|
+
'23,,,24,44,,,,,12,,34,12,,140,,,143,24,143,,6,6,6,6,,6,24,24,24,,24',
|
2217
|
+
'24,24,44,,44,44,,23,61,,,23,98,,44,44,,187,187,187,187,,27,,,36,29,6',
|
2218
|
+
'140,24,24,140,,24,24,29,,56,,,,23,74,56,,,,,,6,,29,,44,,,34,44,61,,6',
|
2219
|
+
',,,,,,6,6,6,6,56,56,56,23,,,24,,,187,,24,24,24,24,24,44,,23,,6,,,23',
|
2220
|
+
',,23,23,,,,12,12,,,56,,,56,,,,,29,,29,,,,44,29,138,,,138,,,138,,138',
|
2221
|
+
',,,,44,,,,,44,,,44,44,,29,,,56,,,,,,,,,56,,12,44,,,143,,143,,,,,,24',
|
2222
|
+
'24,24,24,,,,,24,24,24,24,24,24,,,,143,,143,,143,,,,24,,,,141,141,141',
|
2223
|
+
',12,,140,,12,140,,,140,,140,,,,,12,,,,29,,,,,,,24,138,,138,,138,24,138',
|
2224
|
+
',24,,57,,56,,,,57,,,,12,12,,,,,,,24,,24,,,,24,24,143,56,143,,143,,,',
|
2225
|
+
'57,57,57,,,,138,24,,,,143,,,,,24,,24,,,,,,,12,,,,12,,24,24,,,57,,,57',
|
2226
|
+
',,140,143,140,24,140,24,140,,,,,,29,,,56,,56,12,,,56,56,,,,28,,,,,,28',
|
2227
|
+
',,,,57,56,141,141,141,141,,141,,57,56,69,,140,12,,24,,,69,,,,28,28,28',
|
2228
|
+
',,,12,,,,,12,,,,56,,56,,,,,,29,,,29,,,,,,,,,28,,,,,,24,,,,,,,,,,,,,',
|
2229
|
+
',,141,141,141,141,,69,,69,56,69,,,69,,,57,,,,,,28,,,141,,,,,,28,,,,',
|
2230
|
+
',29,,,,57,24,,,,,,,24,,24,,,,,,24,,69,,,,,,24,,,,,,,,,,,,,,,,,,,,,,',
|
2231
|
+
',,,,29,29,,,,,,,,,,,57,,57,,,,57,57,,24,56,,24,28,,,,56,24,,,,,57,,56',
|
2232
|
+
',,,,24,,57,,24,69,,,28,29,29,,,,,,29,,,,,,,,,,,,,,57,,57,,,,,,,24,24',
|
2233
2233
|
',,,,24,24,,,24,,56,,,56,,,,,,,29,,,,29,29,,,,,28,,28,,,29,28,28,,57',
|
2234
2234
|
'24,,,,,,,69,,,69,24,69,28,,,69,,,,,,28,24,24,,,29,29,,,,,,,,,29,,,,',
|
2235
2235
|
',,,,,,69,,28,69,28,,,,,,,,,,24,,,,,,24,,,,56,,24,24,29,,69,,29,24,,56',
|
@@ -2284,7 +2284,7 @@ racc_goto_pointer = [
|
|
2284
2284
|
-839, 38, -628, -219, -611, -797, 77, -454, -215, -449,
|
2285
2285
|
-716, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
2286
2286
|
nil, nil, -774, -470, -478, -774, -503, nil, 196, -401,
|
2287
|
-
|
2287
|
+
281, 365, -500, 232, -611, -517, nil, -537, -735, -820,
|
2288
2288
|
-828, -172, -381, 105, -296, -16, -87, -488, nil, nil,
|
2289
2289
|
-90, -487, -87, -484, -804, -400, -502, -627, nil, nil,
|
2290
2290
|
122, -30, 50, 118, 118, -256, -249, 123, 124, 128,
|
data/lib/ruby25_parser.y
CHANGED
data/lib/ruby_lexer.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# encoding: UTF-8
|
2
3
|
|
3
4
|
$DEBUG = true if ENV["DEBUG"]
|
@@ -744,8 +745,18 @@ class RubyLexer
|
|
744
745
|
return expr_result(token, "[")
|
745
746
|
end
|
746
747
|
|
748
|
+
def possibly_escape_string text, check
|
749
|
+
content = match[1]
|
750
|
+
|
751
|
+
if text =~ check then
|
752
|
+
content.gsub(ESC) { unescape $1 }
|
753
|
+
else
|
754
|
+
content.gsub(/\\\\/, "\\").gsub(/\\'/, "'")
|
755
|
+
end
|
756
|
+
end
|
757
|
+
|
747
758
|
def process_symbol text
|
748
|
-
symbol =
|
759
|
+
symbol = possibly_escape_string text, /^:"/
|
749
760
|
|
750
761
|
rb_compile_error "symbol cannot contain '\\0'" if
|
751
762
|
ruby18 && symbol =~ /\0/
|
@@ -771,7 +782,7 @@ class RubyLexer
|
|
771
782
|
end
|
772
783
|
|
773
784
|
def process_label text
|
774
|
-
symbol = text
|
785
|
+
symbol = possibly_escape_string text, /^"/
|
775
786
|
|
776
787
|
result(:expr_labelarg, :tLABEL, [symbol, self.lineno])
|
777
788
|
end
|
@@ -855,6 +866,8 @@ class RubyLexer
|
|
855
866
|
result(state, :kDO_BLOCK, value)
|
856
867
|
when in_lex_state?(:expr_beg, :expr_endarg) then
|
857
868
|
result(state, :kDO_BLOCK, value)
|
869
|
+
when lex_state == :expr_end # eg: a -> do end do end
|
870
|
+
result(state, :kDO_BLOCK, value)
|
858
871
|
else
|
859
872
|
result(state, :kDO, value)
|
860
873
|
end
|
@@ -937,7 +950,7 @@ class RubyLexer
|
|
937
950
|
rb_compile_error("Invalid escape character syntax")
|
938
951
|
else
|
939
952
|
ss.getch
|
940
|
-
end
|
953
|
+
end.dup
|
941
954
|
end
|
942
955
|
|
943
956
|
def regx_options # TODO: rewrite / remove
|
data/lib/ruby_lexer.rex
CHANGED
@@ -9,8 +9,8 @@ macro
|
|
9
9
|
IDENT /^#{IDENT_CHAR}+/o
|
10
10
|
|
11
11
|
ESC /\\((?>[0-7]{1,3}|x[0-9a-fA-F]{1,2}|M-[^\\]|(C-|c)[^\\]|u[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}|[^0-7xMCc]))/
|
12
|
-
SIMPLE_STRING /(#{ESC}|\#(#{ESC}|[^\{\#\@\$\"\\])|[^\"\\\#])
|
13
|
-
SSTRING /(\\.|[^\'])
|
12
|
+
SIMPLE_STRING /((#{ESC}|\#(#{ESC}|[^\{\#\@\$\"\\])|[^\"\\\#])*)/o
|
13
|
+
SSTRING /((\\.|[^\'])*)/
|
14
14
|
|
15
15
|
INT_DEC /[+]?(?:(?:[1-9][\d_]*|0)(?!\.\d)(ri|r|i)?\b|0d[0-9_]+)(ri|r|i)?/i
|
16
16
|
INT_HEX /[+]?0x[a-f0-9_]+(ri|r|i)?/i
|
data/lib/ruby_lexer.rex.rb
CHANGED
@@ -13,8 +13,8 @@ class RubyLexer
|
|
13
13
|
|
14
14
|
IDENT = /^#{IDENT_CHAR}+/o
|
15
15
|
ESC = /\\((?>[0-7]{1,3}|x[0-9a-fA-F]{1,2}|M-[^\\]|(C-|c)[^\\]|u[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}|[^0-7xMCc]))/
|
16
|
-
SIMPLE_STRING = /(#{ESC}|\#(#{ESC}|[^\{\#\@\$\"\\])|[^\"\\\#])
|
17
|
-
SSTRING = /(\\.|[^\'])
|
16
|
+
SIMPLE_STRING = /((#{ESC}|\#(#{ESC}|[^\{\#\@\$\"\\])|[^\"\\\#])*)/o
|
17
|
+
SSTRING = /((\\.|[^\'])*)/
|
18
18
|
INT_DEC = /[+]?(?:(?:[1-9][\d_]*|0)(?!\.\d)(ri|r|i)?\b|0d[0-9_]+)(ri|r|i)?/i
|
19
19
|
INT_HEX = /[+]?0x[a-f0-9_]+(ri|r|i)?/i
|
20
20
|
INT_BIN = /[+]?0b[01_]+(ri|r|i)?/i
|
data/lib/ruby_parser.rb
CHANGED
@@ -16,8 +16,12 @@ class RubyParser
|
|
16
16
|
RubyParser::VERSIONS << x
|
17
17
|
end
|
18
18
|
|
19
|
+
def self.version= v
|
20
|
+
@version = v
|
21
|
+
end
|
22
|
+
|
19
23
|
def self.version
|
20
|
-
Parser > self
|
24
|
+
@version ||= Parser > self && self.name[/(?:V|Ruby)(\d+)/, 1].to_i
|
21
25
|
end
|
22
26
|
end
|
23
27
|
|
data/lib/ruby_parser.yy
CHANGED
data/lib/ruby_parser_extras.rb
CHANGED
@@ -7,7 +7,7 @@ require "rp_extensions"
|
|
7
7
|
require "rp_stringscanner"
|
8
8
|
|
9
9
|
module RubyParserStuff
|
10
|
-
VERSION = "3.
|
10
|
+
VERSION = "3.12.0"
|
11
11
|
|
12
12
|
attr_accessor :lexer, :in_def, :in_single, :file
|
13
13
|
attr_reader :env, :comments
|
@@ -1012,7 +1012,7 @@ module RubyParserStuff
|
|
1012
1012
|
has_enc = str.respond_to? :encoding
|
1013
1013
|
encoding = nil
|
1014
1014
|
|
1015
|
-
header = str.
|
1015
|
+
header = str.each_line.first(2)
|
1016
1016
|
header.map! { |s| s.force_encoding "ASCII-8BIT" } if has_enc
|
1017
1017
|
|
1018
1018
|
first = header.first || ""
|
@@ -1358,9 +1358,10 @@ module RubyParserStuff
|
|
1358
1358
|
|
1359
1359
|
def push val
|
1360
1360
|
@stack.push val
|
1361
|
+
return unless debug
|
1361
1362
|
c = caller.first
|
1362
1363
|
c = caller[1] if c =~ /expr_result/
|
1363
|
-
warn "#{name}_stack(push): #{val} at line #{c.clean_caller}"
|
1364
|
+
warn "#{name}_stack(push): #{val} at line #{c.clean_caller}"
|
1364
1365
|
nil
|
1365
1366
|
end
|
1366
1367
|
|