diff --git a/lib/rbs/parser.rb b/lib/rbs/parser.rb index 1af137921..8fdcd8c14 100644 --- a/lib/rbs/parser.rb +++ b/lib/rbs/parser.rb @@ -8,7 +8,7 @@ module RBS class Parser < Racc::Parser -module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1041) +module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1042) Types = RBS::Types Namespace = RBS::Namespace @@ -315,8 +315,12 @@ def next_token new_token(:tNAMESPACE) when input.scan(/[a-z_]\w*:/) new_token(:tLKEYWORD, input.matched.chop.to_sym) + when input.scan(/[a-z_]\w*[?!]:/) + new_token(:tLKEYWORD_Q_E, input.matched.chop.to_sym) when input.scan(/[A-Z]\w*:/) new_token(:tUKEYWORD, input.matched.chop.to_sym) + when input.scan(/[A-Z]\w*[?!]:/) + new_token(:tUKEYWORD_Q_E, input.matched.chop.to_sym) when input.scan(/\$[A-Za-z_]\w*/) new_token(:tGLOBALIDENT) when input.scan(/@[a-zA-Z_]\w*/) @@ -372,113 +376,118 @@ def initialize(message, subject:, location:) ##### State transition tables begin ### clist = [ -'339,340,33,341,74,277,278,33,33,352,50,378,33,338,33,33,404,350,5,377', -'207,208,209,210,211,212,213,214,218,37,215,206,216,217,102,113,103,104', -'105,119,33,32,51,334,328,329,32,32,332,330,333,32,299,32,32,331,118', -'106,107,108,110,112,111,327,336,337,109,114,116,197,85,359,42,120,121', -'117,122,339,340,32,341,58,59,43,33,33,50,50,229,33,338,33,33,48,198', -'86,86,207,208,209,210,211,212,213,214,218,64,215,206,216,217,102,113', -'103,104,105,119,33,51,51,334,328,329,32,32,332,330,333,32,194,32,32', -'331,118,106,107,108,110,112,111,327,336,337,109,114,116,339,340,39,341', -'120,121,117,122,81,156,32,142,195,338,155,322,143,40,41,144,207,208', -'209,210,211,212,213,214,353,393,215,206,216,217,102,113,103,104,105', -'119,86,87,145,334,328,329,39,274,332,330,333,2,3,4,86,331,118,106,107', -'108,110,112,111,327,336,337,109,114,116,40,41,162,275,120,121,117,122', -'339,340,146,341,58,59,61,62,74,63,318,40,41,338,154,395,394,270,271', -'86,207,208,209,210,211,212,213,214,218,314,215,206,216,217,102,113,103', -'104,105,119,86,86,157,334,328,329,58,59,332,330,333,159,55,54,56,331', -'118,106,107,108,110,112,111,327,336,337,109,114,116,339,340,161,341', -'120,121,117,122,58,59,40,41,41,338,55,54,56,40,41,164,207,208,209,210', -'211,212,213,214,218,156,215,206,216,217,102,113,103,104,105,119,40,41', -'-107,334,328,329,40,41,332,330,333,385,386,40,41,331,118,106,107,108', -'110,112,111,327,336,337,109,114,116,40,41,40,41,120,121,117,122,339', -'340,-108,341,58,59,40,41,40,41,40,41,-109,338,40,41,40,41,40,41,207', -'208,209,210,211,212,213,214,218,-110,215,206,216,217,102,113,103,104', -'105,119,40,41,-111,334,328,329,40,41,332,330,333,40,41,363,364,331,118', -'106,107,108,110,112,111,327,336,337,109,114,116,339,340,-112,341,120', -'121,117,122,40,41,40,41,-113,338,-114,-115,-116,-117,48,-132,207,208', -'209,210,211,212,213,214,218,169,215,206,216,217,102,113,103,104,105', -'119,170,171,172,334,328,329,173,174,332,330,333,175,42,199,232,331,118', -'106,107,108,110,112,111,327,336,337,109,114,116,233,235,236,237,120', -'121,117,122,339,340,239,341,58,59,81,243,243,243,249,252,42,338,255', -'257,261,263,265,266,207,208,209,210,211,212,213,214,218,42,215,206,216', -'217,102,113,103,104,105,119,268,305,307,334,328,329,261,309,332,330', -'333,265,319,320,321,331,118,106,107,108,110,112,111,327,336,337,109', -'114,116,33,357,58,59,120,121,117,122,22,23,21,362,26,-215,25,362,30', -'362,91,92,93,94,95,96,97,98,115,16,99,90,100,101,102,113,103,104,105', -'119,369,32,370,371,372,28,373,137,375,138,140,376,379,380,390,399,118', -'106,107,108,110,112,111,400,401,404,109,114,116,33,405,58,59,120,121', -'117,122,22,23,21,406,26,407,25,,30,,91,92,93,94,95,96,97,98,115,16,99', -'90,100,101,102,113,103,104,105,119,,32,,,,28,,,,,,,,,,,118,106,107,108', -'110,112,111,,,,109,114,116,33,,58,59,120,121,117,122,22,23,21,,26,-215', -'25,,30,,91,92,93,94,95,96,97,98,115,16,99,90,100,101,102,113,103,104', -'105,119,,32,,,,28,,205,,,140,,,,,,118,106,107,108,110,112,111,,,,109', -'114,116,33,,58,59,120,121,117,122,22,23,21,,26,-215,25,,30,,91,92,93', -'94,95,96,97,98,115,16,99,90,100,101,102,113,103,104,105,119,,32,,,,28', -',205,,,140,,,,,,118,106,107,108,110,112,111,,,,109,114,116,33,,58,59', -'120,121,117,122,22,23,21,,26,-215,25,,30,,91,92,93,94,95,96,97,98,115', -'16,99,90,100,101,102,113,103,104,105,119,,32,,,,28,,137,,138,140,,,', -',,118,106,107,108,110,112,111,,,,109,114,116,33,,58,59,120,121,117,122', -'22,23,21,,26,-215,25,,30,,91,92,93,94,95,96,97,98,115,16,99,90,100,101', -'102,113,103,104,105,119,,32,,,-4,28,-237,137,33,138,140,-237,78,,,74', -'118,106,107,108,110,112,111,,,,109,114,116,,,,,120,121,117,122,,,166', -'33,167,58,59,,,,32,22,23,21,,26,-215,25,,30,,91,92,93,94,95,96,97,98', -'115,16,99,90,100,101,102,113,103,104,105,119,39,32,,40,41,28,,137,,138', -'140,,,,,,118,106,107,108,110,112,111,58,59,168,109,114,116,,,,,120,121', -'117,122,,,207,208,209,210,211,212,213,214,218,,215,206,216,217,102,113', -'103,104,105,119,,,,,,,,205,,,140,,,,,,118,106,107,108,110,112,111,58', -'59,,109,114,116,,,,,120,121,117,122,,,207,208,209,210,211,212,213,214', -'218,,215,206,216,217,102,113,103,104,105,119,,,,,,,,205,,,140,,,,,,118', -'106,107,108,110,112,111,58,59,,109,114,116,,,,,120,121,117,122,,,207', -'208,209,210,211,212,213,214,218,,215,206,216,217,102,113,103,104,105', -'119,166,,167,166,,167,166,,167,166,,167,166,,167,,118,106,107,108,110', -'112,111,,,,109,114,116,,,,,120,121,117,122,,,,,,40,41,,40,41,,40,41', -',40,41,,40,41,,150,,,153,,151,,168,,,168,,,168,,-237,168,33,,168,-237', -'78,294,295,74,152,-237,,33,,,-237,78,294,295,74,149,,,,-237,,33,296', -',-237,78,294,295,74,,,291,290,296,,32,,,,,,,291,290,,,32,296,,,150,282', -',153,,151,291,290,318,-237,32,33,310,,-237,78,294,295,74,,,,,,,152,358', -'314,315,311,312,313,,,,316,149,296,,,,,,,,,291,290,,33,32,,,,,,,22,23', -'21,,26,,25,,30,306,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,', -'32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33', -',,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11', -'27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17', -'18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15', -'16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13', -'14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,45,30,,8,12,19,20', -'9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12', -'19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30', -',8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26', -',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21', -'28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22', -'23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,', -',,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27', -'33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18', -'11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16', -'17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14', -'15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10', -'13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19', -'20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,', -'8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,', -'25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21', -'28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22', -'23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,', -',,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27', -'33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18', -'11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16', -'17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14', -'15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10', -'13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19', -'20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,', -'8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21,28,26,', -'25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22,23,21', -'28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,,,,32,22', -'23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,33,,,,', -',,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27', -'33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18', -'11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14,15,16', -'17,18,11,27,33,,,,,,,32,22,23,21,28,26,,25,,30,,8,12,19,20,9,10,13,14', -'15,16,17,18,11,27,,,,,,,,32,,,,28' ] - racc_action_table = arr = ::Array.new(2553, nil) +'341,342,33,343,406,76,5,33,33,380,354,37,50,33,33,340,42,379,352,2,3', +'4,209,210,211,212,213,214,215,216,220,33,217,208,218,219,104,115,105', +'106,107,121,33,32,51,336,330,331,32,32,334,332,335,301,32,32,33,333', +'120,108,109,110,112,114,113,329,338,339,111,116,118,196,32,199,87,122', +'123,119,124,341,342,33,343,32,58,59,60,61,279,280,43,33,33,33,340,231', +'50,32,200,88,197,209,210,211,212,213,214,215,216,220,361,217,208,218', +'219,104,115,105,106,107,121,33,32,48,336,330,331,50,51,334,332,335,32', +'32,32,88,333,120,108,109,110,112,114,113,329,338,339,111,116,118,341', +'342,320,343,122,123,119,124,66,51,158,39,32,40,41,340,157,83,324,395', +'89,316,209,210,211,212,213,214,215,216,355,276,217,208,218,219,104,115', +'105,106,107,121,39,88,88,336,330,331,40,41,334,332,335,40,41,144,277', +'333,120,108,109,110,112,114,113,329,338,339,111,116,118,164,397,396', +'145,122,123,119,124,341,342,146,343,147,58,59,60,61,63,64,148,65,272', +'273,340,76,88,88,88,40,41,209,210,211,212,213,214,215,216,220,156,217', +'208,218,219,104,115,105,106,107,121,40,41,159,336,330,331,40,41,334', +'332,335,40,41,387,388,333,120,108,109,110,112,114,113,329,338,339,111', +'116,118,341,342,161,343,122,123,119,124,163,58,59,60,61,40,41,340,55', +'54,56,40,41,41,209,210,211,212,213,214,215,216,220,166,217,208,218,219', +'104,115,105,106,107,121,40,41,158,336,330,331,40,41,334,332,335,40,41', +'40,41,333,120,108,109,110,112,114,113,329,338,339,111,116,118,40,41', +'40,41,122,123,119,124,341,342,-107,343,-108,58,59,60,61,58,59,60,61', +'40,41,340,55,54,56,40,41,-109,209,210,211,212,213,214,215,216,220,-110', +'217,208,218,219,104,115,105,106,107,121,40,41,-111,336,330,331,40,41', +'334,332,335,365,366,40,41,333,120,108,109,110,112,114,113,329,338,339', +'111,116,118,341,342,-112,343,122,123,119,124,40,41,-113,-114,-115,-116', +'-117,340,48,-132,171,172,173,174,209,210,211,212,213,214,215,216,220', +'175,217,208,218,219,104,115,105,106,107,121,176,177,42,336,330,331,201', +'234,334,332,335,235,237,238,239,333,120,108,109,110,112,114,113,329', +'338,339,111,116,118,241,83,245,245,122,123,119,124,341,342,245,343,251', +'58,59,60,61,254,42,257,259,263,265,340,267,268,42,270,307,309,209,210', +'211,212,213,214,215,216,220,263,217,208,218,219,104,115,105,106,107', +'121,311,267,321,336,330,331,322,323,334,332,335,359,364,364,364,333', +'120,108,109,110,112,114,113,329,338,339,111,116,118,371,372,373,374', +'122,123,119,124,33,375,377,58,59,60,61,378,381,382,22,23,21,392,26,-217', +'25,401,30,402,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104,115', +'105,106,107,121,403,32,406,407,408,28,409,139,,140,142,,,,,,120,108', +'109,110,112,114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60', +'61,,,,22,23,21,,26,,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102', +'103,104,115,105,106,107,121,,32,,,,28,,,,,,,,,,,120,108,109,110,112', +'114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23', +'21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104', +'115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114', +'113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21', +',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104', +'115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114', +'113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21', +',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104', +'115,105,106,107,121,,32,,,,28,,139,,140,142,,,,,,120,108,109,110,112', +'114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23', +'21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104', +'115,105,106,107,121,-4,32,-239,,33,28,80,139,-239,140,142,,,76,,,120', +'108,109,110,112,114,113,,,,111,116,118,,,,,122,123,119,124,,,,,,,,,32', +',,,,,,,,,,168,33,169,,58,59,60,61,,,,22,23,21,,26,-217,25,,30,39,93', +'94,95,96,97,98,99,100,117,16,101,92,102,103,104,115,105,106,107,121', +'168,32,169,40,41,28,,139,,140,142,,,,,,120,108,109,110,112,114,113,', +',170,111,116,118,58,59,60,61,122,123,119,124,,,,,,,,40,41,209,210,211', +'212,213,214,215,216,220,,217,208,218,219,104,115,105,106,107,121,170', +',,,,,,207,,,142,,,,,,120,108,109,110,112,114,113,168,,169,111,116,118', +'58,59,60,61,122,123,119,124,,,,,,,,,,209,210,211,212,213,214,215,216', +'220,,217,208,218,219,104,115,105,106,107,121,,40,41,,,,,207,,,142,,', +',,,120,108,109,110,112,114,113,170,,,111,116,118,58,59,60,61,122,123', +'119,124,,,,,,,,,,209,210,211,212,213,214,215,216,220,,217,208,218,219', +'104,115,105,106,107,121,168,,169,168,152,169,168,155,169,153,,,,,,,120', +'108,109,110,112,114,113,,,,111,116,118,154,,,,122,123,119,124,,,,151', +',,,40,41,,40,41,,40,41,-239,,33,,80,,-239,,,296,297,76,,,170,,,170,', +',170,,-239,,33,,80,,-239,,298,296,297,76,,,,,,293,292,,,32,-239,,33', +',80,,-239,,298,296,297,76,,,,284,,293,292,,,32,-239,,33,,80,,-239,,298', +'296,297,76,,,,312,,293,292,,,32,,,,,,,,,298,,,,,,,360,,293,292,,33,32', +',,,,,,,,22,23,21,,26,,25,308,30,,8,12,19,20,9,10,13,14,15,16,17,18,11', +'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15', +'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9', +'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8', +'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26', +',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22', +'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,', +'32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14,15,16,17,18,11', +'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15', +'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9', +'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8', +'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26', +',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22', +'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,', +'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11', +'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15', +'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9', +'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8', +'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26', +',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22', +'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,', +'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11', +'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15', +'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9', +'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8', +'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26', +',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22', +'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,', +'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11', +'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15', +'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9', +'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8', +'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26', +',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22', +'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,', +'32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11', +'27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15', +'16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9', +'10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8', +'12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26', +',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22', +'23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,152,,,155', +',153,,32,320,,,28,,,,,,,,,,,,,,154,,316,317,313,314,315,,,,318,151' ] + racc_action_table = arr = ::Array.new(2819, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -488,125 +497,131 @@ def initialize(message, subject:, location:) end clist = [ -'373,373,315,373,267,260,260,257,265,317,28,362,263,373,229,316,407,317', -'1,362,373,373,373,373,373,373,373,373,373,5,373,373,373,373,373,373', -'373,373,373,373,314,315,28,373,373,373,257,265,373,373,373,263,267,229', -'316,373,373,373,373,373,373,373,373,373,373,373,373,373,373,160,46,324', -'7,373,373,373,373,312,312,314,312,312,312,24,188,187,194,235,187,186', -'312,185,48,27,160,46,324,312,312,312,312,312,312,312,312,312,32,312', -'312,312,312,312,312,312,312,312,312,153,194,235,312,312,312,188,187', -'312,312,312,186,158,185,48,312,312,312,312,312,312,312,312,312,312,312', -'312,312,312,318,318,35,318,312,312,312,312,36,77,153,52,158,318,77,298', -'53,6,6,54,318,318,318,318,318,318,318,318,318,381,318,318,318,318,318', -'318,318,318,318,318,298,47,55,318,318,318,6,258,318,318,318,0,0,0,381', -'318,318,318,318,318,318,318,318,318,318,318,318,318,318,47,47,84,258', -'318,318,318,318,384,384,56,384,384,384,31,31,74,31,304,250,250,384,76', -'383,382,255,255,84,384,384,384,384,384,384,384,384,384,304,384,384,384', -'384,384,384,384,384,384,384,383,382,78,384,384,384,30,30,384,384,384', -'80,30,30,30,384,384,384,384,384,384,384,384,384,384,384,384,384,384', -'406,406,81,406,384,384,384,384,143,143,147,147,82,406,143,143,143,389', -'389,88,406,406,406,406,406,406,406,406,406,89,406,406,406,406,406,406', -'406,406,406,406,391,391,90,406,406,406,392,392,406,406,406,372,372,367', -'367,406,406,406,406,406,406,406,406,406,406,406,406,406,406,365,365', -'182,182,406,406,406,406,313,313,91,313,313,313,183,183,184,184,360,360', -'92,313,163,163,356,356,190,190,313,313,313,313,313,313,313,313,313,93', -'313,313,313,313,313,313,313,313,313,313,191,191,94,313,313,313,192,192', -'313,313,313,355,355,335,335,313,313,313,313,313,313,313,313,313,313', -'313,313,313,313,354,354,95,354,313,313,313,313,388,388,44,44,96,354', -'97,98,99,100,101,115,354,354,354,354,354,354,354,354,354,125,354,354', -'354,354,354,354,354,354,354,354,126,127,129,354,354,354,131,134,354', -'354,354,135,141,170,189,354,354,354,354,354,354,354,354,354,354,354', -'354,354,354,193,195,196,198,354,354,354,354,311,311,203,311,311,311', -'226,227,228,230,231,234,238,311,241,242,243,244,245,247,311,311,311', -'311,311,311,311,311,311,251,311,311,311,311,311,311,311,311,311,311', -'253,269,273,311,311,311,275,276,311,311,311,280,294,295,296,311,311', -'311,311,311,311,311,311,311,311,311,311,311,311,172,321,172,172,311', -'311,311,311,172,172,172,326,172,172,172,344,172,346,172,172,172,172', -'172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,347', -'172,348,349,351,172,353,172,357,172,172,361,366,368,378,385,172,172', -'172,172,172,172,172,386,387,396,172,172,172,137,398,137,137,172,172', -'172,172,137,137,137,401,137,403,137,,137,,137,137,137,137,137,137,137', -'137,137,137,137,137,137,137,137,137,137,137,137,137,,137,,,,137,,,,', -',,,,,,137,137,137,137,137,137,137,,,,137,137,137,239,,239,239,137,137', -'137,137,239,239,239,,239,239,239,,239,,239,239,239,239,239,239,239,239', -'239,239,239,239,239,239,239,239,239,239,239,239,,239,,,,239,,239,,,239', -',,,,,239,239,239,239,239,239,239,,,,239,239,239,173,,173,173,239,239', -'239,239,173,173,173,,173,173,173,,173,,173,173,173,173,173,173,173,173', -'173,173,173,173,173,173,173,173,173,173,173,173,,173,,,,173,,173,,,173', -',,,,,173,173,173,173,173,173,173,,,,173,173,173,159,,159,159,173,173', -'173,173,159,159,159,,159,159,159,,159,,159,159,159,159,159,159,159,159', -'159,159,159,159,159,159,159,159,159,159,159,159,,159,,,,159,,159,,159', -'159,,,,,,159,159,159,159,159,159,159,,,,159,159,159,171,,171,171,159', -'159,159,159,171,171,171,,171,171,171,,171,,171,171,171,171,171,171,171', -'171,171,171,171,171,171,171,171,171,171,171,171,171,,171,,,34,171,34', -'171,34,171,171,34,34,,,34,171,171,171,171,171,171,171,,,,171,171,171', -',,,,171,171,171,171,,,178,50,178,50,50,,,,34,50,50,50,,50,50,50,,50', -',50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,34,50,', -'178,178,50,,50,,50,50,,,,,,50,50,50,50,50,50,50,175,175,178,50,50,50', -',,,,50,50,50,50,,,175,175,175,175,175,175,175,175,175,,175,175,175,175', -'175,175,175,175,175,175,,,,,,,,175,,,175,,,,,,175,175,175,175,175,175', -'175,174,174,,175,175,175,,,,,175,175,175,175,,,174,174,174,174,174,174', -'174,174,174,,174,174,174,174,174,174,174,174,174,174,,,,,,,,174,,,174', -',,,,,174,174,174,174,174,174,174,205,205,,174,174,174,,,,,174,174,174', -'174,,,205,205,205,205,205,205,205,205,205,,205,205,205,205,205,205,205', -'205,205,205,179,,179,222,,222,123,,123,176,,176,180,,180,,205,205,205', -'205,205,205,205,,,,205,205,205,,,,,205,205,205,205,,,,,,179,179,,222', -'222,,123,123,,176,176,,180,180,,75,,,75,,75,,179,,,222,,,123,,264,176', -'264,,180,264,264,264,264,264,75,279,,279,,,279,279,279,279,279,75,,', -',323,,323,264,,323,323,323,323,323,,,264,264,279,,264,,,,,,,279,279', -',,279,323,,,281,264,,281,,281,323,323,281,272,323,272,279,,272,272,272', -'272,272,,,,,,,281,323,281,281,281,281,281,,,,281,281,272,,,,,,,,,272', -'272,,154,272,,,,,,,154,154,154,,154,,154,,154,272,154,154,154,154,154', -'154,154,154,154,154,154,154,154,154,26,,,,,,,154,26,26,26,154,26,,26', -',26,,26,26,26,26,26,26,26,26,26,26,26,26,26,26,40,,,,,,,26,40,40,40', -'26,40,,40,,40,,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,,,,,,,40', -'41,41,41,40,41,,41,,41,,41,41,41,41,41,41,41,41,41,41,41,41,41,41,43', -',,,,,,41,43,43,43,41,43,,43,,43,,43,43,43,43,43,43,43,43,43,43,43,43', -'43,43,86,,,,,,,43,86,86,86,43,86,,86,,86,,86,86,86,86,86,86,86,86,86', -'86,86,86,86,86,25,,,,,,,86,25,25,25,86,25,,25,25,25,,25,25,25,25,25', -'25,25,25,25,25,25,25,25,25,233,,,,,,,25,233,233,233,25,233,,233,,233', -',233,233,233,233,233,233,233,233,233,233,233,233,233,233,266,,,,,,,233', -'266,266,266,233,266,,266,,266,,266,266,266,266,266,266,266,266,266,266', -'266,266,266,266,138,,,,,,,266,138,138,138,266,138,,138,,138,,138,138', -'138,138,138,138,138,138,138,138,138,138,138,138,139,,,,,,,138,139,139', -'139,138,139,,139,,139,,139,139,139,139,139,139,139,139,139,139,139,139', -'139,139,140,,,,,,,139,140,140,140,139,140,,140,,140,,140,140,140,140', -'140,140,140,140,140,140,140,140,140,140,232,,,,,,,140,232,232,232,140', -'232,,232,,232,,232,232,232,232,232,232,232,232,232,232,232,232,232,232', -'144,,,,,,,232,144,144,144,232,144,,144,,144,,144,144,144,144,144,144', -'144,144,144,144,144,144,144,144,145,,,,,,,144,145,145,145,144,145,,145', -',145,,145,145,145,145,145,145,145,145,145,145,145,145,145,145,57,,,', -',,,145,57,57,57,145,57,,57,,57,,57,57,57,57,57,57,57,57,57,57,57,57', -'57,57,307,,,,,,,57,307,307,307,57,307,,307,,307,,307,307,307,307,307', -'307,307,307,307,307,307,307,307,307,319,,,,,,,307,319,319,319,307,319', -',319,,319,,319,319,319,319,319,319,319,319,319,319,319,319,319,319,320', -',,,,,,319,320,320,320,319,320,,320,,320,,320,320,320,320,320,320,320', -'320,320,320,320,320,320,320,146,,,,,,,320,146,146,146,320,146,,146,', -'146,,146,146,146,146,146,146,146,146,146,146,146,146,146,146,325,,,', -',,,146,325,325,325,146,325,,325,,325,,325,325,325,325,325,325,325,325', -'325,325,325,325,325,325,199,,,,,,,325,199,199,199,325,199,,199,,199', -',199,199,199,199,199,199,199,199,199,199,199,199,199,199,2,,,,,,,199', -'2,2,2,199,2,,2,,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,343,,,,,,,2,343,343,343', -'2,343,,343,,343,,343,343,343,343,343,343,343,343,343,343,343,343,343', -'343,345,,,,,,,343,345,345,345,343,345,,345,,345,,345,345,345,345,345', -'345,345,345,345,345,345,345,345,345,155,,,,,,,345,155,155,155,345,155', -',155,,155,,155,155,155,155,155,155,155,155,155,155,155,155,155,155,157', -',,,,,,155,157,157,157,155,157,,157,,157,,157,157,157,157,157,157,157', -'157,157,157,157,157,157,157,51,,,,,,,157,51,51,51,157,51,,51,,51,,51', -'51,51,51,51,51,51,51,51,51,51,51,51,51,369,,,,,,,51,369,369,369,51,369', -',369,,369,,369,369,369,369,369,369,369,369,369,369,369,369,369,369,370', -',,,,,,369,370,370,370,369,370,,370,,370,,370,370,370,370,370,370,370', -'370,370,370,370,370,370,370,371,,,,,,,370,371,371,371,370,371,,371,', -'371,,371,371,371,371,371,371,371,371,371,371,371,371,371,371,375,,,', -',,,371,375,375,375,371,375,,375,,375,,375,375,375,375,375,375,375,375', -'375,375,375,375,375,375,376,,,,,,,375,376,376,376,375,376,,376,,376', -',376,376,376,376,376,376,376,376,376,376,376,376,376,376,379,,,,,,,376', -'379,379,379,376,379,,379,,379,,379,379,379,379,379,379,379,379,379,379', -'379,379,379,379,380,,,,,,,379,380,380,380,379,380,,380,,380,,380,380', -'380,380,380,380,380,380,380,380,380,380,380,380,177,,,,,,,380,177,177', -'177,380,177,,177,,177,,177,177,177,177,177,177,177,177,177,177,177,177', -'177,177,,,,,,,,177,,,,177' ] - racc_action_check = arr = ::Array.new(2553, nil) +'375,375,317,375,409,269,1,259,267,364,319,5,28,265,231,375,7,364,319', +'0,0,0,375,375,375,375,375,375,375,375,375,318,375,375,375,375,375,375', +'375,375,375,375,316,317,28,375,375,375,259,267,375,375,375,269,265,231', +'190,375,375,375,375,375,375,375,375,375,375,375,375,375,375,160,318', +'162,46,375,375,375,375,314,314,188,314,316,314,314,314,314,262,262,24', +'189,187,48,314,189,196,190,162,46,160,314,314,314,314,314,314,314,314', +'314,326,314,314,314,314,314,314,314,314,314,314,155,188,27,314,314,314', +'237,196,314,314,314,189,187,48,326,314,314,314,314,314,314,314,314,314', +'314,314,314,314,314,320,320,306,320,314,314,314,314,32,237,79,35,155', +'6,6,320,79,36,300,383,47,306,320,320,320,320,320,320,320,320,320,260', +'320,320,320,320,320,320,320,320,320,320,6,300,383,320,320,320,47,47', +'320,320,320,252,252,52,260,320,320,320,320,320,320,320,320,320,320,320', +'320,320,320,86,385,384,53,320,320,320,320,386,386,54,386,55,386,386', +'386,386,31,31,56,31,257,257,386,76,86,385,384,149,149,386,386,386,386', +'386,386,386,386,386,78,386,386,386,386,386,386,386,386,386,386,391,391', +'80,386,386,386,393,393,386,386,386,394,394,374,374,386,386,386,386,386', +'386,386,386,386,386,386,386,386,386,408,408,82,408,386,386,386,386,83', +'30,30,30,30,369,369,408,30,30,30,367,367,84,408,408,408,408,408,408', +'408,408,408,90,408,408,408,408,408,408,408,408,408,408,184,184,91,408', +'408,408,185,185,408,408,408,186,186,362,362,408,408,408,408,408,408', +'408,408,408,408,408,408,408,408,165,165,358,358,408,408,408,408,315', +'315,92,315,93,315,315,315,315,145,145,145,145,192,192,315,145,145,145', +'193,193,94,315,315,315,315,315,315,315,315,315,95,315,315,315,315,315', +'315,315,315,315,315,194,194,96,315,315,315,357,357,315,315,315,337,337', +'390,390,315,315,315,315,315,315,315,315,315,315,315,315,315,315,356', +'356,97,356,315,315,315,315,44,44,98,99,100,101,102,356,103,117,127,128', +'129,131,356,356,356,356,356,356,356,356,356,133,356,356,356,356,356', +'356,356,356,356,356,136,137,143,356,356,356,172,191,356,356,356,195', +'197,198,200,356,356,356,356,356,356,356,356,356,356,356,356,356,356', +'205,228,229,230,356,356,356,356,313,313,232,313,233,313,313,313,313', +'236,240,243,244,245,246,313,247,249,253,255,271,275,313,313,313,313', +'313,313,313,313,313,277,313,313,313,313,313,313,313,313,313,313,278', +'282,296,313,313,313,297,298,313,313,313,323,328,346,348,313,313,313', +'313,313,313,313,313,313,313,313,313,313,313,349,350,351,353,313,313', +'313,313,174,355,359,174,174,174,174,363,368,370,174,174,174,380,174', +'174,174,387,174,388,174,174,174,174,174,174,174,174,174,174,174,174', +'174,174,174,174,174,174,174,174,389,174,398,400,403,174,405,174,,174', +'174,,,,,,174,174,174,174,174,174,174,,,,174,174,174,,,,,174,174,174', +'174,139,,,139,139,139,139,,,,139,139,139,,139,,139,,139,,139,139,139', +'139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139', +',139,,,,139,,,,,,,,,,,139,139,139,139,139,139,139,,,,139,139,139,,,', +',139,139,139,139,241,,,241,241,241,241,,,,241,241,241,,241,241,241,', +'241,,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241', +'241,241,241,241,,241,,,,241,,241,,,241,,,,,,241,241,241,241,241,241', +'241,,,,241,241,241,,,,,241,241,241,241,175,,,175,175,175,175,,,,175', +'175,175,,175,175,175,,175,,175,175,175,175,175,175,175,175,175,175,175', +'175,175,175,175,175,175,175,175,175,,175,,,,175,,175,,,175,,,,,,175', +'175,175,175,175,175,175,,,,175,175,175,,,,,175,175,175,175,161,,,161', +'161,161,161,,,,161,161,161,,161,161,161,,161,,161,161,161,161,161,161', +'161,161,161,161,161,161,161,161,161,161,161,161,161,161,,161,,,,161', +',161,,161,161,,,,,,161,161,161,161,161,161,161,,,,161,161,161,,,,,161', +'161,161,161,173,,,173,173,173,173,,,,173,173,173,,173,173,173,,173,', +'173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173', +'173,173,173,34,173,34,,34,173,34,173,34,173,173,,,34,,,173,173,173,173', +'173,173,173,,,,173,173,173,,,,,173,173,173,173,,,,,,,,,34,,,,,,,,,,', +'180,50,180,,50,50,50,50,,,,50,50,50,,50,50,50,,50,34,50,50,50,50,50', +'50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,181,50,181,180,180,50,', +'50,,50,50,,,,,,50,50,50,50,50,50,50,,,180,50,50,50,177,177,177,177,50', +'50,50,50,,,,,,,,181,181,177,177,177,177,177,177,177,177,177,,177,177', +'177,177,177,177,177,177,177,177,181,,,,,,,177,,,177,,,,,,177,177,177', +'177,177,177,177,224,,224,177,177,177,176,176,176,176,177,177,177,177', +',,,,,,,,,176,176,176,176,176,176,176,176,176,,176,176,176,176,176,176', +'176,176,176,176,,224,224,,,,,176,,,176,,,,,,176,176,176,176,176,176', +'176,224,,,176,176,176,207,207,207,207,176,176,176,176,,,,,,,,,,207,207', +'207,207,207,207,207,207,207,,207,207,207,207,207,207,207,207,207,207', +'125,,125,178,77,178,182,77,182,77,,,,,,,207,207,207,207,207,207,207', +',,,207,207,207,77,,,,207,207,207,207,,,,77,,,,125,125,,178,178,,182', +'182,266,,266,,266,,266,,,266,266,266,,,125,,,178,,,182,,281,,281,,281', +',281,,266,281,281,281,,,,,,266,266,,,266,325,,325,,325,,325,,281,325', +'325,325,,,,266,,281,281,,,281,274,,274,,274,,274,,325,274,274,274,,', +',281,,325,325,,,325,,,,,,,,,274,,,,,,,325,,274,274,,156,274,,,,,,,,', +'156,156,156,,156,,156,274,156,,156,156,156,156,156,156,156,156,156,156', +'156,156,156,156,,,26,,,,,156,,,,156,26,26,26,,26,,26,,26,,26,26,26,26', +'26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40,,40,,40,,40', +',40,40,40,40,40,40,40,40,40,40,40,40,40,40,,,41,,,,,40,,,,40,41,41,41', +',41,,41,,41,,41,41,41,41,41,41,41,41,41,41,41,41,41,41,,,43,,,,,41,', +',,41,43,43,43,,43,,43,,43,,43,43,43,43,43,43,43,43,43,43,43,43,43,43', +',,88,,,,,43,,,,43,88,88,88,,88,,88,,88,,88,88,88,88,88,88,88,88,88,88', +'88,88,88,88,,,25,,,,,88,,,,88,25,25,25,,25,,25,25,25,,25,25,25,25,25', +'25,25,25,25,25,25,25,25,25,,,235,,,,,25,,,,25,235,235,235,,235,,235', +',235,,235,235,235,235,235,235,235,235,235,235,235,235,235,235,,,268', +',,,,235,,,,235,268,268,268,,268,,268,,268,,268,268,268,268,268,268,268', +'268,268,268,268,268,268,268,,,140,,,,,268,,,,268,140,140,140,,140,,140', +',140,,140,140,140,140,140,140,140,140,140,140,140,140,140,140,,,141', +',,,,140,,,,140,141,141,141,,141,,141,,141,,141,141,141,141,141,141,141', +'141,141,141,141,141,141,141,,,142,,,,,141,,,,141,142,142,142,,142,,142', +',142,,142,142,142,142,142,142,142,142,142,142,142,142,142,142,,,234', +',,,,142,,,,142,234,234,234,,234,,234,,234,,234,234,234,234,234,234,234', +'234,234,234,234,234,234,234,,,146,,,,,234,,,,234,146,146,146,,146,,146', +',146,,146,146,146,146,146,146,146,146,146,146,146,146,146,146,,,147', +',,,,146,,,,146,147,147,147,,147,,147,,147,,147,147,147,147,147,147,147', +'147,147,147,147,147,147,147,,,57,,,,,147,,,,147,57,57,57,,57,,57,,57', +',57,57,57,57,57,57,57,57,57,57,57,57,57,57,,,309,,,,,57,,,,57,309,309', +'309,,309,,309,,309,,309,309,309,309,309,309,309,309,309,309,309,309', +'309,309,,,321,,,,,309,,,,309,321,321,321,,321,,321,,321,,321,321,321', +'321,321,321,321,321,321,321,321,321,321,321,,,322,,,,,321,,,,321,322', +'322,322,,322,,322,,322,,322,322,322,322,322,322,322,322,322,322,322', +'322,322,322,,,148,,,,,322,,,,322,148,148,148,,148,,148,,148,,148,148', +'148,148,148,148,148,148,148,148,148,148,148,148,,,327,,,,,148,,,,148', +'327,327,327,,327,,327,,327,,327,327,327,327,327,327,327,327,327,327', +'327,327,327,327,,,201,,,,,327,,,,327,201,201,201,,201,,201,,201,,201', +'201,201,201,201,201,201,201,201,201,201,201,201,201,,,2,,,,,201,,,,201', +'2,2,2,,2,,2,,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,345,,,,,2,,,,2,345,345', +'345,,345,,345,,345,,345,345,345,345,345,345,345,345,345,345,345,345', +'345,345,,,347,,,,,345,,,,345,347,347,347,,347,,347,,347,,347,347,347', +'347,347,347,347,347,347,347,347,347,347,347,,,157,,,,,347,,,,347,157', +'157,157,,157,,157,,157,,157,157,157,157,157,157,157,157,157,157,157', +'157,157,157,,,159,,,,,157,,,,157,159,159,159,,159,,159,,159,,159,159', +'159,159,159,159,159,159,159,159,159,159,159,159,,,51,,,,,159,,,,159', +'51,51,51,,51,,51,,51,,51,51,51,51,51,51,51,51,51,51,51,51,51,51,,,371', +',,,,51,,,,51,371,371,371,,371,,371,,371,,371,371,371,371,371,371,371', +'371,371,371,371,371,371,371,,,372,,,,,371,,,,371,372,372,372,,372,,372', +',372,,372,372,372,372,372,372,372,372,372,372,372,372,372,372,,,373', +',,,,372,,,,372,373,373,373,,373,,373,,373,,373,373,373,373,373,373,373', +'373,373,373,373,373,373,373,,,377,,,,,373,,,,373,377,377,377,,377,,377', +',377,,377,377,377,377,377,377,377,377,377,377,377,377,377,377,,,378', +',,,,377,,,,377,378,378,378,,378,,378,,378,,378,378,378,378,378,378,378', +'378,378,378,378,378,378,378,,,381,,,,,378,,,,378,381,381,381,,381,,381', +',381,,381,381,381,381,381,381,381,381,381,381,381,381,381,381,,,382', +',,,,381,,,,381,382,382,382,,382,,382,,382,,382,382,382,382,382,382,382', +'382,382,382,382,382,382,382,,,179,,,,,382,,,,382,179,179,179,,179,,179', +',179,,179,179,179,179,179,179,179,179,179,179,179,179,179,179,283,,', +'283,,283,,179,283,,,179,,,,,,,,,,,,,,283,,283,283,283,283,283,,,,283', +'283' ] + racc_action_check = arr = ::Array.new(2819, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -616,437 +631,443 @@ def initialize(message, subject:, location:) end racc_action_pointer = [ - 126, 18, 2089, nil, nil, 29, 118, 23, nil, nil, + -54, 6, 2276, nil, nil, 11, 116, -35, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 65, 1577, 1417, 77, -6, nil, - 263, 227, 102, nil, 961, 74, 136, nil, nil, nil, - 1449, 1481, nil, 1513, 403, nil, 51, 170, 88, nil, - 993, 2249, 136, 118, 112, 135, 172, 1865, nil, nil, + nil, nil, nil, nil, 70, 1700, 1520, 105, -6, nil, + 302, 236, 154, nil, 1033, 85, 147, nil, nil, nil, + 1556, 1592, nil, 1628, 411, nil, 53, 151, 89, nil, + 1086, 2456, 182, 178, 176, 178, 185, 2024, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 220, 1236, 195, 153, 223, nil, - 258, 292, 258, nil, 198, nil, 1545, nil, 294, 319, - 292, 329, 339, 356, 369, 398, 408, 410, 411, 412, - 413, 440, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 415, nil, nil, nil, nil, - nil, nil, nil, 1215, nil, 425, 461, 435, nil, 436, - nil, 440, nil, nil, 441, 445, nil, 647, 1673, 1705, - 1737, 441, nil, 294, 1801, 1833, 1993, 257, nil, nil, - nil, nil, nil, 113, 1385, 2185, nil, 2217, 109, 848, - 50, nil, nil, 338, nil, nil, nil, nil, nil, nil, - 443, 915, 580, 781, 1111, 1052, 1218, 2505, 993, 1209, - 1221, nil, 318, 330, 332, 87, 85, 81, 80, 438, - 342, 364, 370, 459, 70, 488, 492, nil, 508, 2057, - nil, nil, nil, 473, nil, 1170, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 232, 1297, 216, 158, + 229, nil, 284, 306, 273, nil, 200, nil, 1664, nil, + 312, 342, 337, 339, 356, 366, 379, 408, 416, 417, + 418, 419, 420, 448, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, 423, nil, nil, + nil, nil, nil, nil, nil, 1325, nil, 424, 450, 424, + nil, 425, nil, 435, nil, nil, 446, 447, nil, 681, + 1808, 1844, 1880, 443, nil, 381, 1952, 1988, 2168, 202, + nil, nil, nil, nil, nil, 117, 1484, 2384, nil, 2420, + 49, 912, 52, nil, nil, 324, nil, nil, nil, nil, + nil, nil, 448, 989, 604, 835, 1218, 1152, 1328, 2744, + 1086, 1127, 1331, nil, 295, 301, 306, 88, 77, 87, + 52, 443, 345, 351, 374, 453, 78, 482, 486, nil, + 504, 2240, nil, nil, nil, 475, nil, 1284, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 1212, nil, nil, nil, 503, 504, 505, 10, - 506, 520, 1769, 1609, 505, 71, nil, nil, 478, 714, - nil, 513, 473, 454, 490, 489, nil, 516, nil, nil, - 189, 495, nil, 534, nil, 238, nil, 3, 174, nil, - -70, nil, nil, 8, 1282, 4, 1641, -7, nil, 539, - nil, nil, 1347, 539, nil, 484, 560, nil, nil, 1293, - 522, 1307, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 525, 526, 514, nil, 142, nil, - nil, nil, nil, nil, 192, nil, nil, 1897, nil, nil, - nil, 513, 75, 367, 36, -2, 11, -61, 144, 1929, - 1961, 576, nil, 1307, 52, 2025, 579, nil, nil, nil, - nil, nil, nil, nil, nil, 373, nil, nil, nil, nil, - nil, nil, nil, 2121, 583, 2153, 585, 604, 606, 607, - nil, 589, nil, 573, 436, 375, 340, 588, nil, nil, - 334, 591, 2, nil, nil, 316, 592, 300, 593, 2281, - 2313, 2345, 313, -2, nil, 2377, 2409, nil, 619, 2441, - 2473, 156, 220, 219, 221, 582, 590, 616, 401, 264, - nil, 287, 293, nil, nil, nil, 591, nil, 610, nil, - nil, 607, nil, 619, nil, nil, 290, -40, nil, nil ] + nil, nil, nil, nil, 1216, nil, nil, nil, 502, 503, + 504, 10, 511, 528, 1916, 1736, 515, 109, nil, nil, + 488, 758, nil, 522, 482, 463, 499, 499, nil, 526, + nil, nil, 156, 496, nil, 525, nil, 240, nil, 3, + 160, nil, 11, nil, nil, 9, 1378, 4, 1772, -8, + nil, 530, nil, nil, 1444, 530, nil, 481, 569, nil, + nil, 1400, 526, 2747, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 529, 533, 521, nil, + 147, nil, nil, nil, nil, nil, 109, nil, nil, 2060, + nil, nil, nil, 527, 77, 377, 38, -2, 27, -62, + 148, 2096, 2132, 571, nil, 1422, 89, 2204, 565, nil, + nil, nil, nil, nil, nil, nil, nil, 381, nil, nil, + nil, nil, nil, nil, nil, 2312, 566, 2348, 567, 580, + 581, 582, nil, 564, nil, 552, 448, 380, 326, 566, + nil, nil, 308, 571, -2, nil, nil, 272, 572, 266, + 573, 2492, 2528, 2564, 252, -2, nil, 2600, 2636, nil, + 602, 2672, 2708, 148, 202, 201, 227, 568, 570, 616, + 387, 224, nil, 230, 235, nil, nil, nil, 592, nil, + 607, nil, nil, 595, nil, 607, nil, nil, 298, -54, + nil, nil ] racc_action_default = [ - -241, -241, -237, -6, -16, -241, -4, -160, -163, -164, + -243, -243, -239, -6, -16, -243, -4, -160, -163, -164, -165, -166, -167, -168, -169, -170, -171, -172, -173, -174, - -175, -176, -177, -178, -179, -237, -237, -241, -241, -187, - -241, -241, -238, -240, -17, -4, -150, 410, -1, -5, - -237, -237, -186, -237, -188, -181, -241, -241, -237, -185, - -237, -237, -241, -191, -241, -241, -241, -237, -199, -200, - -231, -232, -233, -234, -239, -2, -7, -8, -9, -10, - -11, -12, -13, -14, -17, -241, -241, -241, -241, -3, - -82, -241, -161, -162, -241, -182, -237, -183, -241, -241, - -173, -163, -167, -174, -175, -164, -165, -168, -169, -172, - -166, -118, -119, -120, -121, -122, -123, -124, -125, -126, - -127, -128, -129, -130, -131, -170, -133, -134, -135, -136, - -137, -138, -139, -227, -197, -241, -241, -204, -205, -207, - -208, -210, -211, -214, -217, -219, -220, -237, -237, -237, - -237, -202, -190, -241, -237, -237, -237, -196, -18, -15, - -15, -15, -15, -237, -237, -237, -236, -237, -84, -237, - -241, -152, -180, -189, -184, -221, -228, -229, -230, -198, - -241, -237, -237, -237, -215, -215, -227, -237, -227, -227, - -227, -192, -193, -194, -195, -237, -237, -237, -237, -241, - -157, -158, -159, -241, -241, -241, -241, -151, -241, -237, - -203, -211, -206, -213, -209, -241, -107, -108, -109, -110, - -111, -112, -113, -114, -115, -116, -117, -118, -132, -216, - -218, -222, -227, -223, -224, -226, -150, -140, -140, -237, - -140, -241, -237, -237, -241, -241, -83, -153, -201, -237, - -225, -241, -23, -148, -28, -34, -30, -33, -59, -235, - -156, -81, -85, -241, -212, -241, -34, -237, -241, -142, - -145, -149, -34, -237, -17, -237, -237, -17, -86, -241, - -20, -21, -17, -24, -141, -148, -241, -146, -147, -17, - -29, -73, -27, -35, -36, -37, -38, -39, -40, -41, - -42, -43, -44, -45, -241, -241, -241, -31, -241, -58, - -60, -61, -62, -63, -73, -34, -22, -237, -143, -144, - -26, -241, -241, -241, -237, -237, -237, -70, -241, -237, - -237, -241, -32, -17, -241, -237, -52, -89, -90, -91, - -92, -93, -94, -95, -96, -97, -100, -101, -102, -103, - -104, -105, -106, -237, -52, -237, -52, -64, -66, -68, - -71, -241, -74, -132, -241, -55, -56, -241, -19, -25, - -46, -241, -241, -98, -99, -48, -241, -50, -241, -237, - -237, -237, -75, -241, -154, -237, -237, -53, -241, -237, - -237, -241, -241, -241, -241, -241, -241, -241, -57, -47, - -54, -49, -51, -65, -67, -69, -16, -87, -241, -76, - -77, -241, -72, -78, -79, -88, -241, -16, -155, -80 ] + -175, -176, -177, -178, -179, -239, -239, -243, -243, -187, + -243, -243, -240, -242, -17, -4, -150, 412, -1, -5, + -239, -239, -186, -239, -188, -181, -243, -243, -239, -185, + -239, -239, -243, -191, -243, -243, -243, -239, -199, -200, + -201, -202, -233, -234, -235, -236, -241, -2, -7, -8, + -9, -10, -11, -12, -13, -14, -17, -243, -243, -243, + -243, -3, -82, -243, -161, -162, -243, -182, -239, -183, + -243, -243, -173, -163, -167, -174, -175, -164, -165, -168, + -169, -172, -166, -118, -119, -120, -121, -122, -123, -124, + -125, -126, -127, -128, -129, -130, -131, -170, -133, -134, + -135, -136, -137, -138, -139, -229, -197, -243, -243, -206, + -207, -209, -210, -212, -213, -216, -219, -221, -222, -239, + -239, -239, -239, -204, -190, -243, -239, -239, -239, -196, + -18, -15, -15, -15, -15, -239, -239, -239, -238, -239, + -84, -239, -243, -152, -180, -189, -184, -223, -230, -231, + -232, -198, -243, -239, -239, -239, -217, -217, -229, -239, + -229, -229, -229, -192, -193, -194, -195, -239, -239, -239, + -239, -243, -157, -158, -159, -243, -243, -243, -243, -151, + -243, -239, -205, -213, -208, -215, -211, -243, -107, -108, + -109, -110, -111, -112, -113, -114, -115, -116, -117, -118, + -132, -218, -220, -224, -229, -225, -226, -228, -150, -140, + -140, -239, -140, -243, -239, -239, -243, -243, -83, -153, + -203, -239, -227, -243, -23, -148, -28, -34, -30, -33, + -59, -237, -156, -81, -85, -243, -214, -243, -34, -239, + -243, -142, -145, -149, -34, -239, -17, -239, -239, -17, + -86, -243, -20, -21, -17, -24, -141, -148, -243, -146, + -147, -17, -29, -73, -27, -35, -36, -37, -38, -39, + -40, -41, -42, -43, -44, -45, -243, -243, -243, -31, + -243, -58, -60, -61, -62, -63, -73, -34, -22, -239, + -143, -144, -26, -243, -243, -243, -239, -239, -239, -70, + -243, -239, -239, -243, -32, -17, -243, -239, -52, -89, + -90, -91, -92, -93, -94, -95, -96, -97, -100, -101, + -102, -103, -104, -105, -106, -239, -52, -239, -52, -64, + -66, -68, -71, -243, -74, -132, -243, -55, -56, -243, + -19, -25, -46, -243, -243, -98, -99, -48, -243, -50, + -243, -239, -239, -239, -75, -243, -154, -239, -239, -53, + -243, -239, -239, -243, -243, -243, -243, -243, -243, -243, + -57, -47, -54, -49, -51, -65, -67, -69, -16, -87, + -243, -76, -77, -243, -72, -78, -79, -88, -243, -16, + -155, -80 ] racc_goto_table = [ - 6, 57, 75, 46, 80, 189, 49, 126, 77, 88, - 141, 52, 165, 342, 342, 342, 245, 177, 38, 259, - 342, 84, 89, 201, 47, 204, 402, 326, 344, 346, - 203, 203, 264, 60, 354, 219, 220, 409, 82, 83, - 361, 34, 148, 272, 35, 66, 65, 79, 123, 279, - 280, 308, 269, 256, 262, 147, 342, 297, 366, 301, - 368, 242, 244, 302, 248, 221, 303, 223, 224, 225, - 374, 185, 186, 187, 188, 342, 230, 267, 300, 351, - 384, 247, 396, 158, 163, 177, 342, 193, 258, 387, - 276, 254, 323, 160, 202, 1, nil, 203, nil, nil, - 398, nil, nil, nil, nil, nil, nil, nil, 342, nil, - nil, 240, nil, nil, 57, 247, 196, 247, nil, nil, - nil, nil, 408, nil, 181, nil, nil, nil, 200, nil, - nil, nil, nil, nil, nil, 176, 178, 179, 180, nil, - nil, nil, 182, 183, 184, nil, 226, 227, 228, nil, - nil, nil, 190, 191, nil, 192, nil, 123, 238, 89, - 89, 89, 231, nil, nil, nil, 347, 348, 349, 123, - 123, 123, 234, nil, nil, 222, nil, nil, nil, nil, + 6, 57, 77, 46, 82, 191, 49, 128, 79, 90, + 143, 52, 167, 247, 179, 203, 62, 206, 344, 344, + 344, 86, 91, 38, 47, 344, 261, 328, 346, 348, + 205, 205, 266, 34, 356, 404, 363, 35, 84, 85, + 221, 222, 68, 274, 150, 271, 411, 282, 125, 281, + 258, 67, 81, 264, 368, 149, 370, 299, 310, 244, + 246, 344, 250, 303, 304, 223, 305, 225, 226, 227, + 376, 187, 188, 189, 190, 232, 269, 302, 353, 386, + 344, 249, 179, 256, 398, 160, 165, 195, 260, 389, + 278, 344, 325, 162, 204, 1, nil, 205, nil, nil, + 400, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, 242, nil, 344, nil, 249, 57, 249, 198, nil, + nil, nil, 410, nil, nil, nil, 183, nil, nil, nil, + 202, nil, nil, nil, nil, nil, nil, 178, 180, 181, + 182, nil, nil, nil, 184, 185, 186, nil, 228, 229, + 230, nil, nil, nil, 192, 193, nil, 194, nil, 125, + 240, 91, 91, 91, 233, nil, 349, 350, 351, nil, + nil, 125, 125, 125, 236, nil, nil, 224, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 251, nil, 241, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 253, nil, 243, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 253, nil, nil, nil, nil, 273, nil, + nil, nil, nil, nil, nil, 255, nil, nil, nil, nil, + 275, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 252, 91, nil, nil, nil, 306, nil, 125, + 79, nil, nil, nil, nil, nil, 300, nil, 79, nil, + nil, nil, nil, nil, nil, 79, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 250, 89, nil, nil, nil, 304, nil, 123, 77, nil, - nil, nil, nil, nil, 298, nil, 77, nil, nil, nil, - nil, nil, nil, 77, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 327, 345, 347, 326, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 79, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 325, 343, 345, 324, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 77, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 357, + 358, nil, nil, nil, nil, 362, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 355, 356, nil, - nil, nil, nil, 360, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 367, nil, 369, nil, nil, nil, 383, + 384, 385, nil, nil, nil, nil, nil, 399, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 365, nil, 367, nil, nil, nil, 381, 382, 383, - nil, nil, nil, nil, nil, 397, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 388, 389, nil, nil, 391, 392 ] + nil, nil, nil, nil, nil, 390, 391, nil, nil, 393, + 394 ] racc_goto_check = [ 2, 36, 16, 23, 18, 27, 51, 50, 59, 17, - 49, 61, 74, 53, 53, 53, 25, 63, 3, 55, - 53, 23, 59, 69, 2, 69, 46, 37, 37, 37, - 64, 64, 20, 75, 37, 70, 70, 46, 2, 2, - 38, 4, 16, 20, 5, 6, 3, 3, 2, 20, - 25, 55, 19, 22, 24, 2, 53, 26, 38, 29, - 38, 21, 21, 30, 21, 74, 35, 74, 74, 74, - 37, 14, 14, 14, 14, 53, 39, 40, 41, 42, - 44, 27, 45, 47, 2, 63, 53, 48, 54, 37, - 57, 69, 20, 58, 65, 1, nil, 64, nil, nil, - 37, nil, nil, nil, nil, nil, nil, nil, 53, nil, - nil, 74, nil, nil, 36, 27, 50, 27, nil, nil, - nil, nil, 37, nil, 61, nil, nil, nil, 50, nil, - nil, nil, nil, nil, nil, 2, 2, 2, 2, nil, - nil, nil, 2, 2, 2, nil, 17, 17, 17, nil, - nil, nil, 2, 2, nil, 2, nil, 2, 49, 59, - 59, 59, 59, nil, nil, nil, 27, 27, 27, 2, - 2, 2, 51, nil, nil, 2, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 49, nil, 18, nil, nil, nil, nil, nil, + 49, 61, 74, 25, 63, 69, 75, 69, 53, 53, + 53, 23, 59, 3, 2, 53, 55, 37, 37, 37, + 64, 64, 20, 4, 37, 46, 38, 5, 2, 2, + 70, 70, 6, 20, 16, 19, 46, 25, 2, 20, + 22, 3, 3, 24, 38, 2, 38, 26, 55, 21, + 21, 53, 21, 29, 30, 74, 35, 74, 74, 74, + 37, 14, 14, 14, 14, 39, 40, 41, 42, 44, + 53, 27, 63, 69, 45, 47, 2, 48, 54, 37, + 57, 53, 20, 58, 65, 1, nil, 64, nil, nil, + 37, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, 74, nil, 53, nil, 27, 36, 27, 50, nil, + nil, nil, 37, nil, nil, nil, 61, nil, nil, nil, + 50, nil, nil, nil, nil, nil, nil, 2, 2, 2, + 2, nil, nil, nil, 2, 2, 2, nil, 17, 17, + 17, nil, nil, nil, 2, 2, nil, 2, nil, 2, + 49, 59, 59, 59, 59, nil, 27, 27, 27, nil, + nil, 2, 2, 2, 51, nil, nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 51, nil, nil, nil, nil, 17, nil, + nil, nil, nil, nil, 49, nil, 18, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 2, 59, nil, nil, nil, 16, nil, 2, 59, nil, - nil, nil, nil, nil, 23, nil, 59, nil, nil, nil, - nil, nil, nil, 59, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 51, nil, nil, nil, nil, + 17, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 2, 59, nil, nil, nil, 16, nil, 2, + 59, nil, nil, nil, nil, nil, 23, nil, 59, nil, + nil, nil, nil, nil, nil, 59, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 36, 36, 36, 23, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 59, nil, nil, + nil, nil, nil, nil, 36, 36, 36, 23, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 59, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 2, 2, nil, - nil, nil, nil, 2, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 2, + 2, nil, nil, nil, nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 2, nil, 2, nil, nil, nil, 23, 23, 23, - nil, nil, nil, nil, nil, 36, nil, nil, nil, nil, + nil, nil, nil, 2, nil, 2, nil, nil, nil, 23, + 23, 23, nil, nil, nil, nil, nil, 36, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 2, 2, nil, nil, 2, 2 ] + nil, nil, nil, nil, nil, 2, 2, nil, nil, 2, + 2 ] racc_goto_pointer = [ - nil, 95, -2, 12, 38, 40, 11, nil, nil, nil, - nil, nil, nil, nil, -78, nil, -32, -39, -32, -203, - -213, -166, -189, -22, -190, -213, -208, -148, nil, -208, - -204, nil, nil, nil, nil, -201, -29, -284, -286, -112, - -171, -189, -238, nil, -292, -302, -370, 3, -71, -41, - -43, -22, nil, -298, -155, -224, nil, -170, 12, -26, - nil, -19, nil, -120, -142, -78, nil, nil, nil, -148, - -139, nil, nil, nil, -111, 2 ] + nil, 95, -2, 17, 30, 33, 8, nil, nil, nil, + nil, nil, nil, nil, -80, nil, -32, -39, -32, -212, + -215, -170, -194, -22, -193, -218, -210, -150, nil, -206, + -205, nil, nil, nil, nil, -203, -29, -286, -292, -115, + -174, -192, -241, nil, -295, -302, -363, 3, -73, -41, + -43, -22, nil, -295, -157, -219, nil, -172, 10, -26, + nil, -19, nil, -125, -144, -80, nil, nil, nil, -158, + -136, nil, nil, nil, -113, -15 ] racc_goto_default = [ - nil, nil, 44, nil, nil, 403, 293, 67, 68, 69, - 70, 71, 72, 73, nil, 36, 281, 76, nil, nil, - nil, nil, nil, nil, nil, nil, 246, 24, 283, 284, - 285, 286, 287, 288, 289, 292, 124, nil, nil, nil, - nil, nil, nil, 317, nil, nil, nil, nil, nil, 7, - nil, nil, 335, 125, nil, nil, 260, nil, nil, 31, - 29, nil, 53, 139, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, nil, nil ] + nil, nil, 44, nil, nil, 405, 295, 69, 70, 71, + 72, 73, 74, 75, nil, 36, 283, 78, nil, nil, + nil, nil, nil, nil, nil, nil, 248, 24, 285, 286, + 287, 288, 289, 290, 291, 294, 126, nil, nil, nil, + nil, nil, nil, 319, nil, nil, nil, nil, nil, 7, + nil, nil, 337, 127, nil, nil, 262, nil, nil, 31, + 29, nil, 53, 141, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, nil, nil ] racc_reduce_table = [ 0, 0, :racc_error, - 3, 80, :_reduce_1, - 3, 80, :_reduce_2, - 3, 80, :_reduce_3, - 0, 82, :_reduce_none, - 1, 82, :_reduce_none, - 0, 83, :_reduce_6, - 2, 83, :_reduce_7, - 1, 85, :_reduce_none, - 1, 85, :_reduce_none, - 1, 85, :_reduce_none, - 1, 85, :_reduce_none, - 1, 85, :_reduce_none, - 1, 85, :_reduce_none, - 1, 85, :_reduce_none, - 0, 93, :_reduce_15, - 0, 94, :_reduce_16, - 0, 95, :_reduce_17, - 2, 95, :_reduce_18, - 10, 92, :_reduce_19, - 1, 98, :_reduce_none, - 1, 98, :_reduce_none, - 8, 91, :_reduce_22, - 0, 101, :_reduce_23, - 2, 101, :_reduce_24, - 5, 101, :_reduce_25, - 8, 90, :_reduce_26, - 7, 90, :_reduce_27, - 0, 103, :_reduce_28, - 2, 103, :_reduce_29, - 1, 104, :_reduce_30, - 3, 104, :_reduce_31, - 4, 105, :_reduce_32, - 1, 105, :_reduce_33, - 0, 99, :_reduce_34, - 2, 99, :_reduce_35, - 1, 107, :_reduce_none, - 1, 107, :_reduce_none, - 1, 107, :_reduce_none, - 1, 107, :_reduce_none, - 1, 107, :_reduce_none, - 1, 107, :_reduce_none, - 1, 107, :_reduce_42, - 1, 107, :_reduce_43, - 1, 107, :_reduce_none, - 1, 107, :_reduce_none, - 4, 113, :_reduce_46, - 6, 113, :_reduce_47, - 4, 113, :_reduce_48, - 6, 113, :_reduce_49, - 4, 113, :_reduce_50, - 6, 113, :_reduce_51, - 0, 117, :_reduce_52, - 2, 117, :_reduce_53, - 3, 117, :_reduce_54, - 3, 112, :_reduce_55, - 3, 112, :_reduce_56, - 5, 112, :_reduce_57, - 7, 89, :_reduce_58, - 0, 119, :_reduce_59, - 2, 119, :_reduce_60, - 1, 120, :_reduce_61, - 1, 120, :_reduce_62, - 1, 120, :_reduce_none, - 3, 109, :_reduce_64, - 6, 109, :_reduce_65, - 3, 110, :_reduce_66, - 6, 110, :_reduce_67, - 3, 111, :_reduce_68, - 6, 111, :_reduce_69, - 0, 121, :_reduce_70, - 1, 121, :_reduce_71, - 7, 108, :_reduce_72, - 0, 122, :_reduce_none, - 2, 122, :_reduce_74, - 0, 123, :_reduce_75, - 2, 123, :_reduce_76, - 2, 123, :_reduce_77, - 1, 125, :_reduce_78, - 1, 125, :_reduce_79, - 3, 125, :_reduce_80, - 6, 84, :_reduce_81, - 0, 126, :_reduce_82, - 3, 126, :_reduce_83, - 0, 127, :_reduce_84, - 3, 127, :_reduce_85, - 4, 127, :_reduce_86, - 1, 124, :_reduce_none, - 2, 124, :_reduce_88, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 2, 116, :_reduce_98, - 2, 116, :_reduce_99, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 116, :_reduce_none, - 1, 131, :_reduce_none, - 1, 131, :_reduce_none, - 1, 131, :_reduce_none, - 1, 131, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 1, 132, :_reduce_none, - 0, 100, :_reduce_140, - 3, 100, :_reduce_141, - 1, 133, :_reduce_142, - 3, 133, :_reduce_143, - 3, 134, :_reduce_144, - 0, 136, :_reduce_145, - 1, 136, :_reduce_146, - 1, 136, :_reduce_147, - 0, 135, :_reduce_148, - 1, 135, :_reduce_149, - 0, 97, :_reduce_150, - 3, 97, :_reduce_151, - 1, 137, :_reduce_152, - 3, 137, :_reduce_153, - 4, 114, :_reduce_154, - 8, 114, :_reduce_155, - 5, 86, :_reduce_156, - 3, 87, :_reduce_157, - 3, 87, :_reduce_158, - 3, 88, :_reduce_159, - 1, 81, :_reduce_none, - 3, 81, :_reduce_161, - 3, 81, :_reduce_162, - 1, 128, :_reduce_163, - 1, 128, :_reduce_164, - 1, 128, :_reduce_165, - 1, 128, :_reduce_166, - 1, 128, :_reduce_167, - 1, 128, :_reduce_168, - 1, 128, :_reduce_169, - 1, 128, :_reduce_170, - 1, 128, :_reduce_171, - 1, 128, :_reduce_172, - 1, 128, :_reduce_173, - 1, 128, :_reduce_174, - 1, 128, :_reduce_175, - 1, 128, :_reduce_176, - 1, 128, :_reduce_177, - 1, 128, :_reduce_178, - 1, 128, :_reduce_179, - 4, 128, :_reduce_180, - 2, 128, :_reduce_181, - 3, 128, :_reduce_182, - 3, 128, :_reduce_183, - 4, 128, :_reduce_184, - 2, 128, :_reduce_185, - 2, 128, :_reduce_186, - 1, 128, :_reduce_none, - 1, 102, :_reduce_188, - 3, 102, :_reduce_189, - 3, 139, :_reduce_190, - 1, 140, :_reduce_191, - 3, 140, :_reduce_192, - 3, 141, :_reduce_193, - 3, 141, :_reduce_194, - 3, 141, :_reduce_195, - 2, 141, :_reduce_196, - 1, 142, :_reduce_none, - 2, 142, :_reduce_198, - 1, 115, :_reduce_none, - 1, 115, :_reduce_none, - 5, 130, :_reduce_201, - 2, 130, :_reduce_202, - 3, 129, :_reduce_203, - 1, 129, :_reduce_204, - 1, 129, :_reduce_none, - 3, 144, :_reduce_206, - 1, 144, :_reduce_207, + 3, 82, :_reduce_1, + 3, 82, :_reduce_2, + 3, 82, :_reduce_3, + 0, 84, :_reduce_none, + 1, 84, :_reduce_none, + 0, 85, :_reduce_6, + 2, 85, :_reduce_7, + 1, 87, :_reduce_none, + 1, 87, :_reduce_none, + 1, 87, :_reduce_none, + 1, 87, :_reduce_none, + 1, 87, :_reduce_none, + 1, 87, :_reduce_none, + 1, 87, :_reduce_none, + 0, 95, :_reduce_15, + 0, 96, :_reduce_16, + 0, 97, :_reduce_17, + 2, 97, :_reduce_18, + 10, 94, :_reduce_19, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 8, 93, :_reduce_22, + 0, 103, :_reduce_23, + 2, 103, :_reduce_24, + 5, 103, :_reduce_25, + 8, 92, :_reduce_26, + 7, 92, :_reduce_27, + 0, 105, :_reduce_28, + 2, 105, :_reduce_29, + 1, 106, :_reduce_30, + 3, 106, :_reduce_31, + 4, 107, :_reduce_32, + 1, 107, :_reduce_33, + 0, 101, :_reduce_34, + 2, 101, :_reduce_35, + 1, 109, :_reduce_none, + 1, 109, :_reduce_none, + 1, 109, :_reduce_none, + 1, 109, :_reduce_none, + 1, 109, :_reduce_none, + 1, 109, :_reduce_none, + 1, 109, :_reduce_42, + 1, 109, :_reduce_43, + 1, 109, :_reduce_none, + 1, 109, :_reduce_none, + 4, 115, :_reduce_46, + 6, 115, :_reduce_47, + 4, 115, :_reduce_48, + 6, 115, :_reduce_49, + 4, 115, :_reduce_50, + 6, 115, :_reduce_51, + 0, 119, :_reduce_52, + 2, 119, :_reduce_53, + 3, 119, :_reduce_54, + 3, 114, :_reduce_55, + 3, 114, :_reduce_56, + 5, 114, :_reduce_57, + 7, 91, :_reduce_58, + 0, 121, :_reduce_59, + 2, 121, :_reduce_60, + 1, 122, :_reduce_61, + 1, 122, :_reduce_62, + 1, 122, :_reduce_none, + 3, 111, :_reduce_64, + 6, 111, :_reduce_65, + 3, 112, :_reduce_66, + 6, 112, :_reduce_67, + 3, 113, :_reduce_68, + 6, 113, :_reduce_69, + 0, 123, :_reduce_70, + 1, 123, :_reduce_71, + 7, 110, :_reduce_72, + 0, 124, :_reduce_none, + 2, 124, :_reduce_74, + 0, 125, :_reduce_75, + 2, 125, :_reduce_76, + 2, 125, :_reduce_77, + 1, 127, :_reduce_78, + 1, 127, :_reduce_79, + 3, 127, :_reduce_80, + 6, 86, :_reduce_81, + 0, 128, :_reduce_82, + 3, 128, :_reduce_83, + 0, 129, :_reduce_84, + 3, 129, :_reduce_85, + 4, 129, :_reduce_86, + 1, 126, :_reduce_none, + 2, 126, :_reduce_88, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 2, 118, :_reduce_98, + 2, 118, :_reduce_99, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 133, :_reduce_none, + 1, 133, :_reduce_none, + 1, 133, :_reduce_none, + 1, 133, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 1, 134, :_reduce_none, + 0, 102, :_reduce_140, + 3, 102, :_reduce_141, + 1, 135, :_reduce_142, + 3, 135, :_reduce_143, + 3, 136, :_reduce_144, + 0, 138, :_reduce_145, + 1, 138, :_reduce_146, + 1, 138, :_reduce_147, + 0, 137, :_reduce_148, + 1, 137, :_reduce_149, + 0, 99, :_reduce_150, + 3, 99, :_reduce_151, + 1, 139, :_reduce_152, + 3, 139, :_reduce_153, + 4, 116, :_reduce_154, + 8, 116, :_reduce_155, + 5, 88, :_reduce_156, + 3, 89, :_reduce_157, + 3, 89, :_reduce_158, + 3, 90, :_reduce_159, + 1, 83, :_reduce_none, + 3, 83, :_reduce_161, + 3, 83, :_reduce_162, + 1, 130, :_reduce_163, + 1, 130, :_reduce_164, + 1, 130, :_reduce_165, + 1, 130, :_reduce_166, + 1, 130, :_reduce_167, + 1, 130, :_reduce_168, + 1, 130, :_reduce_169, + 1, 130, :_reduce_170, + 1, 130, :_reduce_171, + 1, 130, :_reduce_172, + 1, 130, :_reduce_173, + 1, 130, :_reduce_174, + 1, 130, :_reduce_175, + 1, 130, :_reduce_176, + 1, 130, :_reduce_177, + 1, 130, :_reduce_178, + 1, 130, :_reduce_179, + 4, 130, :_reduce_180, + 2, 130, :_reduce_181, + 3, 130, :_reduce_182, + 3, 130, :_reduce_183, + 4, 130, :_reduce_184, + 2, 130, :_reduce_185, + 2, 130, :_reduce_186, + 1, 130, :_reduce_none, + 1, 104, :_reduce_188, + 3, 104, :_reduce_189, + 3, 141, :_reduce_190, + 1, 142, :_reduce_191, + 3, 142, :_reduce_192, + 3, 143, :_reduce_193, + 3, 143, :_reduce_194, + 3, 143, :_reduce_195, + 2, 143, :_reduce_196, 1, 144, :_reduce_none, - 3, 146, :_reduce_209, - 1, 146, :_reduce_210, + 2, 144, :_reduce_198, + 1, 117, :_reduce_none, + 1, 117, :_reduce_none, + 1, 117, :_reduce_none, + 1, 117, :_reduce_none, + 5, 132, :_reduce_203, + 2, 132, :_reduce_204, + 3, 131, :_reduce_205, + 1, 131, :_reduce_206, + 1, 131, :_reduce_none, + 3, 146, :_reduce_208, + 1, 146, :_reduce_209, 1, 146, :_reduce_none, - 3, 148, :_reduce_212, - 1, 148, :_reduce_213, + 3, 148, :_reduce_211, + 1, 148, :_reduce_212, 1, 148, :_reduce_none, - 0, 149, :_reduce_215, - 3, 149, :_reduce_216, - 1, 149, :_reduce_217, - 3, 149, :_reduce_218, - 1, 149, :_reduce_219, - 1, 149, :_reduce_220, - 2, 143, :_reduce_221, - 3, 145, :_reduce_222, - 3, 147, :_reduce_223, - 3, 150, :_reduce_224, - 4, 151, :_reduce_225, + 3, 150, :_reduce_214, + 1, 150, :_reduce_215, + 1, 150, :_reduce_none, + 0, 151, :_reduce_217, + 3, 151, :_reduce_218, + 1, 151, :_reduce_219, + 3, 151, :_reduce_220, + 1, 151, :_reduce_221, + 1, 151, :_reduce_222, + 2, 145, :_reduce_223, + 3, 147, :_reduce_224, + 3, 149, :_reduce_225, 3, 152, :_reduce_226, - 0, 153, :_reduce_none, - 1, 153, :_reduce_none, - 1, 153, :_reduce_none, - 1, 153, :_reduce_none, - 2, 106, :_reduce_231, - 1, 154, :_reduce_none, - 1, 154, :_reduce_none, - 1, 154, :_reduce_none, - 2, 118, :_reduce_235, - 2, 96, :_reduce_236, - 0, 138, :_reduce_237, - 1, 138, :_reduce_238, - 2, 138, :_reduce_239, - 1, 138, :_reduce_240 ] - -racc_reduce_n = 241 - -racc_shift_n = 410 + 4, 153, :_reduce_227, + 3, 154, :_reduce_228, + 0, 155, :_reduce_none, + 1, 155, :_reduce_none, + 1, 155, :_reduce_none, + 1, 155, :_reduce_none, + 2, 108, :_reduce_233, + 1, 156, :_reduce_none, + 1, 156, :_reduce_none, + 1, 156, :_reduce_none, + 2, 120, :_reduce_237, + 2, 98, :_reduce_238, + 0, 140, :_reduce_239, + 1, 140, :_reduce_240, + 2, 140, :_reduce_241, + 1, 140, :_reduce_242 ] + +racc_reduce_n = 243 + +racc_shift_n = 412 racc_token_table = { false => 0, @@ -1055,81 +1076,83 @@ def initialize(message, subject:, location:) :tLIDENT => 3, :tNAMESPACE => 4, :tINTERFACEIDENT => 5, - :tLKEYWORD => 6, - :tUKEYWORD => 7, - :tGLOBALIDENT => 8, - :tIVAR => 9, - :tCLASSVAR => 10, - :tANNOTATION => 11, - :tSTRING => 12, - :tSYMBOL => 13, - :tINTEGER => 14, - :tWRITE_ATTR => 15, - :kLPAREN => 16, - :kRPAREN => 17, - :kLBRACKET => 18, - :kRBRACKET => 19, - :kLBRACE => 20, - :kRBRACE => 21, - :kVOID => 22, - :kNIL => 23, - :kTRUE => 24, - :kFALSE => 25, - :kANY => 26, - :kUNTYPED => 27, - :kTOP => 28, - :kBOT => 29, - :kSELF => 30, - :kSELFQ => 31, - :kINSTANCE => 32, - :kCLASS => 33, - :kBOOL => 34, - :kSINGLETON => 35, - :kTYPE => 36, - :kDEF => 37, - :kMODULE => 38, - :kPRIVATE => 39, - :kPUBLIC => 40, - :kALIAS => 41, - :kCOLON => 42, - :kCOLON2 => 43, - :kCOMMA => 44, - :kBAR => 45, - :kAMP => 46, - :kHAT => 47, - :kARROW => 48, - :kQUESTION => 49, - :kEXCLAMATION => 50, - :kSTAR => 51, - :kSTAR2 => 52, - :kFATARROW => 53, - :kEQ => 54, - :kDOT => 55, - :kDOT3 => 56, - :kLT => 57, - :kINTERFACE => 58, - :kEND => 59, - :kINCLUDE => 60, - :kEXTEND => 61, - :kATTRREADER => 62, - :kATTRWRITER => 63, - :kATTRACCESSOR => 64, - :tOPERATOR => 65, - :tQUOTEDMETHOD => 66, - :tQUOTEDIDENT => 67, - :kPREPEND => 68, - :kEXTENSION => 69, - :kINCOMPATIBLE => 70, - :type_TYPE => 71, - :type_SIGNATURE => 72, - :type_METHODTYPE => 73, - :tEOF => 74, - :kOUT => 75, - :kIN => 76, - :kUNCHECKED => 77, - :kOVERLOAD => 78 } - -racc_nt_base = 79 + :tGLOBALIDENT => 6, + :tLKEYWORD => 7, + :tUKEYWORD => 8, + :tLKEYWORD_Q_E => 9, + :tUKEYWORD_Q_E => 10, + :tIVAR => 11, + :tCLASSVAR => 12, + :tANNOTATION => 13, + :tSTRING => 14, + :tSYMBOL => 15, + :tINTEGER => 16, + :tWRITE_ATTR => 17, + :kLPAREN => 18, + :kRPAREN => 19, + :kLBRACKET => 20, + :kRBRACKET => 21, + :kLBRACE => 22, + :kRBRACE => 23, + :kVOID => 24, + :kNIL => 25, + :kTRUE => 26, + :kFALSE => 27, + :kANY => 28, + :kUNTYPED => 29, + :kTOP => 30, + :kBOT => 31, + :kSELF => 32, + :kSELFQ => 33, + :kINSTANCE => 34, + :kCLASS => 35, + :kBOOL => 36, + :kSINGLETON => 37, + :kTYPE => 38, + :kDEF => 39, + :kMODULE => 40, + :kPRIVATE => 41, + :kPUBLIC => 42, + :kALIAS => 43, + :kCOLON => 44, + :kCOLON2 => 45, + :kCOMMA => 46, + :kBAR => 47, + :kAMP => 48, + :kHAT => 49, + :kARROW => 50, + :kQUESTION => 51, + :kEXCLAMATION => 52, + :kSTAR => 53, + :kSTAR2 => 54, + :kFATARROW => 55, + :kEQ => 56, + :kDOT => 57, + :kDOT3 => 58, + :kLT => 59, + :kINTERFACE => 60, + :kEND => 61, + :kINCLUDE => 62, + :kEXTEND => 63, + :kATTRREADER => 64, + :kATTRWRITER => 65, + :kATTRACCESSOR => 66, + :tOPERATOR => 67, + :tQUOTEDMETHOD => 68, + :tQUOTEDIDENT => 69, + :kPREPEND => 70, + :kEXTENSION => 71, + :kINCOMPATIBLE => 72, + :type_TYPE => 73, + :type_SIGNATURE => 74, + :type_METHODTYPE => 75, + :tEOF => 76, + :kOUT => 77, + :kIN => 78, + :kUNCHECKED => 79, + :kOVERLOAD => 80 } + +racc_nt_base = 81 racc_use_result_var = true @@ -1156,9 +1179,11 @@ def initialize(message, subject:, location:) "tLIDENT", "tNAMESPACE", "tINTERFACEIDENT", + "tGLOBALIDENT", "tLKEYWORD", "tUKEYWORD", - "tGLOBALIDENT", + "tLKEYWORD_Q_E", + "tUKEYWORD_Q_E", "tIVAR", "tCLASSVAR", "tANNOTATION", @@ -1312,7 +1337,7 @@ def initialize(message, subject:, location:) # reduce 0 omitted -module_eval(<<'.,.,', 'parser.y', 27) +module_eval(<<'.,.,', 'parser.y', 28) def _reduce_1(val, _values, result) result = val[1] @@ -1320,7 +1345,7 @@ def _reduce_1(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 30) +module_eval(<<'.,.,', 'parser.y', 31) def _reduce_2(val, _values, result) result = val[1] @@ -1328,7 +1353,7 @@ def _reduce_2(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 33) +module_eval(<<'.,.,', 'parser.y', 34) def _reduce_3(val, _values, result) result = val[1] @@ -1340,14 +1365,14 @@ def _reduce_3(val, _values, result) # reduce 5 omitted -module_eval(<<'.,.,', 'parser.y', 39) +module_eval(<<'.,.,', 'parser.y', 40) def _reduce_6(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'parser.y', 41) +module_eval(<<'.,.,', 'parser.y', 42) def _reduce_7(val, _values, result) result = val[0].push(val[1]) @@ -1369,28 +1394,28 @@ def _reduce_7(val, _values, result) # reduce 14 omitted -module_eval(<<'.,.,', 'parser.y', 53) +module_eval(<<'.,.,', 'parser.y', 54) def _reduce_15(val, _values, result) start_new_variables_scope result end .,., -module_eval(<<'.,.,', 'parser.y', 54) +module_eval(<<'.,.,', 'parser.y', 55) def _reduce_16(val, _values, result) start_merged_variables_scope result end .,., -module_eval(<<'.,.,', 'parser.y', 57) +module_eval(<<'.,.,', 'parser.y', 58) def _reduce_17(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'parser.y', 59) +module_eval(<<'.,.,', 'parser.y', 60) def _reduce_18(val, _values, result) result = val[1].unshift(Annotation.new(string: val[0].value, location: val[0].location)) @@ -1398,7 +1423,7 @@ def _reduce_18(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 64) +module_eval(<<'.,.,', 'parser.y', 65) def _reduce_19(val, _values, result) reset_variable_scope @@ -1421,7 +1446,7 @@ def _reduce_19(val, _values, result) # reduce 21 omitted -module_eval(<<'.,.,', 'parser.y', 82) +module_eval(<<'.,.,', 'parser.y', 83) def _reduce_22(val, _values, result) reset_variable_scope @@ -1440,14 +1465,14 @@ def _reduce_22(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 97) +module_eval(<<'.,.,', 'parser.y', 98) def _reduce_23(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 99) +module_eval(<<'.,.,', 'parser.y', 100) def _reduce_24(val, _values, result) result = Declarations::Class::Super.new(name: val[1].value, args: []) @@ -1456,7 +1481,7 @@ def _reduce_24(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 103) +module_eval(<<'.,.,', 'parser.y', 104) def _reduce_25(val, _values, result) result = Declarations::Class::Super.new(name: val[1].value, args: val[3]) @@ -1465,7 +1490,7 @@ def _reduce_25(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 109) +module_eval(<<'.,.,', 'parser.y', 110) def _reduce_26(val, _values, result) reset_variable_scope @@ -1484,7 +1509,7 @@ def _reduce_26(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 123) +module_eval(<<'.,.,', 'parser.y', 124) def _reduce_27(val, _values, result) reset_variable_scope @@ -1503,14 +1528,14 @@ def _reduce_27(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 138) +module_eval(<<'.,.,', 'parser.y', 139) def _reduce_28(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'parser.y', 140) +module_eval(<<'.,.,', 'parser.y', 141) def _reduce_29(val, _values, result) result = val[1] @@ -1518,7 +1543,7 @@ def _reduce_29(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 145) +module_eval(<<'.,.,', 'parser.y', 146) def _reduce_30(val, _values, result) result = [val[0]] @@ -1526,7 +1551,7 @@ def _reduce_30(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 148) +module_eval(<<'.,.,', 'parser.y', 149) def _reduce_31(val, _values, result) result = val[0].push(val[2]) @@ -1534,7 +1559,7 @@ def _reduce_31(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 153) +module_eval(<<'.,.,', 'parser.y', 154) def _reduce_32(val, _values, result) name = val[0].value args = val[2] @@ -1553,7 +1578,7 @@ def _reduce_32(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 167) +module_eval(<<'.,.,', 'parser.y', 168) def _reduce_33(val, _values, result) name = val[0].value args = [] @@ -1572,14 +1597,14 @@ def _reduce_33(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 182) +module_eval(<<'.,.,', 'parser.y', 183) def _reduce_34(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'parser.y', 184) +module_eval(<<'.,.,', 'parser.y', 185) def _reduce_35(val, _values, result) result = val[0].push(val[1]) @@ -1599,7 +1624,7 @@ def _reduce_35(val, _values, result) # reduce 41 omitted -module_eval(<<'.,.,', 'parser.y', 195) +module_eval(<<'.,.,', 'parser.y', 196) def _reduce_42(val, _values, result) result = Members::Public.new(location: val[0].location) @@ -1607,7 +1632,7 @@ def _reduce_42(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 198) +module_eval(<<'.,.,', 'parser.y', 199) def _reduce_43(val, _values, result) result = Members::Private.new(location: val[0].location) @@ -1619,7 +1644,7 @@ def _reduce_43(val, _values, result) # reduce 45 omitted -module_eval(<<'.,.,', 'parser.y', 205) +module_eval(<<'.,.,', 'parser.y', 206) def _reduce_46(val, _values, result) location = val[1].location + val[3].location result = Members::AttrReader.new(name: val[2].value, @@ -1633,7 +1658,7 @@ def _reduce_46(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 214) +module_eval(<<'.,.,', 'parser.y', 215) def _reduce_47(val, _values, result) location = val[1].location + val[5].location result = Members::AttrReader.new(name: val[2].value.to_sym, @@ -1647,7 +1672,7 @@ def _reduce_47(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 223) +module_eval(<<'.,.,', 'parser.y', 224) def _reduce_48(val, _values, result) location = val[1].location + val[3].location result = Members::AttrWriter.new(name: val[2].value, @@ -1661,7 +1686,7 @@ def _reduce_48(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 232) +module_eval(<<'.,.,', 'parser.y', 233) def _reduce_49(val, _values, result) location = val[1].location + val[5].location result = Members::AttrWriter.new(name: val[2].value.to_sym, @@ -1675,7 +1700,7 @@ def _reduce_49(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 241) +module_eval(<<'.,.,', 'parser.y', 242) def _reduce_50(val, _values, result) location = val[1].location + val[3].location result = Members::AttrAccessor.new(name: val[2].value, @@ -1689,7 +1714,7 @@ def _reduce_50(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 250) +module_eval(<<'.,.,', 'parser.y', 251) def _reduce_51(val, _values, result) location = val[1].location + val[5].location result = Members::AttrAccessor.new(name: val[2].value.to_sym, @@ -1703,28 +1728,28 @@ def _reduce_51(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 260) +module_eval(<<'.,.,', 'parser.y', 261) def _reduce_52(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 261) +module_eval(<<'.,.,', 'parser.y', 262) def _reduce_53(val, _values, result) result = false result end .,., -module_eval(<<'.,.,', 'parser.y', 262) +module_eval(<<'.,.,', 'parser.y', 263) def _reduce_54(val, _values, result) result = val[1].value result end .,., -module_eval(<<'.,.,', 'parser.y', 266) +module_eval(<<'.,.,', 'parser.y', 267) def _reduce_55(val, _values, result) location = val[0].location + val[2].location result = Members::InstanceVariable.new( @@ -1738,7 +1763,7 @@ def _reduce_55(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 275) +module_eval(<<'.,.,', 'parser.y', 276) def _reduce_56(val, _values, result) type = val[2] @@ -1762,7 +1787,7 @@ def _reduce_56(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 294) +module_eval(<<'.,.,', 'parser.y', 295) def _reduce_57(val, _values, result) type = val[4] @@ -1786,7 +1811,7 @@ def _reduce_57(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 315) +module_eval(<<'.,.,', 'parser.y', 316) def _reduce_58(val, _values, result) reset_variable_scope @@ -1804,14 +1829,14 @@ def _reduce_58(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 329) +module_eval(<<'.,.,', 'parser.y', 330) def _reduce_59(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'parser.y', 331) +module_eval(<<'.,.,', 'parser.y', 332) def _reduce_60(val, _values, result) result = val[0].push(val[1]) @@ -1819,7 +1844,7 @@ def _reduce_60(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 336) +module_eval(<<'.,.,', 'parser.y', 337) def _reduce_61(val, _values, result) unless val[0].kind == :instance raise SemanticsError.new("Interface cannot have singleton method", subject: val[0], location: val[0].location) @@ -1835,7 +1860,7 @@ def _reduce_61(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 347) +module_eval(<<'.,.,', 'parser.y', 348) def _reduce_62(val, _values, result) unless val[0].name.interface? raise SemanticsError.new("Interface should include an interface", subject: val[0], location: val[0].location) @@ -1849,7 +1874,7 @@ def _reduce_62(val, _values, result) # reduce 63 omitted -module_eval(<<'.,.,', 'parser.y', 357) +module_eval(<<'.,.,', 'parser.y', 358) def _reduce_64(val, _values, result) if val[2].value.alias? raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location) @@ -1865,7 +1890,7 @@ def _reduce_64(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 368) +module_eval(<<'.,.,', 'parser.y', 369) def _reduce_65(val, _values, result) if val[2].value.alias? raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location) @@ -1881,7 +1906,7 @@ def _reduce_65(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 381) +module_eval(<<'.,.,', 'parser.y', 382) def _reduce_66(val, _values, result) if val[2].value.alias? raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location) @@ -1897,7 +1922,7 @@ def _reduce_66(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 392) +module_eval(<<'.,.,', 'parser.y', 393) def _reduce_67(val, _values, result) if val[2].value.alias? raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location) @@ -1913,7 +1938,7 @@ def _reduce_67(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 405) +module_eval(<<'.,.,', 'parser.y', 406) def _reduce_68(val, _values, result) unless val[2].value.class? raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location) @@ -1929,7 +1954,7 @@ def _reduce_68(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 416) +module_eval(<<'.,.,', 'parser.y', 417) def _reduce_69(val, _values, result) unless val[2].value.class? raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location) @@ -1945,14 +1970,14 @@ def _reduce_69(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 428) +module_eval(<<'.,.,', 'parser.y', 429) def _reduce_70(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 430) +module_eval(<<'.,.,', 'parser.y', 431) def _reduce_71(val, _values, result) RBS.logger.warn "`overload def` syntax is deprecated. Use `...` syntax instead." result = val[0] @@ -1961,7 +1986,7 @@ def _reduce_71(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 436) +module_eval(<<'.,.,', 'parser.y', 437) def _reduce_72(val, _values, result) location = val[3].location + val[6].last.location @@ -1989,7 +2014,7 @@ def _reduce_72(val, _values, result) # reduce 73 omitted -module_eval(<<'.,.,', 'parser.y', 459) +module_eval(<<'.,.,', 'parser.y', 460) def _reduce_74(val, _values, result) RBS.logger.warn "`incompatible` method attribute is deprecated and ignored." @@ -1997,42 +2022,42 @@ def _reduce_74(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 463) +module_eval(<<'.,.,', 'parser.y', 464) def _reduce_75(val, _values, result) result = :instance result end .,., -module_eval(<<'.,.,', 'parser.y', 464) +module_eval(<<'.,.,', 'parser.y', 465) def _reduce_76(val, _values, result) result = :singleton result end .,., -module_eval(<<'.,.,', 'parser.y', 465) +module_eval(<<'.,.,', 'parser.y', 466) def _reduce_77(val, _values, result) result = :singleton_instance result end .,., -module_eval(<<'.,.,', 'parser.y', 468) +module_eval(<<'.,.,', 'parser.y', 469) def _reduce_78(val, _values, result) result = [val[0]] result end .,., -module_eval(<<'.,.,', 'parser.y', 469) +module_eval(<<'.,.,', 'parser.y', 470) def _reduce_79(val, _values, result) result = [LocatedValue.new(value: :dot3, location: val[0].location)] result end .,., -module_eval(<<'.,.,', 'parser.y', 471) +module_eval(<<'.,.,', 'parser.y', 472) def _reduce_80(val, _values, result) result = val[2].unshift(val[0]) @@ -2040,7 +2065,7 @@ def _reduce_80(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 476) +module_eval(<<'.,.,', 'parser.y', 477) def _reduce_81(val, _values, result) location = (val[1] || val[2] || val[3] || val[4]).location + val[5].location type_params = val[1]&.value || [] @@ -2069,14 +2094,14 @@ def _reduce_81(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 501) +module_eval(<<'.,.,', 'parser.y', 502) def _reduce_82(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 503) +module_eval(<<'.,.,', 'parser.y', 504) def _reduce_83(val, _values, result) result = LocatedValue.new(value: val[1], location: val[0].location + val[2].location) @@ -2084,14 +2109,14 @@ def _reduce_83(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 507) +module_eval(<<'.,.,', 'parser.y', 508) def _reduce_84(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 509) +module_eval(<<'.,.,', 'parser.y', 510) def _reduce_85(val, _values, result) block = MethodType::Block.new(type: val[1].value, required: true) result = LocatedValue.new(value: block, location: val[0].location + val[2].location) @@ -2100,7 +2125,7 @@ def _reduce_85(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 513) +module_eval(<<'.,.,', 'parser.y', 514) def _reduce_86(val, _values, result) block = MethodType::Block.new(type: val[2].value, required: false) result = LocatedValue.new(value: block, location: val[0].location + val[3].location) @@ -2111,7 +2136,7 @@ def _reduce_86(val, _values, result) # reduce 87 omitted -module_eval(<<'.,.,', 'parser.y', 520) +module_eval(<<'.,.,', 'parser.y', 521) def _reduce_88(val, _values, result) result = LocatedValue.new(value: val[0].value.to_sym, location: val[0].location + val[1].location) @@ -2138,7 +2163,7 @@ def _reduce_88(val, _values, result) # reduce 97 omitted -module_eval(<<'.,.,', 'parser.y', 529) +module_eval(<<'.,.,', 'parser.y', 530) def _reduce_98(val, _values, result) unless val[0].location.pred?(val[1].location) raise SyntaxError.new(token_str: "kQUESTION", error_value: val[1]) @@ -2151,7 +2176,7 @@ def _reduce_98(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 537) +module_eval(<<'.,.,', 'parser.y', 538) def _reduce_99(val, _values, result) unless val[0].location.pred?(val[1].location) raise SyntaxError.new(token_str: "kEXCLAMATION", error_value: val[1]) @@ -2244,14 +2269,14 @@ def _reduce_99(val, _values, result) # reduce 139 omitted -module_eval(<<'.,.,', 'parser.y', 557) +module_eval(<<'.,.,', 'parser.y', 558) def _reduce_140(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 559) +module_eval(<<'.,.,', 'parser.y', 560) def _reduce_141(val, _values, result) val[1].each {|p| insert_bound_variable(p.name) } @@ -2261,7 +2286,7 @@ def _reduce_141(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 566) +module_eval(<<'.,.,', 'parser.y', 567) def _reduce_142(val, _values, result) result = Declarations::ModuleTypeParams.new() result.add(val[0]) @@ -2270,7 +2295,7 @@ def _reduce_142(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 570) +module_eval(<<'.,.,', 'parser.y', 571) def _reduce_143(val, _values, result) result = val[0].add(val[2]) @@ -2278,7 +2303,7 @@ def _reduce_143(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 575) +module_eval(<<'.,.,', 'parser.y', 576) def _reduce_144(val, _values, result) result = Declarations::ModuleTypeParams::TypeParam.new(name: val[2].value.to_sym, variance: val[1], @@ -2288,49 +2313,49 @@ def _reduce_144(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 581) +module_eval(<<'.,.,', 'parser.y', 582) def _reduce_145(val, _values, result) result = :invariant result end .,., -module_eval(<<'.,.,', 'parser.y', 582) +module_eval(<<'.,.,', 'parser.y', 583) def _reduce_146(val, _values, result) result = :covariant result end .,., -module_eval(<<'.,.,', 'parser.y', 583) +module_eval(<<'.,.,', 'parser.y', 584) def _reduce_147(val, _values, result) result = :contravariant result end .,., -module_eval(<<'.,.,', 'parser.y', 586) +module_eval(<<'.,.,', 'parser.y', 587) def _reduce_148(val, _values, result) result = false result end .,., -module_eval(<<'.,.,', 'parser.y', 587) +module_eval(<<'.,.,', 'parser.y', 588) def _reduce_149(val, _values, result) result = true result end .,., -module_eval(<<'.,.,', 'parser.y', 590) +module_eval(<<'.,.,', 'parser.y', 591) def _reduce_150(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 592) +module_eval(<<'.,.,', 'parser.y', 593) def _reduce_151(val, _values, result) val[1].each {|var| insert_bound_variable(var) } @@ -2341,7 +2366,7 @@ def _reduce_151(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 600) +module_eval(<<'.,.,', 'parser.y', 601) def _reduce_152(val, _values, result) result = [val[0].value.to_sym] @@ -2349,7 +2374,7 @@ def _reduce_152(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 603) +module_eval(<<'.,.,', 'parser.y', 604) def _reduce_153(val, _values, result) result = val[0].push(val[2].value.to_sym) @@ -2357,7 +2382,7 @@ def _reduce_153(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 608) +module_eval(<<'.,.,', 'parser.y', 609) def _reduce_154(val, _values, result) location = val[1].location + val[3].location result = Members::Alias.new( @@ -2373,7 +2398,7 @@ def _reduce_154(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 619) +module_eval(<<'.,.,', 'parser.y', 620) def _reduce_155(val, _values, result) location = val[1].location + val[7].location result = Members::Alias.new( @@ -2389,7 +2414,7 @@ def _reduce_155(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 632) +module_eval(<<'.,.,', 'parser.y', 633) def _reduce_156(val, _values, result) location = val[1].location + val[4].location result = Declarations::Alias.new(name: val[2].value, @@ -2402,7 +2427,7 @@ def _reduce_156(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 642) +module_eval(<<'.,.,', 'parser.y', 643) def _reduce_157(val, _values, result) location = val[0].location + val[2].location result = Declarations::Constant.new(name: val[0].value, @@ -2414,7 +2439,7 @@ def _reduce_157(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 649) +module_eval(<<'.,.,', 'parser.y', 650) def _reduce_158(val, _values, result) location = (val[0] || val[1]).location + val[2].location name = TypeName.new(name: val[1].value, namespace: val[0]&.value || Namespace.empty) @@ -2427,7 +2452,7 @@ def _reduce_158(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 659) +module_eval(<<'.,.,', 'parser.y', 660) def _reduce_159(val, _values, result) location = val[0].location + val[2].location result = Declarations::Global.new(name: val[0].value.to_sym, @@ -2441,7 +2466,7 @@ def _reduce_159(val, _values, result) # reduce 160 omitted -module_eval(<<'.,.,', 'parser.y', 669) +module_eval(<<'.,.,', 'parser.y', 670) def _reduce_161(val, _values, result) types = case l = val[0] when Types::Union @@ -2456,7 +2481,7 @@ def _reduce_161(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 679) +module_eval(<<'.,.,', 'parser.y', 680) def _reduce_162(val, _values, result) types = case l = val[0] when Types::Intersection @@ -2472,7 +2497,7 @@ def _reduce_162(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 692) +module_eval(<<'.,.,', 'parser.y', 693) def _reduce_163(val, _values, result) result = Types::Bases::Void.new(location: val[0].location) @@ -2480,7 +2505,7 @@ def _reduce_163(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 695) +module_eval(<<'.,.,', 'parser.y', 696) def _reduce_164(val, _values, result) RBS.logger.warn "`any` type is deprecated. Use `untyped` instead. (#{val[0].location.to_s})" result = Types::Bases::Any.new(location: val[0].location) @@ -2489,7 +2514,7 @@ def _reduce_164(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 699) +module_eval(<<'.,.,', 'parser.y', 700) def _reduce_165(val, _values, result) result = Types::Bases::Any.new(location: val[0].location) @@ -2497,7 +2522,7 @@ def _reduce_165(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 702) +module_eval(<<'.,.,', 'parser.y', 703) def _reduce_166(val, _values, result) result = Types::Bases::Bool.new(location: val[0].location) @@ -2505,7 +2530,7 @@ def _reduce_166(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 705) +module_eval(<<'.,.,', 'parser.y', 706) def _reduce_167(val, _values, result) result = Types::Bases::Nil.new(location: val[0].location) @@ -2513,7 +2538,7 @@ def _reduce_167(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 708) +module_eval(<<'.,.,', 'parser.y', 709) def _reduce_168(val, _values, result) result = Types::Bases::Top.new(location: val[0].location) @@ -2521,7 +2546,7 @@ def _reduce_168(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 711) +module_eval(<<'.,.,', 'parser.y', 712) def _reduce_169(val, _values, result) result = Types::Bases::Bottom.new(location: val[0].location) @@ -2529,7 +2554,7 @@ def _reduce_169(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 714) +module_eval(<<'.,.,', 'parser.y', 715) def _reduce_170(val, _values, result) result = Types::Bases::Self.new(location: val[0].location) @@ -2537,7 +2562,7 @@ def _reduce_170(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 717) +module_eval(<<'.,.,', 'parser.y', 718) def _reduce_171(val, _values, result) result = Types::Optional.new(type: Types::Bases::Self.new(location: val[0].location), location: val[0].location) @@ -2546,7 +2571,7 @@ def _reduce_171(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 721) +module_eval(<<'.,.,', 'parser.y', 722) def _reduce_172(val, _values, result) result = Types::Bases::Instance.new(location: val[0].location) @@ -2554,7 +2579,7 @@ def _reduce_172(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 724) +module_eval(<<'.,.,', 'parser.y', 725) def _reduce_173(val, _values, result) result = Types::Bases::Class.new(location: val[0].location) @@ -2562,7 +2587,7 @@ def _reduce_173(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 727) +module_eval(<<'.,.,', 'parser.y', 728) def _reduce_174(val, _values, result) result = Types::Literal.new(literal: true, location: val[0].location) @@ -2570,7 +2595,7 @@ def _reduce_174(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 730) +module_eval(<<'.,.,', 'parser.y', 731) def _reduce_175(val, _values, result) result = Types::Literal.new(literal: false, location: val[0].location) @@ -2578,7 +2603,7 @@ def _reduce_175(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 733) +module_eval(<<'.,.,', 'parser.y', 734) def _reduce_176(val, _values, result) result = Types::Literal.new(literal: val[0].value, location: val[0].location) @@ -2586,7 +2611,7 @@ def _reduce_176(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 736) +module_eval(<<'.,.,', 'parser.y', 737) def _reduce_177(val, _values, result) result = Types::Literal.new(literal: val[0].value, location: val[0].location) @@ -2594,7 +2619,7 @@ def _reduce_177(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 739) +module_eval(<<'.,.,', 'parser.y', 740) def _reduce_178(val, _values, result) result = Types::Literal.new(literal: val[0].value, location: val[0].location) @@ -2602,7 +2627,7 @@ def _reduce_178(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 742) +module_eval(<<'.,.,', 'parser.y', 743) def _reduce_179(val, _values, result) name = val[0].value args = [] @@ -2625,7 +2650,7 @@ def _reduce_179(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 760) +module_eval(<<'.,.,', 'parser.y', 761) def _reduce_180(val, _values, result) name = val[0].value args = val[2] @@ -2647,7 +2672,7 @@ def _reduce_180(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 777) +module_eval(<<'.,.,', 'parser.y', 778) def _reduce_181(val, _values, result) location = val[0].location + val[1].location result = Types::Tuple.new(types: [], location: location) @@ -2656,7 +2681,7 @@ def _reduce_181(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 781) +module_eval(<<'.,.,', 'parser.y', 782) def _reduce_182(val, _values, result) location = val[0].location + val[2].location types = val[1] @@ -2666,7 +2691,7 @@ def _reduce_182(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 786) +module_eval(<<'.,.,', 'parser.y', 787) def _reduce_183(val, _values, result) type = val[1].dup type.instance_eval do @@ -2678,7 +2703,7 @@ def _reduce_183(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 793) +module_eval(<<'.,.,', 'parser.y', 794) def _reduce_184(val, _values, result) result = Types::ClassSingleton.new(name: val[2].value, location: val[0].location + val[3].location) @@ -2687,7 +2712,7 @@ def _reduce_184(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 797) +module_eval(<<'.,.,', 'parser.y', 798) def _reduce_185(val, _values, result) result = Types::Proc.new(type: val[1].value, location: val[0].location + val[1].location) @@ -2695,7 +2720,7 @@ def _reduce_185(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 800) +module_eval(<<'.,.,', 'parser.y', 801) def _reduce_186(val, _values, result) result = Types::Optional.new(type: val[0], location: val[0].location + val[1].location) @@ -2705,7 +2730,7 @@ def _reduce_186(val, _values, result) # reduce 187 omitted -module_eval(<<'.,.,', 'parser.y', 806) +module_eval(<<'.,.,', 'parser.y', 807) def _reduce_188(val, _values, result) result = [val[0]] @@ -2713,7 +2738,7 @@ def _reduce_188(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 809) +module_eval(<<'.,.,', 'parser.y', 810) def _reduce_189(val, _values, result) result = val[0] + [val[2]] @@ -2721,7 +2746,7 @@ def _reduce_189(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 814) +module_eval(<<'.,.,', 'parser.y', 815) def _reduce_190(val, _values, result) result = Types::Record.new( fields: val[1], @@ -2732,7 +2757,7 @@ def _reduce_190(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 822) +module_eval(<<'.,.,', 'parser.y', 823) def _reduce_191(val, _values, result) result = val[0] @@ -2740,7 +2765,7 @@ def _reduce_191(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 825) +module_eval(<<'.,.,', 'parser.y', 826) def _reduce_192(val, _values, result) result = val[0].merge!(val[2]) @@ -2748,7 +2773,7 @@ def _reduce_192(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 830) +module_eval(<<'.,.,', 'parser.y', 831) def _reduce_193(val, _values, result) result = { val[0].value => val[2] } @@ -2756,7 +2781,7 @@ def _reduce_193(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 833) +module_eval(<<'.,.,', 'parser.y', 834) def _reduce_194(val, _values, result) result = { val[0].value => val[2] } @@ -2764,7 +2789,7 @@ def _reduce_194(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 836) +module_eval(<<'.,.,', 'parser.y', 837) def _reduce_195(val, _values, result) result = { val[0].value => val[2] } @@ -2772,7 +2797,7 @@ def _reduce_195(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 839) +module_eval(<<'.,.,', 'parser.y', 840) def _reduce_196(val, _values, result) result = { val[0].value => val[1] } @@ -2782,7 +2807,7 @@ def _reduce_196(val, _values, result) # reduce 197 omitted -module_eval(<<'.,.,', 'parser.y', 845) +module_eval(<<'.,.,', 'parser.y', 846) def _reduce_198(val, _values, result) result = val[0] @@ -2794,8 +2819,12 @@ def _reduce_198(val, _values, result) # reduce 200 omitted -module_eval(<<'.,.,', 'parser.y', 852) - def _reduce_201(val, _values, result) +# reduce 201 omitted + +# reduce 202 omitted + +module_eval(<<'.,.,', 'parser.y', 853) + def _reduce_203(val, _values, result) location = val[0].location + val[4].location type = Types::Function.new( required_positionals: val[1][0], @@ -2814,8 +2843,8 @@ def _reduce_201(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 867) - def _reduce_202(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 868) + def _reduce_204(val, _values, result) location = val[0].location + val[1].location type = Types::Function.new( required_positionals: [], @@ -2834,8 +2863,8 @@ def _reduce_202(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 884) - def _reduce_203(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 885) + def _reduce_205(val, _values, result) result = val[2] result[0].unshift(val[0]) @@ -2843,8 +2872,8 @@ def _reduce_203(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 888) - def _reduce_204(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 889) + def _reduce_206(val, _values, result) result = empty_params_result result[0].unshift(val[0]) @@ -2852,10 +2881,10 @@ def _reduce_204(val, _values, result) end .,., -# reduce 205 omitted +# reduce 207 omitted -module_eval(<<'.,.,', 'parser.y', 895) - def _reduce_206(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 896) + def _reduce_208(val, _values, result) result = val[2] result[1].unshift(val[0]) @@ -2863,8 +2892,8 @@ def _reduce_206(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 899) - def _reduce_207(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 900) + def _reduce_209(val, _values, result) result = empty_params_result result[1].unshift(val[0]) @@ -2872,10 +2901,10 @@ def _reduce_207(val, _values, result) end .,., -# reduce 208 omitted +# reduce 210 omitted -module_eval(<<'.,.,', 'parser.y', 906) - def _reduce_209(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 907) + def _reduce_211(val, _values, result) result = val[2] result[2] = val[0] @@ -2883,8 +2912,8 @@ def _reduce_209(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 910) - def _reduce_210(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 911) + def _reduce_212(val, _values, result) result = empty_params_result result[2] = val[0] @@ -2892,10 +2921,10 @@ def _reduce_210(val, _values, result) end .,., -# reduce 211 omitted +# reduce 213 omitted -module_eval(<<'.,.,', 'parser.y', 917) - def _reduce_212(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 918) + def _reduce_214(val, _values, result) result = val[2] result[3].unshift(val[0]) @@ -2903,8 +2932,8 @@ def _reduce_212(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 921) - def _reduce_213(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 922) + def _reduce_215(val, _values, result) result = empty_params_result result[3].unshift(val[0]) @@ -2912,18 +2941,18 @@ def _reduce_213(val, _values, result) end .,., -# reduce 214 omitted +# reduce 216 omitted -module_eval(<<'.,.,', 'parser.y', 928) - def _reduce_215(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 929) + def _reduce_217(val, _values, result) result = empty_params_result result end .,., -module_eval(<<'.,.,', 'parser.y', 931) - def _reduce_216(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 932) + def _reduce_218(val, _values, result) result = val[2] result[4].merge!(val[0]) @@ -2931,8 +2960,8 @@ def _reduce_216(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 935) - def _reduce_217(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 936) + def _reduce_219(val, _values, result) result = empty_params_result result[4].merge!(val[0]) @@ -2940,8 +2969,8 @@ def _reduce_217(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 939) - def _reduce_218(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 940) + def _reduce_220(val, _values, result) result = val[2] result[5].merge!(val[0]) @@ -2949,8 +2978,8 @@ def _reduce_218(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 943) - def _reduce_219(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 944) + def _reduce_221(val, _values, result) result = empty_params_result result[5].merge!(val[0]) @@ -2958,8 +2987,8 @@ def _reduce_219(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 947) - def _reduce_220(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 948) + def _reduce_222(val, _values, result) result = empty_params_result result[6] = val[0] @@ -2967,8 +2996,8 @@ def _reduce_220(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 953) - def _reduce_221(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 954) + def _reduce_223(val, _values, result) result = Types::Function::Param.new(type: val[0], name: val[1]&.value&.to_sym) @@ -2976,8 +3005,8 @@ def _reduce_221(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 959) - def _reduce_222(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 960) + def _reduce_224(val, _values, result) result = Types::Function::Param.new(type: val[1], name: val[2]&.value&.to_sym) @@ -2985,8 +3014,8 @@ def _reduce_222(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 965) - def _reduce_223(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 966) + def _reduce_225(val, _values, result) result = Types::Function::Param.new(type: val[1], name: val[2]&.value&.to_sym) @@ -2994,8 +3023,8 @@ def _reduce_223(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 971) - def _reduce_224(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 972) + def _reduce_226(val, _values, result) param = Types::Function::Param.new(type: val[1], name: val[2]&.value&.to_sym) result = { val[0].value => param } @@ -3004,8 +3033,8 @@ def _reduce_224(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 978) - def _reduce_225(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 979) + def _reduce_227(val, _values, result) param = Types::Function::Param.new(type: val[2], name: val[3]&.value&.to_sym) result = { val[1].value => param } @@ -3014,8 +3043,8 @@ def _reduce_225(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 985) - def _reduce_226(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 986) + def _reduce_228(val, _values, result) result = Types::Function::Param.new(type: val[1], name: val[2]&.value&.to_sym) @@ -3023,16 +3052,16 @@ def _reduce_226(val, _values, result) end .,., -# reduce 227 omitted - -# reduce 228 omitted - # reduce 229 omitted # reduce 230 omitted -module_eval(<<'.,.,', 'parser.y', 994) - def _reduce_231(val, _values, result) +# reduce 231 omitted + +# reduce 232 omitted + +module_eval(<<'.,.,', 'parser.y', 995) + def _reduce_233(val, _values, result) namespace = val[0]&.value || Namespace.empty name = val[1].value.to_sym type_name = TypeName.new(namespace: namespace, name: name) @@ -3043,14 +3072,14 @@ def _reduce_231(val, _values, result) end .,., -# reduce 232 omitted +# reduce 234 omitted -# reduce 233 omitted +# reduce 235 omitted -# reduce 234 omitted +# reduce 236 omitted -module_eval(<<'.,.,', 'parser.y', 1006) - def _reduce_235(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 1007) + def _reduce_237(val, _values, result) namespace = val[0]&.value || Namespace.empty name = val[1].value.to_sym type_name = TypeName.new(namespace: namespace, name: name) @@ -3061,8 +3090,8 @@ def _reduce_235(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 1015) - def _reduce_236(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 1016) + def _reduce_238(val, _values, result) namespace = val[0]&.value || Namespace.empty name = val[1].value.to_sym type_name = TypeName.new(namespace: namespace, name: name) @@ -3073,24 +3102,24 @@ def _reduce_236(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 1024) - def _reduce_237(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 1025) + def _reduce_239(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'parser.y', 1027) - def _reduce_238(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 1028) + def _reduce_240(val, _values, result) result = LocatedValue.new(value: Namespace.root, location: val[0].location) result end .,., -module_eval(<<'.,.,', 'parser.y', 1030) - def _reduce_239(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 1031) + def _reduce_241(val, _values, result) namespace = Namespace.parse(val[1].value).absolute! result = LocatedValue.new(value: namespace, location: val[0].location + val[1].location) @@ -3098,8 +3127,8 @@ def _reduce_239(val, _values, result) end .,., -module_eval(<<'.,.,', 'parser.y', 1034) - def _reduce_240(val, _values, result) +module_eval(<<'.,.,', 'parser.y', 1035) + def _reduce_242(val, _values, result) namespace = Namespace.parse(val[0].value) result = LocatedValue.new(value: namespace, location: val[0].location) diff --git a/lib/rbs/parser.y b/lib/rbs/parser.y index b88adc9c4..68177e995 100644 --- a/lib/rbs/parser.y +++ b/lib/rbs/parser.y @@ -1,5 +1,6 @@ class RBS::Parser - token tUIDENT tLIDENT tNAMESPACE tINTERFACEIDENT tLKEYWORD tUKEYWORD tGLOBALIDENT + token tUIDENT tLIDENT tNAMESPACE tINTERFACEIDENT tGLOBALIDENT + tLKEYWORD tUKEYWORD tLKEYWORD_Q_E tUKEYWORD_Q_E tIVAR tCLASSVAR tANNOTATION tSTRING tSYMBOL tINTEGER tWRITE_ATTR @@ -846,7 +847,7 @@ rule result = val[0] } - keyword: tLKEYWORD | tUKEYWORD + keyword: tLKEYWORD | tUKEYWORD | tLKEYWORD_Q_E | tUKEYWORD_Q_E function_type: kLPAREN params kRPAREN kARROW simple_type { @@ -1344,8 +1345,12 @@ def next_token new_token(:tNAMESPACE) when input.scan(/[a-z_]\w*:/) new_token(:tLKEYWORD, input.matched.chop.to_sym) + when input.scan(/[a-z_]\w*[?!]:/) + new_token(:tLKEYWORD_Q_E, input.matched.chop.to_sym) when input.scan(/[A-Z]\w*:/) new_token(:tUKEYWORD, input.matched.chop.to_sym) + when input.scan(/[A-Z]\w*[?!]:/) + new_token(:tUKEYWORD_Q_E, input.matched.chop.to_sym) when input.scan(/\$[A-Za-z_]\w*/) new_token(:tGLOBALIDENT) when input.scan(/@[a-zA-Z_]\w*/) diff --git a/test/rbs/method_type_parsing_test.rb b/test/rbs/method_type_parsing_test.rb index 2d38f106a..fa6fe897e 100644 --- a/test/rbs/method_type_parsing_test.rb +++ b/test/rbs/method_type_parsing_test.rb @@ -11,6 +11,9 @@ def test_method_type Parser.parse_method_type("()->void").yield_self do |type| assert_equal "() -> void", type.to_s end + + Parser.parse_method_type("(foo?: Integer, bar!: String)->void") + Parser.parse_method_type("(?foo?: Integer, ?bar!: String)->void") end def test_method_type_eof_re