diff options
Diffstat (limited to 'upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java')
-rw-r--r-- | upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java | 1979 |
1 files changed, 722 insertions, 1257 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java index ae385df6d14..ec2e2b60f18 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java @@ -18,1270 +18,735 @@ package org.eclipse.cdt.internal.core.dom.parser.upc; public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UPCNoCastExpressionParsersym { - public interface IsKeyword { - public final static byte isKeyword[] = {0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 - }; - }; - public final static byte isKeyword[] = IsKeyword.isKeyword; - public final boolean isKeyword(int index) { return isKeyword[index] != 0; } - - public interface BaseCheck { - public final static short baseCheck[] = {0, - 0,0,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3,1, - 1,4,4,3,3,2,2,4,1,0, - 1,1,2,2,2,2,2,2,2,2, - 2,4,1,1,3,3,3,1,3,3, - 1,3,3,1,3,3,3,3,1,3, - 3,1,3,1,3,1,3,1,3,1, - 3,1,5,1,3,3,3,3,3,3, - 3,3,3,3,3,1,1,2,1,0, - 1,3,1,1,1,1,1,1,1,1, - 3,4,3,2,4,1,2,1,1,1, - 2,5,7,5,1,0,7,2,5,9, - 8,3,2,2,2,3,2,4,2,2, - 2,2,2,1,1,1,1,2,1,2, - 2,2,1,2,2,1,2,2,1,2, - 2,1,2,2,1,3,1,3,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6, - 8,0,0,1,1,3,3,3,0,1, - 0,1,2,4,2,1,1,1,3,1, - 1,2,3,7,8,0,1,0,1,3, - 1,3,1,1,1,1,1,1,3,1, - 1,1,1,1,3,1,2,2,1,5, - 3,1,3,5,1,3,1,3,2,4, - 3,5,4,6,6,3,5,1,3,4, - 5,6,0,1,2,1,3,1,1,3, - 2,1,1,1,1,2,1,2,3,1, - 1,1,3,1,2,2,2,3,4,5, - 1,1,7,3,0,0,1,1,3,3, - 4,1,1,2,3,2,3,2,1,0, - 1,2,1,1,1,1,1,2,1,3, - 6,4,2,4,1,1,1,1,1,2, - 4,2,4,2,4,1,1,2,1,1, - 1,3,3,2,1,3,2,3,2,3, - 2,2,11,10,10,9,10,9,9,8, - 10,9,9,8,9,8,8,7,10,9, - 9,8,9,8,8,7,1,1,-38,0, - 0,0,0,0,0,0,0,0,0,-127, - 0,0,0,0,0,0,0,0,0,-2, - 0,0,0,0,0,-129,0,-77,-81,-138, - 0,0,0,0,0,-60,0,0,0,0, - 0,0,0,0,0,0,-179,0,0,0, - 0,0,0,-172,0,0,0,0,0,0, - -86,0,0,0,0,0,0,0,-39,0, - -40,0,0,0,0,0,0,0,0,-154, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -61,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-190,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-145, - 0,0,-4,0,-88,-142,0,-18,-117,-180, - 0,0,0,0,0,-135,0,-196,-35,0, - -203,0,0,0,0,0,-36,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-194,0,-209,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-213,0, - 0,0,0,0,0,0,0,0,0,0, - -205,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-57,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-82,0,-79, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-89,-19,-84,0,0,0,-3,0, - 0,0,0,0,0,0,0,0,0,-20, - 0,0,0,0,0,0,0,0,0,-121, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -128,0,0,0,0,0,0,0,0,0, - 0,-96,0,0,0,0,0,0,0,0, - -21,0,0,-43,0,0,0,0,0,0, - 0,0,0,0,-130,0,-141,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-30, - 0,0,0,0,0,0,0,0,0,0, - -73,0,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-63,0,0,0,0,0,0,0,0, - 0,0,-74,0,0,0,0,0,0,0, - 0,0,-64,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-65,0,0,0,0,0,0, - 0,0,0,0,-75,0,0,0,0,0, - 0,0,0,0,-66,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-67,0,0,0,0, - 0,0,0,0,0,0,-76,0,0,0, - 0,0,0,0,0,0,-68,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-69,0,0, - 0,0,0,0,0,0,0,0,-95,0, - 0,0,0,0,0,0,0,0,-70,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-71, - 0,0,0,0,0,0,0,0,0,0, - -125,0,0,0,0,0,0,0,0,0, - -72,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-134,0,0,0,0,0,0,0,0, - 0,0,-143,0,0,0,0,0,0,0, - 0,0,-157,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-158,0,0,0,0,0,0, - 0,0,0,0,-166,0,0,0,0,0, - 0,0,0,0,-193,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-202,0,0,0,0,0, - 0,0,0,0,0,-22,0,0,0,0, - 0,0,0,0,-5,0,0,0,0,0, - 0,0,-9,0,0,0,0,0,0,0, - -208,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -214,0,0,0,0,0,0,0,0,0, - 0,-23,0,0,0,0,0,0,0,0, - -6,0,0,0,0,0,0,0,-131,0, - -132,0,-78,-93,0,-24,-222,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -165,0,-150,-144,-133,0,0,0,0,0, - -122,0,-25,-184,0,-10,0,0,0,0, - 0,0,0,0,0,-26,0,0,-177,0, - 0,0,0,-113,-83,-27,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-161,-85,-155,0,0,-28,0,0,0, - 0,0,0,-44,0,0,0,0,0,0, - 0,0,0,0,-29,0,0,0,0,0, - 0,0,0,-94,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-192,0,0, - 0,0,0,-210,0,-7,0,0,0,0, - 0,0,0,-58,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-54,0, - 0,0,0,0,0,0,0,0,0,-199, - 0,0,-11,0,0,0,0,0,0,0, - 0,-55,0,0,0,0,0,0,0,0, - 0,0,-91,0,-56,0,0,0,0,0, - 0,0,0,0,0,-221,0,-136,0,0, - 0,0,0,0,0,-97,0,-98,0,-114, - -207,0,0,-48,0,0,0,0,0,0, - 0,0,0,0,-52,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-99,-100,-101,0,0,-162, - -102,0,0,-49,0,0,0,0,0,0, - 0,0,0,0,-50,0,0,0,0,0, - 0,0,0,0,0,-223,0,0,0,0, - -51,0,0,0,0,0,0,0,0,0, - 0,-53,0,0,0,0,0,0,0,0, - 0,-216,-80,-87,0,-8,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-103,-151,0,-153,-104,0,0,0,0, - 0,-182,-90,0,-163,0,0,0,0,0, - 0,0,0,0,0,0,0,-92,-156,-126, - 0,0,0,0,0,0,0,0,0,0, - 0,-105,0,0,-183,0,0,0,0,-171, - 0,0,0,0,-106,0,0,0,0,-140, - 0,0,0,0,-124,0,0,0,0,0, - 0,0,-149,0,0,0,0,0,0,0, - -169,0,-1,0,0,-107,0,0,-108,0, - -109,0,-148,0,0,-160,0,0,0,0, - 0,0,0,-12,0,0,0,0,0,0, - 0,0,0,0,0,-110,0,0,-13,0, - 0,0,0,0,0,0,-14,0,0,0, - 0,0,0,0,-37,-45,0,0,0,0, - 0,0,0,-186,-164,0,-46,0,0,0, - 0,0,0,0,-47,0,0,0,0,0, - 0,0,0,-178,-15,0,0,0,0,0, - 0,0,-159,0,0,-16,0,0,0,0, - 0,0,0,0,0,0,-174,-111,-173,-17, - 0,-112,0,-181,0,0,-118,-31,0,0, - 0,-189,-32,-200,0,0,-120,-137,0,0, - 0,0,0,0,-170,0,0,0,0,0, - 0,0,-119,0,0,-33,0,0,0,0, - -146,-152,0,0,0,-123,0,-34,-204,0, - -167,0,-168,-185,0,0,-201,0,0,0, - 0,0,0,0,0,0,0,-139,0,0, - 0,0,0,-187,0,0,-115,0,0,0, - 0,0,0,0,0,-197,-198,0,-188,0, - 0,0,0,0,-195,0,0,0,-116,0, - -147,-212,0,-175,0,-41,-176,-206,0,0, - 0,0,0,0,0,-217,0,0,0,0, - 0,-191,0,0,0,0,0,0,0,0, - 0,-42,0,0,0,0,0,-218,0,0, - 0,-59,0,0,0,0,0,0,-215,-211, - -220,-219,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 - }; - }; - public final static short baseCheck[] = BaseCheck.baseCheck; - @Override - public final int baseCheck(int index) { return baseCheck[index]; } - public final static short rhs[] = baseCheck; - @Override - public final int rhs(int index) { return rhs[index]; }; - - public interface BaseAction { - public final static char baseAction[] = { - 89,11,105,22,22,21,21,46,46,72, - 72,1,1,2,2,2,2,3,3,3, - 4,5,5,5,5,5,5,5,5,62, - 62,73,6,6,6,6,6,6,6,6, - 6,6,6,7,8,8,8,8,9,9, - 9,10,10,10,12,12,12,12,12,13, - 13,13,14,14,15,15,16,16,17,17, - 18,18,19,19,20,20,20,20,20,20, - 20,20,20,20,20,20,106,31,30,90, - 90,74,74,47,107,107,107,107,107,107, - 107,108,108,108,109,109,114,114,115,115, - 110,110,111,111,111,117,117,112,112,112, - 112,112,113,113,113,113,113,116,116,27, - 27,27,27,27,33,33,33,80,80,75, - 75,75,75,76,76,76,77,77,77,78, - 78,78,79,79,79,118,118,119,119,120, - 34,36,36,36,36,36,56,57,57,57, - 57,57,57,57,57,57,57,57,57,66, - 63,63,91,92,68,68,64,64,64,69, - 81,81,82,82,70,70,70,37,93,93, - 83,84,84,84,65,65,94,85,85,86, - 86,71,71,23,24,24,24,35,53,53, - 39,39,39,39,42,42,44,40,40,41, - 45,45,121,121,43,122,122,95,95,28, - 28,28,28,28,28,28,28,28,87,54, - 54,54,54,29,59,59,58,58,58,60, - 60,55,55,96,96,52,52,61,61,61, - 48,48,48,49,50,50,50,51,51,51, - 51,67,67,32,32,38,98,97,97,97, - 97,88,99,100,100,101,101,102,102,123, - 123,124,124,125,125,125,125,127,127,126, - 126,126,128,129,129,89,89,2,2,2, - 6,6,6,6,6,6,23,23,25,25, - 26,26,103,103,103,107,130,130,130,130, - 130,130,130,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,131,131,1, - 1304,17,21,18,518,1295,44,670,654,1106, - 675,721,1186,1162,1236,1223,1277,1246,74,91, - 450,1811,135,213,326,327,80,1213,582,588, - 88,278,137,134,136,160,606,20,17,21, - 18,518,43,44,670,654,1106,675,721,1186, - 1162,1236,1223,1708,175,139,166,275,1796,1549, - 28,119,143,146,149,152,1717,431,231,191, - 31,191,31,513,1245,1273,1504,1533,1548,1184, - 542,20,17,21,18,518,1295,44,670,654, - 1106,424,721,1186,1162,1236,1223,1277,1246,74, - 281,606,20,17,21,18,518,43,44,670, - 654,1106,282,721,1186,1162,1236,1712,1717,351, - 20,17,21,18,518,1295,44,670,654,1106, - 424,721,1186,1162,1236,1223,1277,1246,74,281, - 225,179,25,277,24,583,176,287,59,53, - 815,282,396,1832,555,293,63,1717,915,443, - 526,191,1784,135,213,326,327,443,288,255, - 213,326,327,137,134,136,160,1570,274,1728, - 398,255,213,326,327,914,289,926,19,219, - 1450,221,1535,223,224,229,139,166,269,628, - 399,272,284,143,146,149,152,290,431,326, - 255,213,326,327,735,1245,1273,1504,1533,1548, - 1184,574,20,17,21,18,518,1295,44,670, - 654,1106,210,721,1186,1162,1236,1223,1277,1246, - 74,281,606,20,17,21,18,518,43,44, - 670,654,1106,282,721,1186,1162,1609,776,1717, - 281,20,17,21,18,518,1295,44,670,654, - 1106,1756,721,1186,1162,1236,1223,1277,1246,74, - 1221,194,239,615,78,661,276,294,291,606, - 20,17,21,18,518,1295,44,670,654,1106, - 193,721,1186,1162,1236,1223,1277,1246,74,91, - 766,20,17,21,18,518,1295,44,670,654, - 1106,1778,721,1186,1162,1236,1223,1277,1246,74, - 1580,470,20,17,21,18,518,43,44,670, - 654,1106,743,721,1186,1162,1236,1223,1277,1246, - 93,64,1179,334,606,20,17,21,18,518, - 43,44,1406,513,22,191,187,316,20,17, - 21,18,518,1295,44,670,654,1106,1613,721, - 1186,1162,1236,1223,1277,1246,74,1693,328,240, - 606,20,17,21,18,518,1295,44,670,654, - 1106,443,721,1186,1162,1236,1223,1277,1246,74, - 92,606,20,17,21,18,518,1295,44,670, - 654,1106,1244,721,1186,1162,1236,1223,1277,1246, - 74,85,606,20,17,21,18,518,1295,44, - 670,654,1106,443,721,1186,1162,1236,1223,1277, - 1246,74,84,606,20,17,21,18,518,1295, - 44,670,654,1106,1410,721,1186,1162,1236,1223, - 1277,1246,74,83,606,20,17,21,18,518, - 1295,44,670,654,1106,443,721,1186,1162,1236, - 1223,1277,1246,74,82,606,20,17,21,18, - 518,1295,44,670,654,1106,1787,721,1186,1162, - 1236,1223,1277,1246,74,81,606,20,17,21, - 18,518,1295,44,670,654,1106,443,721,1186, - 1162,1236,1223,1277,1246,74,80,606,20,17, - 21,18,518,1295,44,670,654,1106,1809,721, - 1186,1162,1236,1223,1277,1246,74,79,606,20, - 17,21,18,518,1295,44,670,654,1106,443, - 721,1186,1162,1236,1223,1277,1246,74,78,606, - 20,17,21,18,518,1295,44,670,654,1106, - 23,721,1186,1162,1236,1223,1277,1246,74,77, - 606,20,17,21,18,518,1295,44,670,654, - 1106,443,721,1186,1162,1236,1223,1277,1246,74, - 76,606,20,17,21,18,518,1295,44,670, - 654,1106,273,721,1186,1162,1236,1223,1277,1246, - 74,75,606,20,17,21,18,518,1295,44, - 670,654,1106,443,721,1186,1162,1236,1223,1277, - 1246,74,73,606,20,17,21,18,518,1295, - 44,670,654,1106,279,721,1186,1162,1236,1223, - 1277,1246,74,1814,606,20,17,21,18,518, - 1295,44,670,654,1106,443,721,1186,1162,1236, - 1223,1277,1246,74,1817,606,20,17,21,18, - 518,43,44,670,654,1106,280,721,1186,1162, - 1236,1223,1277,1246,93,606,20,17,21,18, - 518,43,44,670,654,1106,139,721,1186,1162, - 1236,1223,1277,1246,93,638,20,17,21,18, - 518,324,1818,606,20,17,21,18,518,43, - 40,606,20,17,21,18,518,43,44,670, - 654,1106,212,721,1186,1162,1236,1223,1277,1246, - 93,606,20,17,21,18,518,43,44,670, - 654,1106,349,721,1186,1162,1236,1223,1277,1246, - 93,670,20,17,21,18,518,322,1862,191, - 186,537,1752,88,225,179,16,606,20,17, - 21,18,518,43,44,670,654,1106,202,721, - 1186,1162,1236,1223,1277,1246,93,135,213,326, - 327,712,1727,152,398,191,188,138,134,136, - 160,743,510,6,113,1665,606,20,17,21, - 18,518,43,39,203,510,24,1743,1214,443, - 140,166,274,241,678,383,171,144,147,150, - 153,197,431,218,1450,221,1535,223,224,229, - 225,1565,267,628,399,272,260,263,135,213, - 326,327,941,814,88,264,28,230,142,134, - 136,160,1717,1684,606,20,17,21,18,518, - 43,44,1408,277,193,325,135,213,326,327, - 274,141,166,1709,798,1761,145,134,136,160, - 261,218,1450,221,1535,223,224,229,191,296, - 267,628,399,272,443,1239,702,20,17,21, - 18,518,320,981,606,20,17,21,18,518, - 43,44,670,654,1106,230,721,1186,1611,606, - 20,17,21,18,518,43,44,670,654,1106, - 72,721,1562,606,20,17,21,18,518,43, - 38,1826,606,20,17,21,18,518,43,44, - 670,654,1106,647,1575,606,20,17,21,18, - 518,43,44,670,654,1106,72,1606,53,218, - 1450,221,1535,223,224,229,227,1826,324,450, - 742,191,298,1859,606,20,17,21,18,518, - 43,44,670,654,1445,606,20,17,21,18, - 518,43,44,670,1522,218,1450,221,1535,223, - 224,229,28,198,200,151,458,804,1717,1859, - 813,818,1215,579,606,20,17,21,18,518, - 43,44,670,654,1446,606,20,17,21,18, - 518,43,44,670,654,1447,554,1181,228,199, - 200,606,20,17,21,18,518,43,44,670, - 654,1451,606,20,17,21,18,518,43,44, - 670,1526,502,291,844,1728,734,20,17,21, - 18,518,41,1826,1550,219,1450,221,1535,223, - 224,229,614,53,277,53,646,135,213,326, - 327,274,63,855,1763,839,1735,148,134,136, - 160,218,1450,221,1535,223,224,229,885,232, - 385,267,628,399,272,1239,135,213,326,327, - 1707,510,710,227,981,902,151,134,136,160, - 679,135,213,326,327,77,1360,1214,180,1727, - 743,154,134,136,160,435,20,17,21,18, - 518,43,36,435,20,17,21,18,518,43, - 36,53,243,505,1743,259,187,246,1023,350, - 1751,467,1764,743,659,333,435,20,17,21, - 18,518,43,36,606,20,17,21,18,518, - 43,37,1722,87,315,332,483,195,247,606, - 20,17,21,18,518,43,36,606,20,17, - 21,18,518,43,35,361,606,20,17,21, - 18,518,43,47,805,88,1183,606,20,17, - 21,18,518,43,46,606,20,17,21,18, - 518,43,45,274,385,606,20,17,21,18, - 518,34,390,743,1727,510,606,20,17,21, - 18,518,33,267,628,399,272,124,513,896, - 53,1214,809,1727,53,242,266,930,53,520, - 1805,369,63,53,805,1797,1767,243,707,369, - 254,213,326,327,369,682,1784,197,520,259, - 87,537,1023,445,1751,197,53,1655,87,537, - 197,541,932,87,537,1655,124,369,53,180, - 1655,933,529,57,682,1784,528,63,1759,369, - 771,274,1728,197,510,813,87,537,124,254, - 213,326,327,1655,550,197,1848,871,87,537, - 197,269,628,399,272,1655,715,169,855,845, - 1565,254,213,326,327,124,209,510,510,901, - 897,329,63,204,743,516,480,743,743,28, - 1664,1799,510,1214,197,1717,88,659,254,213, - 326,327,842,192,1565,209,244,516,1214,245, - 295,28,53,737,1532,1224,89,1717,63,1724, - 1799,259,53,659,1324,1727,1751,283,181,884, - 479,39,743,659,557,1033,259,192,1921,1065, - 1921,1751,87,712,1921,1921,1921,1921,1812,1224, - 1476,234,87,1636,297,1921,1921,1921,1921,1921, - 1921,1860,1921,1921,205,1921,1921,1921,1921,1921, - 1921,1921,1921,1921,1921,1921,939,1921,0,329, - 701,0,20,179,0,1,2147,0,1,2158, - 0 - }; - }; - public final static char baseAction[] = BaseAction.baseAction; - @Override - public final int baseAction(int index) { return baseAction[index]; } - public final static char lhs[] = baseAction; - @Override - public final int lhs(int index) { return lhs[index]; }; - - public interface TermCheck { - public final static byte termCheck[] = {0, - 0,1,2,3,4,0,6,7,8,9, - 10,11,12,13,14,0,16,17,18,19, - 20,21,22,0,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,0,1, - 40,41,42,43,44,45,46,47,48,49, - 50,51,0,53,54,55,0,1,0,3, - 2,5,0,0,8,9,10,5,12,13, - 14,0,1,2,16,17,0,0,73,0, - 1,23,3,6,7,70,71,0,32,33, - 34,35,36,37,15,72,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,0,1,52,3,60,5,0,61, - 8,9,10,0,12,13,14,64,65,66, - 67,8,9,10,76,12,13,14,0,68, - 64,65,66,67,32,33,34,35,36,37, - 0,0,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,0,1, - 0,3,60,5,0,0,8,9,10,0, - 12,13,14,8,9,10,0,12,13,14, - 0,1,0,3,56,57,4,23,0,0, - 32,33,34,35,36,37,56,57,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,1,0,3,60,0, - 4,0,8,9,10,61,12,13,14,8, - 9,10,0,12,13,14,4,77,78,0, - 64,65,66,67,62,63,32,33,34,35, - 36,37,0,0,40,41,42,43,44,45, - 46,47,48,49,50,51,0,53,54,55, - 0,1,2,3,4,5,6,7,62,63, - 0,11,2,0,0,5,16,17,18,19, - 20,21,22,74,24,25,26,27,28,29, - 30,31,32,23,38,0,1,2,3,4, - 5,6,7,0,0,0,11,4,0,39, - 5,16,17,18,19,20,21,22,58,24, - 25,26,27,28,29,30,31,32,0,0, - 0,1,2,3,4,5,6,7,0,11, - 0,11,2,38,4,15,16,17,18,19, - 20,21,22,58,24,25,26,27,28,29, - 30,31,0,23,0,62,63,59,4,0, - 8,9,10,69,12,13,14,0,1,2, - 75,4,52,79,80,81,82,83,84,85, - 86,87,88,0,32,33,34,35,36,37, - 23,72,40,41,42,43,44,45,46,47, - 48,49,50,51,0,1,2,3,4,5, - 6,7,0,59,0,11,2,5,4,0, - 16,17,18,19,20,21,22,0,24,25, - 26,27,28,29,30,31,0,23,0,0, - 1,2,3,4,5,6,7,11,0,0, - 11,39,0,5,5,16,17,18,19,20, - 21,22,58,24,25,26,27,28,29,30, - 31,0,1,2,0,1,2,3,4,0, - 6,7,0,56,57,11,38,39,39,0, - 16,17,18,19,20,21,22,58,24,25, - 26,27,28,29,30,31,0,1,89,3, - 0,0,1,2,3,4,0,6,7,0, - 68,15,11,0,1,2,15,16,17,18, - 19,20,21,22,60,24,25,26,27,28, - 29,30,31,0,1,2,3,4,38,6, - 7,0,0,1,11,3,74,0,15,16, - 17,18,19,20,21,22,15,24,25,26, - 27,28,29,30,31,0,1,2,3,4, - 23,6,7,0,0,1,11,3,69,6, - 7,16,17,18,19,20,21,22,0,24, - 25,26,27,28,29,30,31,0,1,2, - 3,4,0,6,7,0,0,1,11,3, - 0,6,7,16,17,18,19,20,21,22, - 0,24,25,26,27,28,29,30,31,0, - 1,2,3,4,0,6,7,0,0,5, - 11,0,1,23,3,16,17,18,19,20, - 21,22,15,24,25,26,27,28,29,30, - 31,0,1,2,3,4,0,6,7,0, - 4,0,11,39,0,1,38,16,17,18, - 19,20,21,22,0,24,25,26,27,28, - 29,30,31,0,1,2,3,4,0,6, - 7,0,0,0,11,0,1,5,3,16, - 17,18,19,20,21,22,15,24,25,26, - 27,28,29,30,31,0,1,2,3,4, - 59,6,7,59,0,0,11,2,0,70, - 71,16,17,18,19,20,21,22,0,24, - 25,26,27,28,29,30,31,0,23,2, - 58,4,5,0,0,8,9,10,0,12, - 13,14,0,0,0,1,2,0,4,0, - 23,8,9,10,5,12,13,14,0,32, - 33,34,35,36,37,23,39,23,0,0, - 2,0,38,0,0,32,33,34,35,36, - 37,8,9,10,0,12,13,14,0,56, - 57,23,8,9,10,0,12,13,14,0, - 0,52,0,56,57,32,33,34,35,36, - 37,73,38,0,0,15,32,33,34,35, - 36,37,8,9,10,0,12,13,14,0, - 0,0,0,8,9,10,5,12,13,14, - 69,0,0,0,0,15,32,33,34,35, - 36,37,8,9,10,0,12,13,14,0, - 0,0,0,8,9,10,23,12,13,14, - 0,1,2,0,15,5,15,15,0,0, - 0,68,0,0,0,0,0,0,15,0, - 0,0,0,23,15,15,0,0,0,0, - 0,0,0,0,61,0,75,0,0,39, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0 - }; - }; - public final static byte termCheck[] = TermCheck.termCheck; - @Override - public final int termCheck(int index) { return termCheck[index]; } - - public interface TermAction { - public final static char termAction[] = {0, - 1921,1932,1710,1933,1639,68,1624,1363,2135,2136, - 2137,1647,2251,655,2252,62,1696,1685,1506,1934, - 1935,1936,1937,66,1226,1123,2238,2239,2240,1326, - 1171,1115,2084,2085,2083,2138,2086,2082,1921,2159, - 2089,2094,2093,2091,2092,2090,2095,2096,2088,2097, - 2098,2099,1,1383,653,515,1921,1,32,1, - 1816,191,1921,59,1,1,1,1929,1,1, - 1,1,2147,1502,1947,1948,61,51,612,1921, - 1932,1842,1933,1284,724,1385,1372,253,1,1, - 1,1,1,1,1523,1334,1,1,1,1, - 1,1,1,1,1,1,1,1,191,1, - 1,1,1921,1,1928,1,2117,190,182,441, - 1,1,1,1921,1,1,1,1481,1465,1454, - 1414,2135,2136,2137,439,2251,655,2252,54,1151, - 1481,1465,1454,1414,1,1,1,1,1,1, - 58,183,1,1,1,1,1,1,1,1, - 1,1,1,1,190,1,1,1,1921,1, - 72,1,2117,191,1921,248,1,1,1,286, - 1,1,1,2135,2136,2137,60,2251,655,2252, - 1921,1932,48,1933,1425,1492,1675,1075,1921,1921, - 1,1,1,1,1,1,1425,1492,1,1, - 1,1,1,1,1,1,1,1,1,1, - 191,1,1,1,1921,1932,50,1933,2117,70, - 1675,249,2135,2136,2137,1318,2251,655,2252,1, - 1,1,1921,1,1,1,400,406,1852,1921, - 1481,1465,1454,1414,1667,1656,2084,2085,2083,2138, - 2086,2082,1921,1921,2089,2094,2093,2091,2092,2090, - 2095,2096,2088,2097,2098,2099,88,1383,653,515, - 1,1932,1710,1933,1585,1925,1624,1363,1667,1656, - 1,1647,1503,1921,1921,1927,1696,1685,1506,1934, - 1935,1936,1937,471,1226,1123,2238,2239,2240,1326, - 1171,1115,680,630,760,1921,1932,1710,1933,1616, - 1925,1624,1363,49,43,1921,1647,1675,1,1926, - 1931,1696,1685,1506,1934,1935,1936,1937,1924,1226, - 1123,2238,2239,2240,1326,1171,1115,1054,64,67, - 1,1932,1710,1933,1639,29,1624,1363,1921,1349, - 265,1647,1503,1396,1,3109,1696,1685,1506,1934, - 1935,1936,1937,1924,1226,1123,2238,2239,2240,1326, - 1171,1115,129,630,1,1667,1656,2179,253,1921, - 2135,2136,2137,991,2251,655,2252,262,2147,1272, - 1930,1,29,970,949,928,907,886,844,865, - 823,802,781,1921,2084,2085,2083,2138,2086,2082, - 630,1334,2089,2094,2093,2091,2092,2090,2095,2096, - 2088,2097,2098,2099,1921,1932,1710,1933,1639,1925, - 1624,1363,1921,2179,268,1647,1503,1927,253,1921, - 1696,1685,1506,1934,1935,1936,1937,57,1226,1123, - 2238,2239,2240,1326,1171,1115,65,630,1921,1921, - 1932,1710,1933,1593,1925,1624,1363,1349,1921,1, - 1647,1926,1921,1927,90,1696,1685,1506,1934,1935, - 1936,1937,1924,1226,1123,2238,2239,2240,1326,1171, - 1115,1,2147,1502,1921,1,1,1,1,1921, - 1,1,71,1425,1492,1,1861,1926,90,1921, - 1,1,1,1,1,1,1,1924,1,1, - 1,1,1,1,1,1,1921,1932,1908,1933, - 256,1,1932,1710,1933,1639,1921,1624,1363,211, - 1012,1525,1647,253,2147,1502,3109,1696,1685,1506, - 1934,1935,1936,1937,2237,1226,1123,2238,2239,2240, - 1326,1171,1115,1921,1932,1710,1933,1639,1211,1624, - 1363,1921,185,3233,1647,3233,471,271,3109,1696, - 1685,1506,1934,1935,1936,1937,3109,1226,1123,2238, - 2239,2240,1326,1171,1115,1921,1932,1710,1933,1639, - 630,1624,1363,53,184,3239,1647,3239,1095,1284, - 724,1696,1685,1506,1934,1935,1936,1937,1921,1226, - 1123,2238,2239,2240,1326,1171,1115,1921,1932,1718, - 1933,1639,1921,1624,1363,52,206,3240,1647,3240, - 1921,1284,724,1696,1685,1506,1934,1935,1936,1937, - 329,1226,1123,2238,2239,2240,1326,1171,1115,1921, - 1932,1723,1933,1639,1,1624,1363,325,30,1927, - 1647,208,1932,1909,1933,1696,1685,1506,1934,1935, - 1936,1937,3109,1226,1123,2238,2239,2240,1326,1171, - 1115,1921,1932,1746,1933,1639,1921,1624,1363,63, - 1274,1,1647,1926,1,1918,489,1696,1685,1506, - 1934,1935,1936,1937,1921,1226,1123,2238,2239,2240, - 1326,1171,1115,1921,1932,1758,1933,1639,1921,1624, - 1363,323,1921,1921,1647,207,531,1925,531,1696, - 1685,1506,1934,1935,1936,1937,3109,1226,1123,2238, - 2239,2240,1326,1171,1115,1,1932,1710,1933,1639, - 2178,1624,1363,2179,1921,270,1647,380,1921,1385, - 1372,1696,1685,1506,1934,1935,1936,1937,1921,1226, - 1123,2238,2239,2240,1326,1171,1115,20,630,1912, - 1924,1912,1912,56,30,179,179,179,69,179, - 179,179,220,130,268,2147,1272,55,253,285, - 1912,2135,2136,2137,519,2251,655,2252,1921,179, - 179,179,179,179,179,630,1912,630,222,1921, - 417,1921,1950,131,207,2084,2085,2083,2138,2086, - 2082,2135,2136,2137,132,2251,655,2252,1921,1425, - 1492,630,2135,2136,2137,1921,2251,655,2252,1921, - 321,519,1921,1425,1492,2084,2085,2083,2138,2086, - 2082,612,3035,201,133,3109,2084,2085,2083,2138, - 2086,2082,2135,2136,2137,250,2251,655,2252,1921, - 42,1,1921,1,1,1,1931,1,1,1, - 591,1921,1921,292,251,3109,2084,2085,2083,2138, - 2086,2082,2135,2136,2137,252,2251,655,2252,1921, - 1921,1921,1921,2135,2136,2137,1131,2251,655,2252, - 1,1915,1272,189,1398,1927,1601,1714,1921,189, - 189,1187,1921,1921,1921,1921,1921,1921,185,1921, - 1921,1921,1921,630,184,206,1921,1921,1921,1921, - 1921,1921,1921,1921,1411,1921,1930,1921,1921,1926 - }; - }; - public final static char termAction[] = TermAction.termAction; - @Override - public final int termAction(int index) { return termAction[index]; } - - public interface Asb { - public final static char asb[] = {0, - 443,1,89,69,89,89,89,89,89,89, - 89,89,89,89,89,89,119,31,51,48, - 55,53,61,59,63,62,65,64,37,89, - 119,119,119,119,318,318,263,119,354,354, - 472,89,89,89,89,89,89,89,89,89, - 89,89,89,89,89,89,89,89,89,89, - 89,89,89,89,89,89,89,89,89,89, - 89,89,318,318,318,318,29,267,80,321, - 316,315,235,112,247,27,247,27,27,247, - 27,247,139,269,318,73,48,48,53,53, - 53,53,51,51,59,55,55,62,61,402, - 64,63,195,195,195,195,387,29,263,267, - 83,73,162,170,318,404,324,170,27,354, - 354,27,354,89,387,5,267,255,162,73, - 169,80,318,261,139,317,326,73,170,29, - 357,29,390,5,255,255,89,89,73,170, - 321,397,396,267,326,318,29,357,390,390, - 392,77,255,162,73,73,318,404,324,261, - 357,387,436,357,390,392,467,392,387,3, - 470,354,89,76,162,255,326,357,438,392, - 387,89,354,31,7,73,354,89,255,318, - 317,387,231,89,230,108,267,387,73,355, - 438,89,108 - }; - }; - public final static char asb[] = Asb.asb; - @Override - public final int asb(int index) { return asb[index]; } - - public interface Asr { - public final static byte asr[] = {0, - 89,0,5,52,23,61,16,17,11,4, - 6,7,24,25,18,29,30,31,2,19, - 20,21,22,26,27,28,1,3,15,0, - 23,2,61,76,16,17,69,79,80,81, - 82,83,85,84,86,87,88,4,62,63, - 6,7,57,56,64,65,66,67,70,71, - 11,72,73,74,52,75,77,78,68,39, - 89,38,58,5,0,69,23,61,0,58, - 5,32,8,9,10,12,13,14,19,20, - 21,22,26,27,28,3,16,17,11,6, - 7,24,25,18,29,30,31,4,2,1, - 0,5,68,38,58,39,75,23,18,19, - 20,21,22,2,16,17,11,4,6,7, - 24,25,26,27,28,29,30,31,1,3, - 53,54,55,48,40,45,43,44,42,41, - 46,47,49,50,51,37,34,32,33,36, - 35,8,9,10,13,12,14,0,32,58, - 5,16,17,11,4,6,7,24,25,18, - 29,30,31,2,1,3,19,20,21,22, - 26,27,28,0,11,4,6,7,62,63, - 56,57,64,65,66,67,70,71,72,73, - 74,77,78,69,79,80,81,82,83,84, - 85,86,87,88,58,39,52,89,15,68, - 75,5,38,0,48,40,45,43,44,42, - 41,46,47,49,50,51,68,75,37,34, - 32,33,36,35,8,9,10,12,13,14, - 38,1,5,39,2,23,4,0,9,32, - 37,10,36,35,34,8,33,12,13,14, - 61,76,16,17,11,6,7,62,63,56, - 57,64,65,66,67,70,71,72,73,74, - 77,78,69,79,80,81,82,83,84,85, - 86,87,88,4,2,23,38,39,5,0, - 4,2,23,39,5,33,40,8,41,53, - 34,42,35,43,44,36,9,45,46,32, - 54,37,55,47,48,10,49,50,51,12, - 13,14,59,3,1,0,33,40,8,41, - 53,34,42,35,43,44,36,9,45,46, - 32,54,37,55,47,48,10,49,50,51, - 1,3,12,13,14,60,5,52,0,1, - 3,5,52,38,0,2,5,38,39,75, - 23,68,0,4,33,40,8,41,53,34, - 42,35,43,44,36,9,45,46,32,54, - 37,55,47,48,10,49,50,51,1,3, - 12,13,14,59,0,75,5,4,1,2, - 68,0,18,19,20,21,22,1,3,2, - 16,17,11,4,6,7,24,25,26,27, - 28,29,30,31,60,0,5,38,52,69, - 0,5,39,18,19,20,21,22,1,3, - 2,16,17,11,4,6,7,24,25,26, - 27,28,29,30,31,0 - }; - }; - public final static byte asr[] = Asr.asr; - @Override - public final int asr(int index) { return asr[index]; } - - public interface Nasb { - public final static byte nasb[] = {0, - 99,35,26,35,26,26,26,26,26,26, - 26,26,26,26,26,26,102,35,35,35, - 35,35,35,35,35,35,35,35,35,26, - 102,102,102,102,10,10,85,1,21,21, - 122,103,26,26,26,26,26,26,26,26, - 26,26,26,26,26,26,26,26,103,26, - 26,26,26,26,26,26,26,26,26,26, - 26,26,10,10,10,10,12,57,48,84, - 15,15,65,52,66,19,66,82,82,66, - 81,66,60,35,10,50,35,35,35,35, - 35,35,35,35,35,35,35,35,35,35, - 35,35,12,12,12,12,79,35,106,35, - 54,50,110,49,10,89,9,49,7,7, - 7,7,7,26,44,79,35,42,110,50, - 49,36,10,75,28,35,91,50,49,68, - 79,35,79,24,42,79,26,26,50,49, - 74,15,15,57,91,10,35,114,79,7, - 97,17,79,110,50,50,10,89,9,38, - 79,44,94,70,7,97,35,35,44,23, - 35,7,26,46,110,36,118,114,77,97, - 44,26,7,112,25,50,7,26,36,10, - 10,44,95,26,35,77,57,44,50,35, - 77,26,40 - }; - }; - public final static byte nasb[] = Nasb.nasb; - @Override - public final int nasb(int index) { return nasb[index]; } - - public interface Nasr { - public final static char nasr[] = {0, - 80,78,77,68,76,75,1,0,11,21, - 0,38,32,0,28,0,100,0,91,0, - 73,0,88,11,38,5,0,80,79,78, - 77,68,76,75,0,23,0,50,49,42, - 40,29,0,46,0,102,0,11,5,22, - 0,103,0,5,11,0,29,54,0,68, - 63,64,65,66,56,33,0,92,0,11, - 37,70,0,21,50,49,42,40,11,0, - 94,69,0,21,49,50,11,0,29,54, - 11,27,0,11,72,0,62,0,11,89, - 0,37,11,31,0,50,49,29,0,59, - 0,98,0,82,11,37,0,95,11,27, - 0,11,90,0 - }; - }; - public final static char nasr[] = Nasr.nasr; - @Override - public final int nasr(int index) { return nasr[index]; } - - public interface TerminalIndex { - public final static char terminalIndex[] = {0, - 85,2,86,9,87,10,11,48,64,76, - 8,96,97,98,3,6,7,68,81,82, - 83,84,1,12,13,93,94,95,100,101, - 102,69,44,55,60,63,72,42,90,47, - 52,56,61,62,66,67,74,75,78,79, - 80,91,54,70,73,16,17,89,30,107, - 4,14,15,18,19,20,21,29,31,22, - 23,24,25,26,92,5,27,28,32,33, - 34,35,36,37,38,39,40,41,108,45, - 46,49,50,51,53,57,58,59,65,71, - 77,88,99,103,104,105,106 - }; - }; - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - @Override - public final int terminalIndex(int index) { return terminalIndex[index]; } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = {0, - 114,0,0,0,116,120,121,122,123,124, - 0,125,126,127,128,129,130,131,0,132, - 111,110,142,0,0,0,135,163,0,0, - 115,119,141,0,0,0,154,0,159,161, - 0,162,0,0,0,112,134,172,173,174, - 0,118,150,160,169,144,0,164,167,168, - 171,0,145,146,147,148,149,151,0,153, - 158,113,117,133,136,137,138,139,140,143, - 0,152,156,0,0,157,166,176,109,0, - 0,0,155,0,165,170,175,0,177,178, - 0,179,180,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0 - }; - }; - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - @Override - public final int nonterminalIndex(int index) { return nonterminalIndex[index]; } - - public interface ScopePrefix { - public final static char scopePrefix[] = { - 120,151,130,59,69,159,26,186,35,87, - 105,75,6,12,16,40,83,52,141,202, - 212,216,52,52,195,52,1,1,1,44, - 47,92,115,47,220,20,145,206,177,137, - 165,165,165,165,165,95,95,95 - }; - }; - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - @Override - public final int scopePrefix(int index) { return scopePrefix[index]; } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { - 128,128,128,4,4,128,32,192,10,4, - 10,80,10,10,10,10,4,4,139,10, - 10,4,56,80,199,65,4,4,4,10, - 50,4,10,118,10,23,148,209,180,139, - 167,169,171,173,175,102,97,110 - }; - }; - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - @Override - public final int scopeSuffix(int index) { return scopeSuffix[index]; } - - public interface ScopeLhs { - public final static char scopeLhs[] = { - 65,63,65,28,28,63,32,111,51,28, - 45,28,6,6,6,51,28,28,70,6, - 5,5,28,28,19,28,103,102,101,49, - 61,28,42,53,3,88,70,5,112,70, - 79,78,77,76,75,45,43,45 - }; - }; - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - @Override - public final int scopeLhs(int index) { return scopeLhs[index]; } - - public interface ScopeLa { - public final static byte scopeLa[] = { - 52,52,52,58,58,52,52,95,39,58, - 39,19,39,39,39,39,58,58,75,39, - 39,58,4,19,68,32,58,58,58,39, - 2,58,39,1,39,69,1,39,101,75, - 1,53,54,54,48,2,2,2 - }; - }; - public final static byte scopeLa[] = ScopeLa.scopeLa; - @Override - public final int scopeLa(int index) { return scopeLa[index]; } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { - 28,28,28,32,32,28,19,-1,36,32, - 9,32,43,43,43,36,32,32,5,43, - 43,43,32,32,76,32,17,1,3,36, - 38,32,9,11,43,103,5,43,-1,5, - 29,29,29,29,29,9,9,9 - }; - }; - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - @Override - public final int scopeStateSet(int index) { return scopeStateSet[index]; } - - public interface ScopeRhs { - public final static char scopeRhs[] = {0, - 154,23,0,110,0,159,2,31,0,111, - 0,159,2,30,0,159,2,29,0,206, - 118,0,31,149,0,169,204,118,15,145, - 0,112,0,0,165,118,2,156,0,165, - 118,2,0,168,2,0,161,118,0,172, - 0,194,118,23,0,9,110,0,127,32, - 194,118,23,0,69,132,110,0,127,194, - 118,32,23,0,194,118,32,23,0,132, - 110,0,127,32,23,0,127,194,118,23, - 0,127,23,0,149,0,2,0,165,111, - 0,2,111,0,165,118,2,149,0,2, - 0,164,111,0,160,2,0,159,0,169, - 192,118,15,108,201,53,0,112,0,169, - 192,118,15,201,53,0,144,0,113,0, - 200,118,144,0,118,144,0,155,113,0, - 188,118,15,199,108,198,175,0,188,118, - 15,198,175,0,187,0,148,0,147,0, - 146,0,145,0,144,0,214,94,0,77, - 2,115,111,113,0,214,128,138,2,98, - 0,53,0,0,138,78,125,0,29,132, - 0,159,2,18,0,159,2,0,111,119, - 0,197,2,112,0,138,23,112,0,138, - 2,0 - }; - }; - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - @Override - public final int scopeRhs(int index) { return scopeRhs[index]; } - - public interface ScopeState { - public final static char scopeState[] = {0, - 555,0,424,0,1797,1224,1763,0,1476,520, - 1396,1502,1360,1272,1214,0,655,0,591,489, - 450,1809,1787,1410,1244,398,0,1184,510,369, - 0,1535,1450,628,399,520,1743,1272,1214,1503, - 1655,0,1616,1593,1585,471,406,1334,612,1385, - 1372,1349,1492,1425,1481,1465,1454,1414,1675,1667, - 1656,1284,724,1696,1685,1647,1639,1624,1363,1226, - 1123,1506,1326,1171,1115,1187,1151,1131,591,1095, - 1075,1054,1033,737,1012,701,680,630,991,970, - 949,928,907,886,865,844,823,802,781,369, - 760,659,489,450,0 - }; - }; - public final static char scopeState[] = ScopeState.scopeState; - @Override - public final int scopeState(int index) { return scopeState[index]; } - - public interface InSymb { - public final static char inSymb[] = {0, - 0,196,118,181,31,30,29,18,25,24, - 7,6,4,11,17,16,2,112,116,115, - 119,117,121,120,123,122,125,124,113,38, - 2,2,2,2,159,138,144,118,76,61, - 2,23,7,6,63,62,4,67,66,65, - 64,56,57,11,71,70,73,72,78,77, - 74,88,87,86,84,85,83,82,81,80, - 79,69,159,159,159,159,128,118,23,2, - 157,156,182,13,183,175,184,55,54,185, - 53,186,187,108,197,138,115,115,117,117, - 117,117,116,116,120,119,119,122,121,138, - 124,123,128,128,128,128,15,145,161,136, - 32,127,118,4,168,118,2,23,198,176, - 176,201,176,68,118,15,136,4,118,127, - 194,166,165,134,118,167,118,154,4,108, - 15,108,15,118,4,136,194,32,127,4, - 2,147,149,118,38,165,199,118,15,118, - 204,118,136,118,127,127,160,118,2,161, - 15,188,144,189,118,192,108,193,169,38, - 206,61,23,207,118,166,118,118,118,192, - 169,69,38,153,69,154,61,23,166,165, - 202,188,200,68,160,2,118,169,154,38, - 38,68,161 - }; - }; - public final static char inSymb[] = InSymb.inSymb; - @Override - public final int inSymb(int index) { return inSymb[index]; } - - public interface Name { - public final static String name[] = { - "", - "[", - "(", - "{", - ".", - "->", - "++", - "--", - "&", - "*", - "+", - "-", - "~", - "!", - "/", - "%", - ">>", - "<<", - "<", - ">", - "<=", - ">=", - "==", - "!=", - "^", - "|", - "&&", - "||", - "?", - ":", - "...", - "=", - "*=", - "/=", - "%=", - "+=", - "-=", - ">>=", - "<<=", - "&=", - "^=", - "|=", - ",", - "$empty", - "auto", - "break", - "case", - "char", - "const", - "continue", - "default", - "do", - "double", - "else", - "enum", - "extern", - "float", - "for", - "goto", - "if", - "inline", - "int", - "long", - "register", - "restrict", - "return", - "short", - "signed", - "sizeof", - "static", - "struct", - "switch", - "typedef", - "union", - "unsigned", - "void", - "volatile", - "while", - "_Bool", - "_Complex", - "_Imaginary", - "integer", - "floating", - "charconst", - "stringlit", - "identifier", - "Completion", - "EndOfCompletion", - "Invalid", - "RightBracket", - "RightParen", - "RightBrace", - "SemiColon", - "MYTHREAD", - "THREADS", - "UPC_MAX_BLOCKSIZE", - "relaxed", - "shared", - "strict", - "upc_barrier", - "upc_localsizeof", - "upc_blocksizeof", - "upc_elemsizeof", - "upc_notify", - "upc_fence", - "upc_wait", - "upc_forall", - "ERROR_TOKEN", - "EOF_TOKEN", - "no_cast_start", - "]", - ")", - "}", - ";", - "identifier_token", - "expression", - "postfix_expression", - "member_name", - "type_id", - "initializer_list", - "unary_expression", - "cast_expression", - "multiplicative_expression", - "additive_expression", - "shift_expression", - "relational_expression", - "equality_expression", - "and_expression", - "exclusive_or_expression", - "inclusive_or_expression", - "logical_and_expression", - "logical_or_expression", - "assignment_expression", - "expression_list_actual", - "constant_expression", - "declaration_specifiers", - "simple_declaration_specifiers", - "struct_or_union_declaration_sp" + - "ecifiers", - "elaborated_declaration_specifi" + - "ers", - "enum_declaration_specifiers", - "typdef_name_declaration_specif" + - "iers", - "no_type_declaration_specifier", - "type_qualifier", - "no_type_declaration_specifiers", - "simple_type_specifier", - "struct_or_union_specifier", - "elaborated_specifier", - "enum_specifier", - "type_name_specifier", - "initializer", - "declarator", - "struct_or_union", - "struct_declaration_list", - "struct_declaration", - "specifier_qualifier_list", - "struct_declarator_list", - "complete_struct_declarator", - "enumerator_list", - "enumerator", - "direct_declarator", - "pointer_seq", - "array_direct_declarator", - "basic_direct_declarator", - "array_modifier", - "parameter_type_list", - "identifier_list", - "array_modifier_type_qualifiers", - "type_qualifier_list", - "parameter_list", - "parameter_declaration", - "complete_parameter_declarator", - "abstract_declarator", - "direct_abstract_declarator", - "basic_direct_abstract_declarat" + - "or", - "array_direct_abstract_declarat" + - "or", - "initializer_seq", - "designated_initializer", - "designation", - "designator_list", - "designator", - "layout_qualifier" - }; - }; - public final static String name[] = Name.name; - @Override - public final String name(int index) { return name[index]; } - - public final static int - ERROR_SYMBOL = 60, - SCOPE_UBOUND = 47, - SCOPE_SIZE = 48, - MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { return ERROR_SYMBOL; } - @Override - public final int getScopeUbound() { return SCOPE_UBOUND; } - @Override - public final int getScopeSize() { return SCOPE_SIZE; } - @Override - public final int getMaxNameLength() { return MAX_NAME_LENGTH; } - - public final static int - NUM_STATES = 223, - NT_OFFSET = 107, - LA_STATE_OFFSET = 2289, - MAX_LA = 2, - NUM_RULES = 368, - NUM_NONTERMINALS = 131, - NUM_SYMBOLS = 238, - SEGMENT_SIZE = 8192, - START_STATE = 1603, - IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 89, - EOLT_SYMBOL = 89, - ACCEPT_ACTION = 1908, - ERROR_ACTION = 1921; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { return NUM_STATES; } - @Override - public final int getNtOffset() { return NT_OFFSET; } - @Override - public final int getLaStateOffset() { return LA_STATE_OFFSET; } - @Override - public final int getMaxLa() { return MAX_LA; } - @Override - public final int getNumRules() { return NUM_RULES; } - @Override - public final int getNumNonterminals() { return NUM_NONTERMINALS; } - @Override - public final int getNumSymbols() { return NUM_SYMBOLS; } - @Override - public final int getSegmentSize() { return SEGMENT_SIZE; } - @Override - public final int getStartState() { return START_STATE; } - @Override - public final int getStartSymbol() { return lhs[0]; } - public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; } - @Override - public final int getEoftSymbol() { return EOFT_SYMBOL; } - @Override - public final int getEoltSymbol() { return EOLT_SYMBOL; } - @Override - public final int getAcceptAction() { return ACCEPT_ACTION; } - @Override - public final int getErrorAction() { return ERROR_ACTION; } - @Override - public final boolean isValidForParser() { return isValidForParser; } - @Override - public final boolean getBacktrack() { return BACKTRACK; } - - @Override + public interface IsKeyword { + public final static byte isKeyword[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + }; + + public final static byte isKeyword[] = IsKeyword.isKeyword; + + public final boolean isKeyword(int index) { + return isKeyword[index] != 0; + } + + public interface BaseCheck { + public final static short baseCheck[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4, + 4, 3, 3, 2, 2, 4, 1, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, + 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 2, 1, 0, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 2, 4, 1, 2, 1, 1, 1, 2, 5, 7, 5, 1, 0, 7, 2, 5, 9, 8, 3, 2, 2, 2, 3, 2, + 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 3, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 8, 0, 0, 1, 1, 3, 3, 3, 0, 1, 0, 1, 2, 4, 2, 1, 1, + 1, 3, 1, 1, 2, 3, 7, 8, 0, 1, 0, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 2, 2, 1, 5, 3, 1, + 3, 5, 1, 3, 1, 3, 2, 4, 3, 5, 4, 6, 6, 3, 5, 1, 3, 4, 5, 6, 0, 1, 2, 1, 3, 1, 1, 3, 2, 1, 1, 1, 1, 2, 1, + 2, 3, 1, 1, 1, 3, 1, 2, 2, 2, 3, 4, 5, 1, 1, 7, 3, 0, 0, 1, 1, 3, 3, 4, 1, 1, 2, 3, 2, 3, 2, 1, 0, 1, 2, + 1, 1, 1, 1, 1, 2, 1, 3, 6, 4, 2, 4, 1, 1, 1, 1, 1, 2, 4, 2, 4, 2, 4, 1, 1, 2, 1, 1, 1, 3, 3, 2, 1, 3, 2, + 3, 2, 3, 2, 2, 11, 10, 10, 9, 10, 9, 9, 8, 10, 9, 9, 8, 9, 8, 8, 7, 10, 9, 9, 8, 9, 8, 8, 7, 1, 1, -38, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -129, 0, -77, -81, + -138, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, -172, 0, 0, 0, 0, 0, 0, + -86, 0, 0, 0, 0, 0, 0, 0, -39, 0, -40, 0, 0, 0, 0, 0, 0, 0, 0, -154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -145, 0, 0, -4, 0, -88, -142, 0, -18, -117, -180, 0, 0, 0, 0, + 0, -135, 0, -196, -35, 0, -203, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -194, 0, -209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -89, -19, -84, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, 0, 0, 0, + 0, 0, 0, 0, -21, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, + 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, + 0, 0, 0, 0, -131, 0, -132, 0, -78, -93, 0, -24, -222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -165, 0, -150, -144, -133, 0, 0, 0, 0, 0, -122, 0, -25, -184, 0, -10, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -26, 0, 0, -177, 0, 0, 0, 0, -113, -83, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -161, -85, -155, 0, 0, -28, 0, 0, 0, 0, 0, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -29, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0, 0, -210, + 0, -7, 0, 0, 0, 0, 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -199, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, -56, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -221, 0, -136, 0, 0, 0, 0, 0, 0, 0, -97, 0, -98, 0, -114, -207, 0, 0, -48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -99, -100, -101, 0, + 0, -162, -102, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -223, 0, 0, + 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, -80, -87, 0, -8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -103, -151, 0, -153, -104, 0, 0, 0, 0, 0, -182, -90, 0, -163, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, -156, -126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, 0, -183, 0, 0, + 0, 0, -171, 0, 0, 0, 0, -106, 0, 0, 0, 0, -140, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, + 0, 0, 0, -169, 0, -1, 0, 0, -107, 0, 0, -108, 0, -109, 0, -148, 0, 0, -160, 0, 0, 0, 0, 0, 0, 0, -12, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, -37, -45, + 0, 0, 0, 0, 0, 0, 0, -186, -164, 0, -46, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, -178, -15, 0, + 0, 0, 0, 0, 0, 0, -159, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, -111, -173, -17, 0, -112, 0, + -181, 0, 0, -118, -31, 0, 0, 0, -189, -32, -200, 0, 0, -120, -137, 0, 0, 0, 0, 0, 0, -170, 0, 0, 0, 0, + 0, 0, 0, -119, 0, 0, -33, 0, 0, 0, 0, -146, -152, 0, 0, 0, -123, 0, -34, -204, 0, -167, 0, -168, -185, + 0, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, 0, 0, 0, -187, 0, 0, -115, 0, 0, 0, 0, 0, 0, 0, 0, + -197, -198, 0, -188, 0, 0, 0, 0, 0, -195, 0, 0, 0, -116, 0, -147, -212, 0, -175, 0, -41, -176, -206, 0, + 0, 0, 0, 0, 0, 0, -217, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, 0, 0, 0, 0, 0, -218, 0, 0, + 0, -59, 0, 0, 0, 0, 0, 0, -215, -211, -220, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + }; + + public final static short baseCheck[] = BaseCheck.baseCheck; + + @Override + public final int baseCheck(int index) { + return baseCheck[index]; + } + + public final static short rhs[] = baseCheck; + + @Override + public final int rhs(int index) { + return rhs[index]; + }; + + public interface BaseAction { + public final static char baseAction[] = { 89, 11, 105, 22, 22, 21, 21, 46, 46, 72, 72, 1, 1, 2, 2, 2, 2, 3, 3, + 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 62, 62, 73, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9, 9, 9, 10, + 10, 10, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 106, 31, 30, 90, 90, 74, 74, 47, 107, 107, 107, 107, 107, 107, 107, 108, + 108, 108, 109, 109, 114, 114, 115, 115, 110, 110, 111, 111, 111, 117, 117, 112, 112, 112, 112, 112, 113, + 113, 113, 113, 113, 116, 116, 27, 27, 27, 27, 27, 33, 33, 33, 80, 80, 75, 75, 75, 75, 76, 76, 76, 77, + 77, 77, 78, 78, 78, 79, 79, 79, 118, 118, 119, 119, 120, 34, 36, 36, 36, 36, 36, 56, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 66, 63, 63, 91, 92, 68, 68, 64, 64, 64, 69, 81, 81, 82, 82, 70, 70, 70, 37, + 93, 93, 83, 84, 84, 84, 65, 65, 94, 85, 85, 86, 86, 71, 71, 23, 24, 24, 24, 35, 53, 53, 39, 39, 39, 39, + 42, 42, 44, 40, 40, 41, 45, 45, 121, 121, 43, 122, 122, 95, 95, 28, 28, 28, 28, 28, 28, 28, 28, 28, 87, + 54, 54, 54, 54, 29, 59, 59, 58, 58, 58, 60, 60, 55, 55, 96, 96, 52, 52, 61, 61, 61, 48, 48, 48, 49, 50, + 50, 50, 51, 51, 51, 51, 67, 67, 32, 32, 38, 98, 97, 97, 97, 97, 88, 99, 100, 100, 101, 101, 102, 102, + 123, 123, 124, 124, 125, 125, 125, 125, 127, 127, 126, 126, 126, 128, 129, 129, 89, 89, 2, 2, 2, 6, 6, + 6, 6, 6, 6, 23, 23, 25, 25, 26, 26, 103, 103, 103, 107, 130, 130, 130, 130, 130, 130, 130, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 131, 131, 1, 1304, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 675, 721, 1186, 1162, 1236, 1223, + 1277, 1246, 74, 91, 450, 1811, 135, 213, 326, 327, 80, 1213, 582, 588, 88, 278, 137, 134, 136, 160, 606, + 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 675, 721, 1186, 1162, 1236, 1223, 1708, 175, 139, 166, 275, + 1796, 1549, 28, 119, 143, 146, 149, 152, 1717, 431, 231, 191, 31, 191, 31, 513, 1245, 1273, 1504, 1533, + 1548, 1184, 542, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 424, 721, 1186, 1162, 1236, 1223, 1277, + 1246, 74, 281, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 282, 721, 1186, 1162, 1236, 1712, 1717, + 351, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 424, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, + 281, 225, 179, 25, 277, 24, 583, 176, 287, 59, 53, 815, 282, 396, 1832, 555, 293, 63, 1717, 915, 443, + 526, 191, 1784, 135, 213, 326, 327, 443, 288, 255, 213, 326, 327, 137, 134, 136, 160, 1570, 274, 1728, + 398, 255, 213, 326, 327, 914, 289, 926, 19, 219, 1450, 221, 1535, 223, 224, 229, 139, 166, 269, 628, + 399, 272, 284, 143, 146, 149, 152, 290, 431, 326, 255, 213, 326, 327, 735, 1245, 1273, 1504, 1533, 1548, + 1184, 574, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 210, 721, 1186, 1162, 1236, 1223, 1277, 1246, + 74, 281, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 282, 721, 1186, 1162, 1609, 776, 1717, 281, + 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1756, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 1221, + 194, 239, 615, 78, 661, 276, 294, 291, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 193, 721, + 1186, 1162, 1236, 1223, 1277, 1246, 74, 91, 766, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1778, + 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 1580, 470, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, + 743, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, 64, 1179, 334, 606, 20, 17, 21, 18, 518, 43, 44, 1406, + 513, 22, 191, 187, 316, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1613, 721, 1186, 1162, 1236, + 1223, 1277, 1246, 74, 1693, 328, 240, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 443, 721, + 1186, 1162, 1236, 1223, 1277, 1246, 74, 92, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1244, + 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 85, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, + 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 84, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, + 1106, 1410, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 83, 606, 20, 17, 21, 18, 518, 1295, 44, 670, + 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 82, 606, 20, 17, 21, 18, 518, 1295, 44, + 670, 654, 1106, 1787, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 81, 606, 20, 17, 21, 18, 518, 1295, + 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 80, 606, 20, 17, 21, 18, 518, + 1295, 44, 670, 654, 1106, 1809, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 79, 606, 20, 17, 21, 18, + 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 78, 606, 20, 17, 21, + 18, 518, 1295, 44, 670, 654, 1106, 23, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 77, 606, 20, 17, 21, + 18, 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 76, 606, 20, 17, + 21, 18, 518, 1295, 44, 670, 654, 1106, 273, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 75, 606, 20, + 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 73, 606, + 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 279, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 1814, + 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, + 1817, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 280, 721, 1186, 1162, 1236, 1223, 1277, 1246, + 93, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 139, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, + 638, 20, 17, 21, 18, 518, 324, 1818, 606, 20, 17, 21, 18, 518, 43, 40, 606, 20, 17, 21, 18, 518, 43, 44, + 670, 654, 1106, 212, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, 606, 20, 17, 21, 18, 518, 43, 44, 670, + 654, 1106, 349, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, 670, 20, 17, 21, 18, 518, 322, 1862, 191, + 186, 537, 1752, 88, 225, 179, 16, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 202, 721, 1186, + 1162, 1236, 1223, 1277, 1246, 93, 135, 213, 326, 327, 712, 1727, 152, 398, 191, 188, 138, 134, 136, 160, + 743, 510, 6, 113, 1665, 606, 20, 17, 21, 18, 518, 43, 39, 203, 510, 24, 1743, 1214, 443, 140, 166, 274, + 241, 678, 383, 171, 144, 147, 150, 153, 197, 431, 218, 1450, 221, 1535, 223, 224, 229, 225, 1565, 267, + 628, 399, 272, 260, 263, 135, 213, 326, 327, 941, 814, 88, 264, 28, 230, 142, 134, 136, 160, 1717, 1684, + 606, 20, 17, 21, 18, 518, 43, 44, 1408, 277, 193, 325, 135, 213, 326, 327, 274, 141, 166, 1709, 798, + 1761, 145, 134, 136, 160, 261, 218, 1450, 221, 1535, 223, 224, 229, 191, 296, 267, 628, 399, 272, 443, + 1239, 702, 20, 17, 21, 18, 518, 320, 981, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 230, 721, + 1186, 1611, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 72, 721, 1562, 606, 20, 17, 21, 18, 518, + 43, 38, 1826, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 647, 1575, 606, 20, 17, 21, 18, 518, 43, + 44, 670, 654, 1106, 72, 1606, 53, 218, 1450, 221, 1535, 223, 224, 229, 227, 1826, 324, 450, 742, 191, + 298, 1859, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1445, 606, 20, 17, 21, 18, 518, 43, 44, 670, + 1522, 218, 1450, 221, 1535, 223, 224, 229, 28, 198, 200, 151, 458, 804, 1717, 1859, 813, 818, 1215, 579, + 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1446, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1447, 554, + 1181, 228, 199, 200, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1451, 606, 20, 17, 21, 18, 518, 43, 44, + 670, 1526, 502, 291, 844, 1728, 734, 20, 17, 21, 18, 518, 41, 1826, 1550, 219, 1450, 221, 1535, 223, + 224, 229, 614, 53, 277, 53, 646, 135, 213, 326, 327, 274, 63, 855, 1763, 839, 1735, 148, 134, 136, 160, + 218, 1450, 221, 1535, 223, 224, 229, 885, 232, 385, 267, 628, 399, 272, 1239, 135, 213, 326, 327, 1707, + 510, 710, 227, 981, 902, 151, 134, 136, 160, 679, 135, 213, 326, 327, 77, 1360, 1214, 180, 1727, 743, + 154, 134, 136, 160, 435, 20, 17, 21, 18, 518, 43, 36, 435, 20, 17, 21, 18, 518, 43, 36, 53, 243, 505, + 1743, 259, 187, 246, 1023, 350, 1751, 467, 1764, 743, 659, 333, 435, 20, 17, 21, 18, 518, 43, 36, 606, + 20, 17, 21, 18, 518, 43, 37, 1722, 87, 315, 332, 483, 195, 247, 606, 20, 17, 21, 18, 518, 43, 36, 606, + 20, 17, 21, 18, 518, 43, 35, 361, 606, 20, 17, 21, 18, 518, 43, 47, 805, 88, 1183, 606, 20, 17, 21, 18, + 518, 43, 46, 606, 20, 17, 21, 18, 518, 43, 45, 274, 385, 606, 20, 17, 21, 18, 518, 34, 390, 743, 1727, + 510, 606, 20, 17, 21, 18, 518, 33, 267, 628, 399, 272, 124, 513, 896, 53, 1214, 809, 1727, 53, 242, 266, + 930, 53, 520, 1805, 369, 63, 53, 805, 1797, 1767, 243, 707, 369, 254, 213, 326, 327, 369, 682, 1784, + 197, 520, 259, 87, 537, 1023, 445, 1751, 197, 53, 1655, 87, 537, 197, 541, 932, 87, 537, 1655, 124, 369, + 53, 180, 1655, 933, 529, 57, 682, 1784, 528, 63, 1759, 369, 771, 274, 1728, 197, 510, 813, 87, 537, 124, + 254, 213, 326, 327, 1655, 550, 197, 1848, 871, 87, 537, 197, 269, 628, 399, 272, 1655, 715, 169, 855, + 845, 1565, 254, 213, 326, 327, 124, 209, 510, 510, 901, 897, 329, 63, 204, 743, 516, 480, 743, 743, 28, + 1664, 1799, 510, 1214, 197, 1717, 88, 659, 254, 213, 326, 327, 842, 192, 1565, 209, 244, 516, 1214, 245, + 295, 28, 53, 737, 1532, 1224, 89, 1717, 63, 1724, 1799, 259, 53, 659, 1324, 1727, 1751, 283, 181, 884, + 479, 39, 743, 659, 557, 1033, 259, 192, 1921, 1065, 1921, 1751, 87, 712, 1921, 1921, 1921, 1921, 1812, + 1224, 1476, 234, 87, 1636, 297, 1921, 1921, 1921, 1921, 1921, 1921, 1860, 1921, 1921, 205, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 939, 1921, 0, 329, 701, 0, 20, 179, 0, 1, 2147, 0, + 1, 2158, 0 }; + }; + + public final static char baseAction[] = BaseAction.baseAction; + + @Override + public final int baseAction(int index) { + return baseAction[index]; + } + + public final static char lhs[] = baseAction; + + @Override + public final int lhs(int index) { + return lhs[index]; + }; + + public interface TermCheck { + public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 16, 17, 18, 19, + 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 1, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 0, 53, 54, 55, 0, 1, 0, 3, 2, 5, 0, 0, 8, 9, 10, 5, 12, 13, 14, 0, 1, 2, 16, 17, 0, + 0, 73, 0, 1, 23, 3, 6, 7, 70, 71, 0, 32, 33, 34, 35, 36, 37, 15, 72, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 0, 1, 52, 3, 60, 5, 0, 61, 8, 9, 10, 0, 12, 13, 14, 64, 65, 66, 67, 8, 9, + 10, 76, 12, 13, 14, 0, 68, 64, 65, 66, 67, 32, 33, 34, 35, 36, 37, 0, 0, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 5, 0, 0, 8, 9, 10, 0, 12, 13, 14, 8, 9, 10, 0, 12, 13, + 14, 0, 1, 0, 3, 56, 57, 4, 23, 0, 0, 32, 33, 34, 35, 36, 37, 56, 57, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 0, 4, 0, 8, 9, 10, 61, 12, 13, 14, 8, 9, 10, 0, 12, 13, 14, + 4, 77, 78, 0, 64, 65, 66, 67, 62, 63, 32, 33, 34, 35, 36, 37, 0, 0, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 0, 53, 54, 55, 0, 1, 2, 3, 4, 5, 6, 7, 62, 63, 0, 11, 2, 0, 0, 5, 16, 17, 18, 19, 20, 21, + 22, 74, 24, 25, 26, 27, 28, 29, 30, 31, 32, 23, 38, 0, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 11, 4, 0, 39, 5, + 16, 17, 18, 19, 20, 21, 22, 58, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 0, 11, + 0, 11, 2, 38, 4, 15, 16, 17, 18, 19, 20, 21, 22, 58, 24, 25, 26, 27, 28, 29, 30, 31, 0, 23, 0, 62, 63, + 59, 4, 0, 8, 9, 10, 69, 12, 13, 14, 0, 1, 2, 75, 4, 52, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 32, + 33, 34, 35, 36, 37, 23, 72, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 1, 2, 3, 4, 5, 6, 7, 0, + 59, 0, 11, 2, 5, 4, 0, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 0, 23, 0, 0, 1, 2, + 3, 4, 5, 6, 7, 11, 0, 0, 11, 39, 0, 5, 5, 16, 17, 18, 19, 20, 21, 22, 58, 24, 25, 26, 27, 28, 29, 30, + 31, 0, 1, 2, 0, 1, 2, 3, 4, 0, 6, 7, 0, 56, 57, 11, 38, 39, 39, 0, 16, 17, 18, 19, 20, 21, 22, 58, 24, + 25, 26, 27, 28, 29, 30, 31, 0, 1, 89, 3, 0, 0, 1, 2, 3, 4, 0, 6, 7, 0, 68, 15, 11, 0, 1, 2, 15, 16, 17, + 18, 19, 20, 21, 22, 60, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 38, 6, 7, 0, 0, 1, 11, 3, 74, 0, + 15, 16, 17, 18, 19, 20, 21, 22, 15, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 23, 6, 7, 0, 0, 1, + 11, 3, 69, 6, 7, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 0, 6, 7, + 0, 0, 1, 11, 3, 0, 6, 7, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, + 0, 6, 7, 0, 0, 5, 11, 0, 1, 23, 3, 16, 17, 18, 19, 20, 21, 22, 15, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, + 2, 3, 4, 0, 6, 7, 0, 4, 0, 11, 39, 0, 1, 38, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, + 31, 0, 1, 2, 3, 4, 0, 6, 7, 0, 0, 0, 11, 0, 1, 5, 3, 16, 17, 18, 19, 20, 21, 22, 15, 24, 25, 26, 27, 28, + 29, 30, 31, 0, 1, 2, 3, 4, 59, 6, 7, 59, 0, 0, 11, 2, 0, 70, 71, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, + 26, 27, 28, 29, 30, 31, 0, 23, 2, 58, 4, 5, 0, 0, 8, 9, 10, 0, 12, 13, 14, 0, 0, 0, 1, 2, 0, 4, 0, 23, + 8, 9, 10, 5, 12, 13, 14, 0, 32, 33, 34, 35, 36, 37, 23, 39, 23, 0, 0, 2, 0, 38, 0, 0, 32, 33, 34, 35, + 36, 37, 8, 9, 10, 0, 12, 13, 14, 0, 56, 57, 23, 8, 9, 10, 0, 12, 13, 14, 0, 0, 52, 0, 56, 57, 32, 33, + 34, 35, 36, 37, 73, 38, 0, 0, 15, 32, 33, 34, 35, 36, 37, 8, 9, 10, 0, 12, 13, 14, 0, 0, 0, 0, 8, 9, 10, + 5, 12, 13, 14, 69, 0, 0, 0, 0, 15, 32, 33, 34, 35, 36, 37, 8, 9, 10, 0, 12, 13, 14, 0, 0, 0, 0, 8, 9, + 10, 23, 12, 13, 14, 0, 1, 2, 0, 15, 5, 15, 15, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 23, 15, + 15, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 75, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + }; + + public final static byte termCheck[] = TermCheck.termCheck; + + @Override + public final int termCheck(int index) { + return termCheck[index]; + } + + public interface TermAction { + public final static char termAction[] = { 0, 1921, 1932, 1710, 1933, 1639, 68, 1624, 1363, 2135, 2136, 2137, + 1647, 2251, 655, 2252, 62, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 66, 1226, 1123, 2238, 2239, 2240, + 1326, 1171, 1115, 2084, 2085, 2083, 2138, 2086, 2082, 1921, 2159, 2089, 2094, 2093, 2091, 2092, 2090, + 2095, 2096, 2088, 2097, 2098, 2099, 1, 1383, 653, 515, 1921, 1, 32, 1, 1816, 191, 1921, 59, 1, 1, 1, + 1929, 1, 1, 1, 1, 2147, 1502, 1947, 1948, 61, 51, 612, 1921, 1932, 1842, 1933, 1284, 724, 1385, 1372, + 253, 1, 1, 1, 1, 1, 1, 1523, 1334, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1921, 1, 1928, 1, + 2117, 190, 182, 441, 1, 1, 1, 1921, 1, 1, 1, 1481, 1465, 1454, 1414, 2135, 2136, 2137, 439, 2251, 655, + 2252, 54, 1151, 1481, 1465, 1454, 1414, 1, 1, 1, 1, 1, 1, 58, 183, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 190, 1, 1, 1, 1921, 1, 72, 1, 2117, 191, 1921, 248, 1, 1, 1, 286, 1, 1, 1, 2135, 2136, 2137, 60, 2251, + 655, 2252, 1921, 1932, 48, 1933, 1425, 1492, 1675, 1075, 1921, 1921, 1, 1, 1, 1, 1, 1, 1425, 1492, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1921, 1932, 50, 1933, 2117, 70, 1675, 249, 2135, 2136, 2137, + 1318, 2251, 655, 2252, 1, 1, 1, 1921, 1, 1, 1, 400, 406, 1852, 1921, 1481, 1465, 1454, 1414, 1667, 1656, + 2084, 2085, 2083, 2138, 2086, 2082, 1921, 1921, 2089, 2094, 2093, 2091, 2092, 2090, 2095, 2096, 2088, + 2097, 2098, 2099, 88, 1383, 653, 515, 1, 1932, 1710, 1933, 1585, 1925, 1624, 1363, 1667, 1656, 1, 1647, + 1503, 1921, 1921, 1927, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 471, 1226, 1123, 2238, 2239, 2240, + 1326, 1171, 1115, 680, 630, 760, 1921, 1932, 1710, 1933, 1616, 1925, 1624, 1363, 49, 43, 1921, 1647, + 1675, 1, 1926, 1931, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 1924, 1226, 1123, 2238, 2239, 2240, 1326, + 1171, 1115, 1054, 64, 67, 1, 1932, 1710, 1933, 1639, 29, 1624, 1363, 1921, 1349, 265, 1647, 1503, 1396, + 1, 3109, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 1924, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, + 129, 630, 1, 1667, 1656, 2179, 253, 1921, 2135, 2136, 2137, 991, 2251, 655, 2252, 262, 2147, 1272, 1930, + 1, 29, 970, 949, 928, 907, 886, 844, 865, 823, 802, 781, 1921, 2084, 2085, 2083, 2138, 2086, 2082, 630, + 1334, 2089, 2094, 2093, 2091, 2092, 2090, 2095, 2096, 2088, 2097, 2098, 2099, 1921, 1932, 1710, 1933, + 1639, 1925, 1624, 1363, 1921, 2179, 268, 1647, 1503, 1927, 253, 1921, 1696, 1685, 1506, 1934, 1935, + 1936, 1937, 57, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 65, 630, 1921, 1921, 1932, 1710, 1933, + 1593, 1925, 1624, 1363, 1349, 1921, 1, 1647, 1926, 1921, 1927, 90, 1696, 1685, 1506, 1934, 1935, 1936, + 1937, 1924, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1, 2147, 1502, 1921, 1, 1, 1, 1, 1921, 1, 1, + 71, 1425, 1492, 1, 1861, 1926, 90, 1921, 1, 1, 1, 1, 1, 1, 1, 1924, 1, 1, 1, 1, 1, 1, 1, 1, 1921, 1932, + 1908, 1933, 256, 1, 1932, 1710, 1933, 1639, 1921, 1624, 1363, 211, 1012, 1525, 1647, 253, 2147, 1502, + 3109, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 2237, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, + 1921, 1932, 1710, 1933, 1639, 1211, 1624, 1363, 1921, 185, 3233, 1647, 3233, 471, 271, 3109, 1696, 1685, + 1506, 1934, 1935, 1936, 1937, 3109, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1710, + 1933, 1639, 630, 1624, 1363, 53, 184, 3239, 1647, 3239, 1095, 1284, 724, 1696, 1685, 1506, 1934, 1935, + 1936, 1937, 1921, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1718, 1933, 1639, 1921, + 1624, 1363, 52, 206, 3240, 1647, 3240, 1921, 1284, 724, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 329, + 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1723, 1933, 1639, 1, 1624, 1363, 325, 30, + 1927, 1647, 208, 1932, 1909, 1933, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 3109, 1226, 1123, 2238, + 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1746, 1933, 1639, 1921, 1624, 1363, 63, 1274, 1, 1647, 1926, + 1, 1918, 489, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 1921, 1226, 1123, 2238, 2239, 2240, 1326, 1171, + 1115, 1921, 1932, 1758, 1933, 1639, 1921, 1624, 1363, 323, 1921, 1921, 1647, 207, 531, 1925, 531, 1696, + 1685, 1506, 1934, 1935, 1936, 1937, 3109, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1, 1932, 1710, + 1933, 1639, 2178, 1624, 1363, 2179, 1921, 270, 1647, 380, 1921, 1385, 1372, 1696, 1685, 1506, 1934, + 1935, 1936, 1937, 1921, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 20, 630, 1912, 1924, 1912, 1912, + 56, 30, 179, 179, 179, 69, 179, 179, 179, 220, 130, 268, 2147, 1272, 55, 253, 285, 1912, 2135, 2136, + 2137, 519, 2251, 655, 2252, 1921, 179, 179, 179, 179, 179, 179, 630, 1912, 630, 222, 1921, 417, 1921, + 1950, 131, 207, 2084, 2085, 2083, 2138, 2086, 2082, 2135, 2136, 2137, 132, 2251, 655, 2252, 1921, 1425, + 1492, 630, 2135, 2136, 2137, 1921, 2251, 655, 2252, 1921, 321, 519, 1921, 1425, 1492, 2084, 2085, 2083, + 2138, 2086, 2082, 612, 3035, 201, 133, 3109, 2084, 2085, 2083, 2138, 2086, 2082, 2135, 2136, 2137, 250, + 2251, 655, 2252, 1921, 42, 1, 1921, 1, 1, 1, 1931, 1, 1, 1, 591, 1921, 1921, 292, 251, 3109, 2084, 2085, + 2083, 2138, 2086, 2082, 2135, 2136, 2137, 252, 2251, 655, 2252, 1921, 1921, 1921, 1921, 2135, 2136, + 2137, 1131, 2251, 655, 2252, 1, 1915, 1272, 189, 1398, 1927, 1601, 1714, 1921, 189, 189, 1187, 1921, + 1921, 1921, 1921, 1921, 1921, 185, 1921, 1921, 1921, 1921, 630, 184, 206, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1411, 1921, 1930, 1921, 1921, 1926 }; + }; + + public final static char termAction[] = TermAction.termAction; + + @Override + public final int termAction(int index) { + return termAction[index]; + } + + public interface Asb { + public final static char asb[] = { 0, 443, 1, 89, 69, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 119, 31, + 51, 48, 55, 53, 61, 59, 63, 62, 65, 64, 37, 89, 119, 119, 119, 119, 318, 318, 263, 119, 354, 354, 472, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 318, 318, 318, 318, 29, 267, 80, 321, 316, 315, 235, 112, 247, 27, 247, 27, 27, 247, + 27, 247, 139, 269, 318, 73, 48, 48, 53, 53, 53, 53, 51, 51, 59, 55, 55, 62, 61, 402, 64, 63, 195, 195, + 195, 195, 387, 29, 263, 267, 83, 73, 162, 170, 318, 404, 324, 170, 27, 354, 354, 27, 354, 89, 387, 5, + 267, 255, 162, 73, 169, 80, 318, 261, 139, 317, 326, 73, 170, 29, 357, 29, 390, 5, 255, 255, 89, 89, 73, + 170, 321, 397, 396, 267, 326, 318, 29, 357, 390, 390, 392, 77, 255, 162, 73, 73, 318, 404, 324, 261, + 357, 387, 436, 357, 390, 392, 467, 392, 387, 3, 470, 354, 89, 76, 162, 255, 326, 357, 438, 392, 387, 89, + 354, 31, 7, 73, 354, 89, 255, 318, 317, 387, 231, 89, 230, 108, 267, 387, 73, 355, 438, 89, 108 }; + }; + + public final static char asb[] = Asb.asb; + + @Override + public final int asb(int index) { + return asb[index]; + } + + public interface Asr { + public final static byte asr[] = { 0, 89, 0, 5, 52, 23, 61, 16, 17, 11, 4, 6, 7, 24, 25, 18, 29, 30, 31, 2, 19, + 20, 21, 22, 26, 27, 28, 1, 3, 15, 0, 23, 2, 61, 76, 16, 17, 69, 79, 80, 81, 82, 83, 85, 84, 86, 87, 88, + 4, 62, 63, 6, 7, 57, 56, 64, 65, 66, 67, 70, 71, 11, 72, 73, 74, 52, 75, 77, 78, 68, 39, 89, 38, 58, 5, + 0, 69, 23, 61, 0, 58, 5, 32, 8, 9, 10, 12, 13, 14, 19, 20, 21, 22, 26, 27, 28, 3, 16, 17, 11, 6, 7, 24, + 25, 18, 29, 30, 31, 4, 2, 1, 0, 5, 68, 38, 58, 39, 75, 23, 18, 19, 20, 21, 22, 2, 16, 17, 11, 4, 6, 7, + 24, 25, 26, 27, 28, 29, 30, 31, 1, 3, 53, 54, 55, 48, 40, 45, 43, 44, 42, 41, 46, 47, 49, 50, 51, 37, + 34, 32, 33, 36, 35, 8, 9, 10, 13, 12, 14, 0, 32, 58, 5, 16, 17, 11, 4, 6, 7, 24, 25, 18, 29, 30, 31, 2, + 1, 3, 19, 20, 21, 22, 26, 27, 28, 0, 11, 4, 6, 7, 62, 63, 56, 57, 64, 65, 66, 67, 70, 71, 72, 73, 74, + 77, 78, 69, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 58, 39, 52, 89, 15, 68, 75, 5, 38, 0, 48, 40, 45, + 43, 44, 42, 41, 46, 47, 49, 50, 51, 68, 75, 37, 34, 32, 33, 36, 35, 8, 9, 10, 12, 13, 14, 38, 1, 5, 39, + 2, 23, 4, 0, 9, 32, 37, 10, 36, 35, 34, 8, 33, 12, 13, 14, 61, 76, 16, 17, 11, 6, 7, 62, 63, 56, 57, 64, + 65, 66, 67, 70, 71, 72, 73, 74, 77, 78, 69, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 4, 2, 23, 38, 39, 5, + 0, 4, 2, 23, 39, 5, 33, 40, 8, 41, 53, 34, 42, 35, 43, 44, 36, 9, 45, 46, 32, 54, 37, 55, 47, 48, 10, + 49, 50, 51, 12, 13, 14, 59, 3, 1, 0, 33, 40, 8, 41, 53, 34, 42, 35, 43, 44, 36, 9, 45, 46, 32, 54, 37, + 55, 47, 48, 10, 49, 50, 51, 1, 3, 12, 13, 14, 60, 5, 52, 0, 1, 3, 5, 52, 38, 0, 2, 5, 38, 39, 75, 23, + 68, 0, 4, 33, 40, 8, 41, 53, 34, 42, 35, 43, 44, 36, 9, 45, 46, 32, 54, 37, 55, 47, 48, 10, 49, 50, 51, + 1, 3, 12, 13, 14, 59, 0, 75, 5, 4, 1, 2, 68, 0, 18, 19, 20, 21, 22, 1, 3, 2, 16, 17, 11, 4, 6, 7, 24, + 25, 26, 27, 28, 29, 30, 31, 60, 0, 5, 38, 52, 69, 0, 5, 39, 18, 19, 20, 21, 22, 1, 3, 2, 16, 17, 11, 4, + 6, 7, 24, 25, 26, 27, 28, 29, 30, 31, 0 }; + }; + + public final static byte asr[] = Asr.asr; + + @Override + public final int asr(int index) { + return asr[index]; + } + + public interface Nasb { + public final static byte nasb[] = { 0, 99, 35, 26, 35, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 102, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 26, 102, 102, 102, 102, 10, 10, 85, 1, 21, 21, 122, 103, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 103, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 10, 10, 10, 10, 12, 57, 48, 84, 15, 15, 65, 52, 66, 19, 66, 82, 82, 66, 81, 66, 60, 35, 10, + 50, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 12, 12, 12, 12, 79, 35, 106, 35, 54, + 50, 110, 49, 10, 89, 9, 49, 7, 7, 7, 7, 7, 26, 44, 79, 35, 42, 110, 50, 49, 36, 10, 75, 28, 35, 91, 50, + 49, 68, 79, 35, 79, 24, 42, 79, 26, 26, 50, 49, 74, 15, 15, 57, 91, 10, 35, 114, 79, 7, 97, 17, 79, 110, + 50, 50, 10, 89, 9, 38, 79, 44, 94, 70, 7, 97, 35, 35, 44, 23, 35, 7, 26, 46, 110, 36, 118, 114, 77, 97, + 44, 26, 7, 112, 25, 50, 7, 26, 36, 10, 10, 44, 95, 26, 35, 77, 57, 44, 50, 35, 77, 26, 40 }; + }; + + public final static byte nasb[] = Nasb.nasb; + + @Override + public final int nasb(int index) { + return nasb[index]; + } + + public interface Nasr { + public final static char nasr[] = { 0, 80, 78, 77, 68, 76, 75, 1, 0, 11, 21, 0, 38, 32, 0, 28, 0, 100, 0, 91, 0, + 73, 0, 88, 11, 38, 5, 0, 80, 79, 78, 77, 68, 76, 75, 0, 23, 0, 50, 49, 42, 40, 29, 0, 46, 0, 102, 0, 11, + 5, 22, 0, 103, 0, 5, 11, 0, 29, 54, 0, 68, 63, 64, 65, 66, 56, 33, 0, 92, 0, 11, 37, 70, 0, 21, 50, 49, + 42, 40, 11, 0, 94, 69, 0, 21, 49, 50, 11, 0, 29, 54, 11, 27, 0, 11, 72, 0, 62, 0, 11, 89, 0, 37, 11, 31, + 0, 50, 49, 29, 0, 59, 0, 98, 0, 82, 11, 37, 0, 95, 11, 27, 0, 11, 90, 0 }; + }; + + public final static char nasr[] = Nasr.nasr; + + @Override + public final int nasr(int index) { + return nasr[index]; + } + + public interface TerminalIndex { + public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 10, 11, 48, 64, 76, 8, 96, 97, 98, 3, 6, 7, + 68, 81, 82, 83, 84, 1, 12, 13, 93, 94, 95, 100, 101, 102, 69, 44, 55, 60, 63, 72, 42, 90, 47, 52, 56, + 61, 62, 66, 67, 74, 75, 78, 79, 80, 91, 54, 70, 73, 16, 17, 89, 30, 107, 4, 14, 15, 18, 19, 20, 21, 29, + 31, 22, 23, 24, 25, 26, 92, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 108, 45, 46, 49, 50, 51, + 53, 57, 58, 59, 65, 71, 77, 88, 99, 103, 104, 105, 106 }; + }; + + public final static char terminalIndex[] = TerminalIndex.terminalIndex; + + @Override + public final int terminalIndex(int index) { + return terminalIndex[index]; + } + + public interface NonterminalIndex { + public final static char nonterminalIndex[] = { 0, 114, 0, 0, 0, 116, 120, 121, 122, 123, 124, 0, 125, 126, 127, + 128, 129, 130, 131, 0, 132, 111, 110, 142, 0, 0, 0, 135, 163, 0, 0, 115, 119, 141, 0, 0, 0, 154, 0, 159, + 161, 0, 162, 0, 0, 0, 112, 134, 172, 173, 174, 0, 118, 150, 160, 169, 144, 0, 164, 167, 168, 171, 0, + 145, 146, 147, 148, 149, 151, 0, 153, 158, 113, 117, 133, 136, 137, 138, 139, 140, 143, 0, 152, 156, 0, + 0, 157, 166, 176, 109, 0, 0, 0, 155, 0, 165, 170, 175, 0, 177, 178, 0, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + }; + + public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; + + @Override + public final int nonterminalIndex(int index) { + return nonterminalIndex[index]; + } + + public interface ScopePrefix { + public final static char scopePrefix[] = { 120, 151, 130, 59, 69, 159, 26, 186, 35, 87, 105, 75, 6, 12, 16, 40, + 83, 52, 141, 202, 212, 216, 52, 52, 195, 52, 1, 1, 1, 44, 47, 92, 115, 47, 220, 20, 145, 206, 177, 137, + 165, 165, 165, 165, 165, 95, 95, 95 }; + }; + + public final static char scopePrefix[] = ScopePrefix.scopePrefix; + + @Override + public final int scopePrefix(int index) { + return scopePrefix[index]; + } + + public interface ScopeSuffix { + public final static char scopeSuffix[] = { 128, 128, 128, 4, 4, 128, 32, 192, 10, 4, 10, 80, 10, 10, 10, 10, 4, + 4, 139, 10, 10, 4, 56, 80, 199, 65, 4, 4, 4, 10, 50, 4, 10, 118, 10, 23, 148, 209, 180, 139, 167, 169, + 171, 173, 175, 102, 97, 110 }; + }; + + public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; + + @Override + public final int scopeSuffix(int index) { + return scopeSuffix[index]; + } + + public interface ScopeLhs { + public final static char scopeLhs[] = { 65, 63, 65, 28, 28, 63, 32, 111, 51, 28, 45, 28, 6, 6, 6, 51, 28, 28, + 70, 6, 5, 5, 28, 28, 19, 28, 103, 102, 101, 49, 61, 28, 42, 53, 3, 88, 70, 5, 112, 70, 79, 78, 77, 76, + 75, 45, 43, 45 }; + }; + + public final static char scopeLhs[] = ScopeLhs.scopeLhs; + + @Override + public final int scopeLhs(int index) { + return scopeLhs[index]; + } + + public interface ScopeLa { + public final static byte scopeLa[] = { 52, 52, 52, 58, 58, 52, 52, 95, 39, 58, 39, 19, 39, 39, 39, 39, 58, 58, + 75, 39, 39, 58, 4, 19, 68, 32, 58, 58, 58, 39, 2, 58, 39, 1, 39, 69, 1, 39, 101, 75, 1, 53, 54, 54, 48, + 2, 2, 2 }; + }; + + public final static byte scopeLa[] = ScopeLa.scopeLa; + + @Override + public final int scopeLa(int index) { + return scopeLa[index]; + } + + public interface ScopeStateSet { + public final static byte scopeStateSet[] = { 28, 28, 28, 32, 32, 28, 19, -1, 36, 32, 9, 32, 43, 43, 43, 36, 32, + 32, 5, 43, 43, 43, 32, 32, 76, 32, 17, 1, 3, 36, 38, 32, 9, 11, 43, 103, 5, 43, -1, 5, 29, 29, 29, 29, + 29, 9, 9, 9 }; + }; + + public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; + + @Override + public final int scopeStateSet(int index) { + return scopeStateSet[index]; + } + + public interface ScopeRhs { + public final static char scopeRhs[] = { 0, 154, 23, 0, 110, 0, 159, 2, 31, 0, 111, 0, 159, 2, 30, 0, 159, 2, 29, + 0, 206, 118, 0, 31, 149, 0, 169, 204, 118, 15, 145, 0, 112, 0, 0, 165, 118, 2, 156, 0, 165, 118, 2, 0, + 168, 2, 0, 161, 118, 0, 172, 0, 194, 118, 23, 0, 9, 110, 0, 127, 32, 194, 118, 23, 0, 69, 132, 110, 0, + 127, 194, 118, 32, 23, 0, 194, 118, 32, 23, 0, 132, 110, 0, 127, 32, 23, 0, 127, 194, 118, 23, 0, 127, + 23, 0, 149, 0, 2, 0, 165, 111, 0, 2, 111, 0, 165, 118, 2, 149, 0, 2, 0, 164, 111, 0, 160, 2, 0, 159, 0, + 169, 192, 118, 15, 108, 201, 53, 0, 112, 0, 169, 192, 118, 15, 201, 53, 0, 144, 0, 113, 0, 200, 118, + 144, 0, 118, 144, 0, 155, 113, 0, 188, 118, 15, 199, 108, 198, 175, 0, 188, 118, 15, 198, 175, 0, 187, + 0, 148, 0, 147, 0, 146, 0, 145, 0, 144, 0, 214, 94, 0, 77, 2, 115, 111, 113, 0, 214, 128, 138, 2, 98, 0, + 53, 0, 0, 138, 78, 125, 0, 29, 132, 0, 159, 2, 18, 0, 159, 2, 0, 111, 119, 0, 197, 2, 112, 0, 138, 23, + 112, 0, 138, 2, 0 }; + }; + + public final static char scopeRhs[] = ScopeRhs.scopeRhs; + + @Override + public final int scopeRhs(int index) { + return scopeRhs[index]; + } + + public interface ScopeState { + public final static char scopeState[] = { 0, 555, 0, 424, 0, 1797, 1224, 1763, 0, 1476, 520, 1396, 1502, 1360, + 1272, 1214, 0, 655, 0, 591, 489, 450, 1809, 1787, 1410, 1244, 398, 0, 1184, 510, 369, 0, 1535, 1450, + 628, 399, 520, 1743, 1272, 1214, 1503, 1655, 0, 1616, 1593, 1585, 471, 406, 1334, 612, 1385, 1372, 1349, + 1492, 1425, 1481, 1465, 1454, 1414, 1675, 1667, 1656, 1284, 724, 1696, 1685, 1647, 1639, 1624, 1363, + 1226, 1123, 1506, 1326, 1171, 1115, 1187, 1151, 1131, 591, 1095, 1075, 1054, 1033, 737, 1012, 701, 680, + 630, 991, 970, 949, 928, 907, 886, 865, 844, 823, 802, 781, 369, 760, 659, 489, 450, 0 }; + }; + + public final static char scopeState[] = ScopeState.scopeState; + + @Override + public final int scopeState(int index) { + return scopeState[index]; + } + + public interface InSymb { + public final static char inSymb[] = { 0, 0, 196, 118, 181, 31, 30, 29, 18, 25, 24, 7, 6, 4, 11, 17, 16, 2, 112, + 116, 115, 119, 117, 121, 120, 123, 122, 125, 124, 113, 38, 2, 2, 2, 2, 159, 138, 144, 118, 76, 61, 2, + 23, 7, 6, 63, 62, 4, 67, 66, 65, 64, 56, 57, 11, 71, 70, 73, 72, 78, 77, 74, 88, 87, 86, 84, 85, 83, 82, + 81, 80, 79, 69, 159, 159, 159, 159, 128, 118, 23, 2, 157, 156, 182, 13, 183, 175, 184, 55, 54, 185, 53, + 186, 187, 108, 197, 138, 115, 115, 117, 117, 117, 117, 116, 116, 120, 119, 119, 122, 121, 138, 124, 123, + 128, 128, 128, 128, 15, 145, 161, 136, 32, 127, 118, 4, 168, 118, 2, 23, 198, 176, 176, 201, 176, 68, + 118, 15, 136, 4, 118, 127, 194, 166, 165, 134, 118, 167, 118, 154, 4, 108, 15, 108, 15, 118, 4, 136, + 194, 32, 127, 4, 2, 147, 149, 118, 38, 165, 199, 118, 15, 118, 204, 118, 136, 118, 127, 127, 160, 118, + 2, 161, 15, 188, 144, 189, 118, 192, 108, 193, 169, 38, 206, 61, 23, 207, 118, 166, 118, 118, 118, 192, + 169, 69, 38, 153, 69, 154, 61, 23, 166, 165, 202, 188, 200, 68, 160, 2, 118, 169, 154, 38, 38, 68, + 161 }; + }; + + public final static char inSymb[] = InSymb.inSymb; + + @Override + public final int inSymb(int index) { + return inSymb[index]; + } + + public interface Name { + public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", + "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", + "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "auto", "break", "case", + "char", "const", "continue", "default", "do", "double", "else", "enum", "extern", "float", "for", + "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short", "signed", "sizeof", + "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while", "_Bool", + "_Complex", "_Imaginary", "integer", "floating", "charconst", "stringlit", "identifier", "Completion", + "EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace", "SemiColon", "MYTHREAD", + "THREADS", "UPC_MAX_BLOCKSIZE", "relaxed", "shared", "strict", "upc_barrier", "upc_localsizeof", + "upc_blocksizeof", "upc_elemsizeof", "upc_notify", "upc_fence", "upc_wait", "upc_forall", "ERROR_TOKEN", + "EOF_TOKEN", "no_cast_start", "]", ")", "}", ";", "identifier_token", "expression", + "postfix_expression", "member_name", "type_id", "initializer_list", "unary_expression", + "cast_expression", "multiplicative_expression", "additive_expression", "shift_expression", + "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", + "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "assignment_expression", + "expression_list_actual", "constant_expression", "declaration_specifiers", + "simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers", + "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers", + "typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier", + "no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier", + "elaborated_specifier", "enum_specifier", "type_name_specifier", "initializer", "declarator", + "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", + "struct_declarator_list", "complete_struct_declarator", "enumerator_list", "enumerator", + "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator", + "array_modifier", "parameter_type_list", "identifier_list", "array_modifier_type_qualifiers", + "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator", + "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or", + "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation", + "designator_list", "designator", "layout_qualifier" }; + }; + + public final static String name[] = Name.name; + + @Override + public final String name(int index) { + return name[index]; + } + + public final static int ERROR_SYMBOL = 60, SCOPE_UBOUND = 47, SCOPE_SIZE = 48, MAX_NAME_LENGTH = 38; + + @Override + public final int getErrorSymbol() { + return ERROR_SYMBOL; + } + + @Override + public final int getScopeUbound() { + return SCOPE_UBOUND; + } + + @Override + public final int getScopeSize() { + return SCOPE_SIZE; + } + + @Override + public final int getMaxNameLength() { + return MAX_NAME_LENGTH; + } + + public final static int NUM_STATES = 223, NT_OFFSET = 107, LA_STATE_OFFSET = 2289, MAX_LA = 2, NUM_RULES = 368, + NUM_NONTERMINALS = 131, NUM_SYMBOLS = 238, SEGMENT_SIZE = 8192, START_STATE = 1603, IDENTIFIER_SYMBOL = 0, + EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, ACCEPT_ACTION = 1908, ERROR_ACTION = 1921; + + public final static boolean BACKTRACK = true; + + @Override + public final int getNumStates() { + return NUM_STATES; + } + + @Override + public final int getNtOffset() { + return NT_OFFSET; + } + + @Override + public final int getLaStateOffset() { + return LA_STATE_OFFSET; + } + + @Override + public final int getMaxLa() { + return MAX_LA; + } + + @Override + public final int getNumRules() { + return NUM_RULES; + } + + @Override + public final int getNumNonterminals() { + return NUM_NONTERMINALS; + } + + @Override + public final int getNumSymbols() { + return NUM_SYMBOLS; + } + + @Override + public final int getSegmentSize() { + return SEGMENT_SIZE; + } + + @Override + public final int getStartState() { + return START_STATE; + } + + @Override + public final int getStartSymbol() { + return lhs[0]; + } + + public final int getIdentifierSymbol() { + return IDENTIFIER_SYMBOL; + } + + @Override + public final int getEoftSymbol() { + return EOFT_SYMBOL; + } + + @Override + public final int getEoltSymbol() { + return EOLT_SYMBOL; + } + + @Override + public final int getAcceptAction() { + return ACCEPT_ACTION; + } + + @Override + public final int getErrorAction() { + return ERROR_ACTION; + } + + @Override + public final boolean isValidForParser() { + return isValidForParser; + } + + @Override + public final boolean getBacktrack() { + return BACKTRACK; + } + + @Override public final int originalState(int state) { - return -baseCheck[state]; - } - @Override + return -baseCheck[state]; + } + + @Override public final int asi(int state) { - return asb[originalState(state)]; - } - @Override + return asb[originalState(state)]; + } + + @Override public final int nasi(int state) { - return nasb[originalState(state)]; - } - @Override + return nasb[originalState(state)]; + } + + @Override public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } + return inSymb[originalState(state)]; + } - @Override + @Override public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } + return baseAction[state + sym]; + } - @Override + @Override public final int tAction(int state, int sym) { - int i = baseAction[state], - k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - @Override + int i = baseAction[state], k = i + sym; + return termAction[termCheck[k] == sym ? k : i]; + } + + @Override public final int lookAhead(int la_state, int sym) { - int k = la_state + sym; - return termAction[termCheck[k] == sym ? k : la_state]; - } + int k = la_state + sym; + return termAction[termCheck[k] == sym ? k : la_state]; + } } |