diff options
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java')
-rw-r--r-- | lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java | 1625 |
1 files changed, 1625 insertions, 0 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java new file mode 100644 index 00000000000..8e763dbedbf --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java @@ -0,0 +1,1625 @@ +/******************************************************************************* +* Copyright (c) 2006, 2008 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ + +// This file was generated by LPG + +package org.eclipse.cdt.internal.core.dom.lrparser.gcc; + +public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym { + + 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 + }; + }; + 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,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,3,1,1,1,4, + 4,3,3,2,2,8,1,0,1,1, + 1,2,2,2,2,2,2,2,2,2, + 4,1,4,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,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,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, + 2,3,4,5,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,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,4, + 3,6,2,4,1,1,1,2,6,3, + 1,3,1,4,0,1,1,1,3,1, + 0,4,1,0,1,2,1,3,4,1, + 2,2,3,2,2,3,1,1,1,1, + 1,-89,-2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-40,-43,0,0,-58,0,-99, + 0,0,-290,-167,0,0,0,0,0,0, + 0,0,-74,0,-25,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -3,0,0,0,0,0,-154,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -6,-100,0,0,0,0,0,0,0,0, + 0,-24,0,0,0,0,-45,-207,0,0, + 0,0,0,0,0,0,0,-8,0,0, + 0,0,0,0,0,0,0,-111,0,0, + 0,0,0,0,0,-27,0,-106,0,0, + 0,0,0,0,0,0,0,0,0,-189, + 0,0,0,0,0,0,0,0,-29,-9, + 0,0,0,-268,0,0,0,0,0,0, + 0,0,0,-31,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-303, + 0,0,0,0,0,0,0,0,0,0, + 0,-44,0,0,0,0,0,0,0,0, + 0,0,-128,-198,0,0,0,0,0,0, + 0,0,0,0,0,-28,-84,0,-63,-21, + 0,-4,0,-22,0,0,0,0,0,0, + 0,0,0,-196,0,0,0,0,0,0, + 0,0,0,0,0,-32,0,0,-294,0, + 0,0,0,0,-163,0,0,0,0,-60, + 0,0,0,0,0,0,0,-36,0,-48, + 0,-30,0,0,-33,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -306,0,0,0,0,0,0,0,0,0, + 0,0,-19,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-65,0,0,0, + 0,0,0,0,0,0,0,-38,0,0, + 0,0,0,0,0,0,0,0,-88,0, + -206,0,0,0,0,0,0,0,0,0, + 0,0,-49,0,0,0,0,0,-77,0, + 0,0,-71,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-156,0,0,0, + 0,0,0,0,0,0,-42,0,-54,0, + 0,0,0,0,0,0,0,0,-160,0, + -208,0,0,0,0,0,0,0,0,0, + 0,-75,0,0,0,0,0,0,0,0, + 0,-51,-318,0,0,0,0,0,0,0, + 0,0,-41,0,-39,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-101,0, + 0,0,0,0,0,0,0,0,-55,-56, + 0,0,0,0,0,0,0,0,0,0, + -64,0,-200,0,0,0,0,0,0,0, + 0,0,0,0,-26,0,0,-59,0,0, + -97,0,-61,0,0,-139,-76,0,0,0, + 0,0,0,0,0,-264,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-171, + 0,0,0,0,0,0,0,0,0,0, + -62,0,0,0,0,0,0,0,0,0, + 0,-20,0,-275,0,0,0,0,0,0, + 0,0,0,-96,0,-83,0,0,0,0, + 0,0,0,0,0,-78,0,-79,0,-23, + 0,-234,0,-81,0,0,0,0,-34,0, + 0,0,-90,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-82,0,0,-186, + 0,-212,0,0,0,-113,0,0,0,0, + 0,0,0,0,0,0,0,0,-86,0, + 0,0,0,0,0,0,0,0,-142,0, + -102,0,0,0,0,0,0,0,0,0, + -201,-92,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-85,0,0,0, + 0,0,0,0,0,0,-87,-114,0,0, + 0,0,0,0,0,-91,0,0,-173,0, + 0,0,0,0,0,0,0,0,-98,0, + 0,0,0,0,0,0,0,0,0,0, + -126,-155,-174,0,0,0,0,0,0,0, + 0,0,-132,0,-138,0,0,0,0,0, + 0,0,0,0,0,0,-175,0,0,0, + 0,0,0,0,0,0,0,-157,-140,0, + 0,0,0,0,0,0,0,0,-158,0, + -176,0,0,0,0,0,0,0,0,0, + 0,0,-168,0,0,0,0,0,0,0, + 0,0,-159,-170,-177,0,0,0,0,0, + 0,0,0,0,-184,-185,0,0,0,0, + 0,0,0,0,0,0,-217,-190,-178,0, + 0,0,0,0,0,0,0,0,0,0, + -93,0,0,0,0,0,0,0,0,0, + 0,0,-179,0,0,0,0,0,0,0, + 0,0,-218,0,-220,0,0,0,0,0, + 0,0,0,0,-221,0,-180,0,0,0, + 0,0,0,0,0,0,0,-223,-224,0, + 0,0,0,0,0,0,0,0,0,-228, + -181,0,0,0,0,0,0,0,0,0, + -231,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-182,0,0,0,0,0, + 0,0,0,0,-244,-245,-246,0,0,0, + 0,0,0,0,0,0,-232,-239,-183,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -276,-104,-227,0,0,0,0,0,0,0, + 0,0,0,-191,0,0,0,0,0,0, + 0,0,0,0,0,0,-233,0,0,0, + 0,0,0,0,0,0,0,-115,-269,0, + 0,0,0,0,0,0,0,0,-237,0, + 0,0,0,0,0,0,0,0,-265,-247, + 0,0,0,0,0,0,0,0,0,0, + -282,-292,-238,0,0,0,0,0,0,0, + 0,0,0,-283,0,0,0,0,0,0, + 0,0,0,0,-284,0,-278,0,0,0, + 0,0,0,0,0,0,0,-277,-116,0, + 0,0,0,0,0,0,0,0,-300,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -117,0,-309,-118,0,0,0,0,0,0, + 0,0,-285,0,0,0,0,0,0,0, + 0,0,0,0,-321,-166,0,0,0,0, + 0,0,0,0,-161,0,0,0,0,0, + 0,0,0,0,0,0,-267,-53,-119,-297, + -213,-243,0,-37,0,0,0,0,0,-16, + 0,-120,0,0,0,0,-18,-121,-310,0, + 0,0,0,0,-122,0,0,0,0,0, + 0,0,0,-1,0,0,-123,-172,-69,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-304,0,0,-162,0,0,0, + 0,0,0,0,0,0,0,0,-7,0, + 0,0,0,-52,0,0,-13,0,0,0, + 0,0,0,0,0,0,0,0,0,-235, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-317,-296,0,-308,0,0,0, + 0,0,0,0,0,0,-73,0,0,0, + -305,0,0,0,0,0,0,0,0,-127, + 0,-124,-125,0,0,-129,0,-133,0,0, + 0,0,-135,0,0,0,0,0,0,0, + -130,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-136,0,0, + -311,0,0,0,0,0,-146,0,0,0, + 0,-107,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-94,-141,0,0,0, + -219,0,0,0,0,0,0,0,0,0, + -150,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-313,0,0,0,-293, + -137,0,-316,-214,0,-240,0,0,0,0, + 0,0,0,0,0,0,-320,0,0,0, + -143,0,-131,0,0,0,0,0,-319,-302, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-148,0,0,-151,0,0,0,0, + -225,0,0,0,0,-199,-323,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -152,0,0,0,0,0,-324,0,0,0, + 0,-153,0,0,-230,0,0,0,0,0, + 0,0,0,-164,0,0,0,-165,-325,0, + -222,-108,0,0,0,0,0,0,0,-109, + 0,0,0,0,0,0,0,0,0,0, + -236,-68,0,0,-248,0,-249,0,0,0, + 0,0,0,0,0,-209,-250,0,0,0, + 0,0,0,0,0,0,-251,0,0,0, + 0,0,0,-252,0,0,0,-66,0,-253, + -254,-255,-315,-256,0,0,0,0,-257,-258, + -259,0,0,0,0,-211,0,0,0,0, + 0,0,0,0,0,0,0,-260,0,0, + 0,0,0,0,0,-299,0,-261,-262,-263, + -279,-288,0,-289,-298,0,0,0,-46,0, + 0,-307,0,-280,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-47,0,0,0,-216,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -144,0,-50,0,0,0,0,0,0,-72, + -105,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-80,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-147,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-35,0,0, + 0,0,-149,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-226,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -271,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-215, + 0,0,0,0,-273,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-70,0,0,0,0,-274,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-314,0,0,0,0,0,-5,0, + 0,-11,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-322,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-10,0,0,0,0, + -326,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-266, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-287,0,0,-286,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-12,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-197,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-15,0,0,0,-17,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-202, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-203,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-204,0,0,0,0,0,0,0, + 0,0,-95,0,-205,0,0,0,0,0, + 0,0,0,0,0,0,-110,0,0,0, + 0,0,0,0,-187,0,-188,0,0,-112, + 0,0,0,0,0,0,0,-134,0,0, + 0,0,0,0,0,0,0,0,0,0, + -229,0,0,0,0,0,0,0,0,0, + -193,0,0,0,0,0,0,0,-194,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-195,0,0,0,0,0, + 0,0,-241,0,0,0,0,0,0,0, + -242,0,0,0,-14,0,-103,0,-57,0, + 0,0,0,-169,0,0,0,0,0,0, + 0,-291,0,0,-67,0,0,-281,0,0, + 0,-270,0,0,0,0,0,0,0,0, + 0,0,0,0,-295,0,0,0,0,0, + 0,0,0,0,0,-312,0,0,-301,0, + 0,0,0,0,-145,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-192, + 0,0,-210,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-272,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,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; + public final int baseCheck(int index) { return baseCheck[index]; } + public final static short rhs[] = baseCheck; + public final int rhs(int index) { return rhs[index]; }; + + public interface BaseAction { + public final static char baseAction[] = { + 114,1,47,47,24,24,49,49,22,22, + 2,2,2,2,3,3,3,4,4,5, + 5,5,5,5,5,5,5,72,72,95, + 95,6,6,6,6,6,6,6,6,6, + 6,6,7,7,8,8,8,8,9,9, + 9,13,13,13,14,14,14,14,14,15, + 15,15,16,16,17,17,18,18,19,19, + 20,20,21,21,25,25,25,25,25,25, + 25,25,25,25,25,25,36,31,23,115, + 115,97,97,58,37,37,37,37,37,37, + 37,38,38,38,32,32,98,98,73,73, + 39,39,40,40,40,65,65,41,41,41, + 41,42,42,42,42,42,52,52,28,28, + 28,28,28,53,53,53,87,87,82,82, + 82,82,83,83,83,84,84,84,85,85, + 85,86,86,86,99,99,88,88,89,54, + 56,56,56,56,56,66,68,68,68,68, + 68,68,68,68,68,68,68,68,77,77, + 27,27,74,74,116,117,78,78,75,75, + 75,90,100,100,101,101,91,91,91,59, + 118,118,102,92,92,92,76,76,119,103, + 103,104,104,93,93,29,30,30,30,55, + 50,50,43,43,43,43,33,33,34,44, + 44,45,35,35,105,105,46,121,121,120, + 120,51,51,51,51,51,51,51,51,51, + 106,57,57,57,57,48,79,79,69,69, + 69,70,70,60,60,122,122,81,81,80, + 80,80,61,61,61,62,63,63,63,64, + 64,64,64,67,67,67,71,123,96,96, + 96,96,94,124,125,125,126,126,127,127, + 114,114,128,128,107,107,107,107,129,129, + 108,108,108,109,109,10,10,26,26,11, + 11,130,130,110,110,110,111,111,131,131, + 112,112,12,132,132,133,133,113,113,113, + 53,89,89,89,102,102,102,119,116,117, + 48,90,307,579,14,19,15,1338,1302,44, + 1409,1444,340,315,316,1441,1502,1489,1515,1508, + 1622,1527,1623,74,1150,168,2525,91,168,2403, + 1292,134,215,1470,1337,14,19,15,1338,42, + 44,1409,1444,901,856,1188,1441,1502,1489,1515, + 1508,1622,1527,1623,73,136,133,135,159,256, + 215,1050,653,257,215,124,87,1343,138,320, + 165,340,315,316,1075,229,142,145,148,151, + 2182,341,1557,553,1559,2216,2284,2332,2336,1507, + 134,215,384,1564,574,226,234,435,1470,1766, + 14,19,15,1338,42,44,1409,1444,409,384, + 1620,1441,1502,1891,136,133,135,159,1269,127, + 14,19,15,1338,42,35,1121,138,1512,165, + 14,19,15,1338,40,142,145,148,151,2182, + 1672,313,261,1559,2216,2284,2332,2336,1507,1626, + 608,1061,1626,2509,1407,599,14,19,15,1338, + 1302,44,1409,1444,1626,248,431,1441,1502,1489, + 1515,1508,1622,1527,1623,74,189,322,1036,283, + 1428,599,14,19,15,1338,1302,44,1409,1444, + 311,188,341,1441,1502,1489,1515,1508,1622,1527, + 1623,74,1123,1110,1470,283,14,19,15,1338, + 42,44,1857,340,315,316,1341,384,1667,685, + 863,288,901,930,1061,1628,318,315,316,317, + 315,316,134,215,1470,23,14,19,15,1338, + 42,44,1409,1845,126,1494,1304,288,289,543, + 1720,1628,374,226,231,1687,136,133,135,159, + 168,851,221,793,223,225,104,853,463,138, + 106,165,1609,848,289,1626,1723,142,145,148, + 151,2182,318,315,316,1559,2216,2284,2332,2336, + 1507,1248,599,14,19,15,1338,1302,44,1409, + 1444,310,190,1303,1441,1502,1489,1515,1508,1622, + 1527,1623,74,317,315,316,283,1206,2507,14, + 19,15,1338,1302,44,1409,1444,1277,990,1494, + 1441,1502,1489,1515,1508,1622,1527,1623,74,901, + 1701,1470,991,14,19,15,1338,42,44,1409, + 1444,618,227,518,1441,1502,1489,1890,290,1626, + 2048,126,1628,1365,241,14,19,15,1338,1302, + 44,1409,1444,1932,1509,294,1441,1502,1489,1515, + 1508,1622,1527,1623,74,291,1099,1554,283,14, + 19,15,1338,1302,44,1409,1444,1290,1878,990, + 1441,1502,1489,1515,1508,1622,1527,1623,74,901, + 1805,1470,330,14,19,15,1338,42,44,1409, + 1444,233,1211,332,1441,1502,1489,1515,1508,1908, + 157,197,1120,1449,1628,14,19,15,1338,1302, + 44,1409,1444,670,123,1303,1441,1502,1489,1515, + 1508,1622,1527,1623,74,317,315,316,283,1491, + 2514,14,19,15,1338,1302,44,1409,1444,1141, + 230,1494,1441,1502,1489,1515,1508,1622,1527,1623, + 74,1290,432,1470,1134,14,19,15,1338,42, + 44,1409,1444,618,230,44,1441,1874,729,328, + 292,1656,569,790,1628,233,1470,1211,14,19, + 15,1338,1302,44,1409,1444,1290,2522,1230,1441, + 1502,1489,1515,1508,1622,1527,1623,74,1814,122, + 1227,91,14,19,15,1338,1302,44,1409,1444, + 280,1036,380,1441,1502,1489,1515,1508,1622,1527, + 1623,74,338,795,1554,1278,14,19,15,1338, + 1302,44,1409,1444,168,1547,1211,1441,1502,1489, + 1515,1508,1622,1527,1623,74,1431,242,1452,330, + 346,1983,1626,336,1576,374,226,231,111,856, + 317,315,316,1591,211,220,793,223,225,318, + 315,316,678,1766,605,1818,1953,1664,335,1814, + 903,2501,1410,374,226,703,1533,1062,14,19, + 15,1338,33,220,793,223,782,749,820,1470, + 1929,14,19,15,1338,42,44,1409,1444,168, + 856,1660,1441,1502,1489,1515,1508,1622,1527,1623, + 93,1470,986,14,19,15,1338,42,44,1409, + 1444,276,87,278,1441,1880,329,61,154,620, + 1205,269,962,1491,274,212,338,501,1533,447, + 14,19,15,1338,32,542,1722,1763,243,1470, + 268,14,19,15,1338,1302,44,1409,1444,1070, + 1466,375,1441,1502,1489,1515,1508,1622,1527,1623, + 74,990,990,1470,85,14,19,15,1338,1302, + 44,1409,1444,168,1157,1211,1441,1502,1489,1515, + 1508,1622,1527,1623,74,232,319,1470,84,14, + 19,15,1338,1302,44,1409,1444,125,990,1211, + 1441,1502,1489,1515,1508,1622,1527,1623,74,168, + 2451,1470,83,14,19,15,1338,1302,44,1409, + 1444,121,339,1617,1441,1502,1489,1515,1508,1622, + 1527,1623,74,1274,1660,1470,82,14,19,15, + 1338,1302,44,1409,1444,990,990,236,1441,1502, + 1489,1515,1508,1622,1527,1623,74,1274,1672,1470, + 81,14,19,15,1338,1302,44,1409,1444,2493, + 16,899,1441,1502,1489,1515,1508,1622,1527,1623, + 74,245,182,1470,80,14,19,15,1338,1302, + 44,1409,1444,168,504,1211,1441,1502,1489,1515, + 1508,1622,1527,1623,74,990,285,1470,79,14, + 19,15,1338,1302,44,1409,1444,2532,990,990, + 1441,1502,1489,1515,1508,1622,1527,1623,74,2101, + 1621,1470,78,14,19,15,1338,1302,44,1409, + 1444,1687,2125,2149,1441,1502,1489,1515,1508,1622, + 1527,1623,74,22,324,1470,77,14,19,15, + 1338,1302,44,1409,1444,990,990,990,1441,1502, + 1489,1515,1508,1622,1527,1623,74,1274,1660,1470, + 76,14,19,15,1338,1302,44,1409,1444,1922, + 1924,21,1441,1502,1489,1515,1508,1622,1527,1623, + 74,1274,1496,1470,75,14,19,15,1338,1302, + 44,1409,1444,1371,1679,856,1441,1502,1489,1515, + 1508,1622,1527,1623,74,244,206,1470,92,14, + 19,15,1338,42,44,1409,1444,89,1606,1211, + 1441,1502,1489,1515,1508,1622,1527,1623,93,1470, + 183,14,19,15,1338,1302,44,1409,1444,990, + 1660,2545,1441,1502,1489,1515,1508,1622,1527,1623, + 74,1274,990,1470,1384,14,19,15,1338,1302, + 44,1409,1444,275,1660,214,1441,1502,1489,1515, + 1508,1622,1527,1623,74,1660,281,1470,1395,14, + 19,15,1338,42,44,1409,1444,20,1517,942, + 1441,1502,1489,1515,1508,1622,1527,1623,93,1470, + 207,14,19,15,1338,42,44,1409,1444,1267, + 196,246,1441,1502,1489,1515,1508,1622,1527,1623, + 93,818,247,1470,1659,14,19,15,1338,42, + 44,1409,1444,168,530,204,1441,1502,1489,1515, + 1508,1622,1527,1623,93,1470,1292,14,19,15, + 1338,42,44,1409,1444,646,553,205,1441,1502, + 1489,1515,1508,1622,1527,1623,93,602,1343,688, + 990,796,948,2264,1625,256,215,317,315,316, + 762,1749,488,199,318,315,316,1110,107,585, + 317,315,316,1494,1716,1647,279,340,315,316, + 374,226,231,1819,367,411,939,447,1340,1641, + 221,793,223,225,759,853,134,215,276,318, + 315,316,277,276,990,1580,306,1656,271,962, + 1491,274,572,269,962,1491,274,257,215,1149, + 137,133,135,159,187,352,195,552,282,340, + 315,316,1359,139,1814,165,305,317,315,316, + 1368,143,146,149,152,2182,110,86,134,215, + 625,1027,689,622,310,1211,95,1626,321,1036, + 916,108,94,96,97,98,99,1,352,257, + 215,1274,141,133,135,159,109,2556,943,596, + 342,2120,331,471,297,140,840,165,1126,110, + 86,302,304,1607,1027,689,295,106,353,95, + 211,1029,553,916,108,94,96,97,98,99, + 1241,1818,2179,374,226,231,314,499,1686,109, + 1594,990,1607,220,793,223,225,247,352,689, + 265,276,1470,312,14,19,15,1338,42,39, + 107,269,962,1491,274,2197,1650,1592,352,110, + 86,1592,856,309,1027,689,318,315,316,95, + 266,346,795,916,108,94,96,97,98,99, + 87,317,315,316,87,689,1211,284,115,109, + 1712,63,115,1712,770,2240,1269,1953,14,19, + 15,1338,42,35,374,226,231,1626,117,1691, + 106,680,263,1671,220,793,223,225,279,1660, + 1703,1929,1195,318,315,316,1339,374,226,231, + 318,315,316,864,299,1771,908,220,793,223, + 225,125,352,249,678,276,1470,990,14,19, + 15,1338,42,44,1867,269,962,1491,274,154, + 620,1295,1611,110,86,1797,296,1274,1027,689, + 447,2221,1326,95,1359,375,795,916,108,94, + 96,97,98,99,706,317,315,316,1700,1660, + 105,1726,1470,109,14,19,15,1338,42,38, + 1470,1934,14,19,15,1338,42,37,374,226, + 231,290,346,795,107,1680,26,1683,220,793, + 223,225,317,315,316,1921,1470,1112,14,19, + 15,1338,42,44,1409,1444,298,1615,1953,1441, + 1502,1489,1515,1918,1074,374,226,231,315,553, + 1113,1053,1473,1706,1634,220,793,223,225,1640, + 1721,1642,1929,318,315,316,1470,2528,14,19, + 15,1338,42,44,1409,1444,1620,200,1253,1441, + 1502,1489,1515,1508,1622,1920,489,795,1515,1068, + 1709,1432,1717,1408,1729,1713,317,315,316,1633, + 155,620,1411,2741,375,795,2741,2741,261,317, + 315,316,1934,2741,318,315,316,1061,1626,374, + 226,231,2741,346,795,1529,2741,1291,553,220, + 793,223,225,318,315,316,1921,374,226,231, + 2741,2741,2741,2741,2741,2741,2741,220,793,223, + 225,168,856,1303,1921,1620,374,226,231,2741, + 685,168,352,317,315,316,220,793,223,225, + 317,315,316,2144,87,497,856,2741,2528,1494, + 2741,2741,1218,2741,87,2741,1494,262,201,199, + 2741,2741,1146,374,226,1658,2559,110,86,581, + 856,618,1027,221,793,223,1633,95,853,2741, + 1990,916,1741,94,96,97,98,99,685,2741, + 960,110,86,624,856,2741,1027,2741,317,315, + 316,95,2741,2741,2741,916,103,94,96,97, + 98,99,1145,2741,1494,110,86,708,856,2741, + 1027,574,226,235,2741,95,2741,2741,2741,916, + 101,94,96,97,98,99,853,2741,2741,110, + 86,792,856,2741,1027,2741,2741,2741,2741,95, + 2741,2741,2741,916,102,94,96,97,98,99, + 1303,2741,2741,110,86,835,856,2741,1027,2741, + 317,315,316,95,2741,2741,2741,916,118,94, + 96,97,98,99,1648,2741,1494,110,86,878, + 856,2741,1027,2741,317,315,316,95,2741,2741, + 2741,916,114,94,96,97,98,99,618,2741, + 1743,110,86,921,856,2741,1027,1487,2741,427, + 411,95,436,2741,2741,916,1925,94,96,97, + 98,99,317,315,316,110,86,964,856,2741, + 1027,306,2741,2741,2741,95,2741,572,566,916, + 113,94,96,97,98,99,378,2741,2741,110, + 86,1007,856,2741,1027,2741,340,315,316,95, + 2741,305,2741,916,120,94,96,97,98,99, + 1028,553,2741,110,86,134,215,2741,1027,2741, + 317,315,316,95,2741,2741,2741,916,119,94, + 96,97,98,99,1062,553,1494,815,1620,144, + 133,135,159,2741,317,315,316,317,315,316, + 2741,2741,2741,2741,439,2741,303,304,618,2741, + 1494,2741,1620,1494,340,315,316,1487,476,1470, + 261,14,19,15,1338,42,44,1409,1847,1372, + 1626,2741,618,134,215,853,2741,2741,276,2741, + 2741,2267,2741,2741,261,2741,2741,2741,271,962, + 1491,274,1060,1372,1626,2741,1575,147,133,135, + 159,2741,340,315,316,2741,340,315,316,2741, + 1470,2741,14,19,15,1338,42,44,1409,1444, + 2741,134,215,1881,2741,134,215,1470,2741,14, + 19,15,1338,42,44,1409,1444,2741,2741,2741, + 1882,2741,2741,2741,2741,150,133,135,159,153, + 133,135,159,1470,2741,14,19,15,1338,42, + 44,1409,1444,519,553,1470,1884,14,19,15, + 1338,42,44,1409,1444,2741,2741,1470,1889,14, + 19,15,1338,42,36,168,352,168,352,2741, + 1470,199,14,19,15,1338,42,34,1470,2741, + 14,19,15,1338,42,35,2741,2741,87,2741, + 87,730,553,199,2741,199,1146,2741,1146,2741, + 2741,1470,759,14,19,15,1338,42,47,1470, + 2741,14,19,15,1338,42,46,2741,2741,199, + 2741,2741,2741,2741,960,1470,960,14,19,15, + 1338,42,45,1386,194,14,19,15,1338,42, + 43,1303,2741,1133,1475,678,1265,1292,1266,1639, + 759,317,315,316,1292,317,315,316,2741,317, + 315,316,315,553,2741,168,553,1494,1691,2741, + 2741,622,1592,856,2741,1686,256,215,317,315, + 316,2741,194,256,215,1592,856,2741,2741,618, + 1620,1301,1475,689,1750,87,1592,856,2267,1697, + 2741,2741,2741,115,2741,168,856,2741,87,317, + 315,316,2741,2741,2741,2741,115,308,2741,87, + 168,856,261,168,856,1883,1528,115,87,2741, + 2741,1544,1626,1528,2741,514,1219,1595,2741,168, + 856,2741,2741,87,2741,2741,87,2741,2741,2741, + 1661,1360,2741,880,1919,2741,2741,2741,2741,2741, + 1349,1777,87,2741,2741,2741,1171,2741,2741,2741, + 1490,2741,2741,2741,2741,2741,2741,2741,2741,2741, + 2741,2741,2741,2741,2741,2741,2741,2741,2741,2741, + 2741,2741,2741,2741,1641,2741,0,1,458,0, + 1,500,0,458,128,0,500,128,0,458, + 129,0,500,129,0,458,130,0,500,130, + 0,500,187,0,458,187,0,187,191,0, + 500,186,0,458,186,0,186,191,0,458, + 131,0,500,131,0,458,132,0,500,132, + 0,179,228,0,2748,1,0,225,237,0, + 1,2980,0,225,238,0,7,9,0,179, + 17,0,178,18,0,1,2969,0,112,2173, + 0 + }; + }; + public final static char baseAction[] = BaseAction.baseAction; + public final int baseAction(int index) { return baseAction[index]; } + public final static char lhs[] = baseAction; + public final int lhs(int index) { return lhs[index]; }; + + public interface TermCheck { + public final static byte termCheck[] = {0, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,0,1,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,61,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,0,0,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,62,61,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,0,63,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,78,61,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,0, + 1,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,0, + 1,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,1,2,0, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 0,25,26,27,28,29,30,0,1,2, + 0,0,1,2,3,0,1,2,8,4, + 5,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,1,2,3, + 4,5,6,7,0,1,2,0,4,5, + 66,4,5,0,43,44,3,21,22,23, + 24,25,26,27,28,29,30,31,21,22, + 23,60,25,26,27,28,29,30,0,79, + 2,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,1,2,3, + 4,5,6,7,0,0,62,3,0,4, + 5,75,4,5,61,0,0,21,22,23, + 24,25,26,27,28,29,30,31,24,21, + 22,23,0,25,26,27,28,29,30,7, + 0,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,0,0,1, + 2,0,4,5,60,0,0,1,2,3, + 0,75,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,0,0,1, + 24,3,4,5,6,8,80,31,32,33, + 34,35,36,37,38,39,40,41,42,21, + 22,23,0,25,26,27,28,29,30,31, + 62,0,1,83,84,4,5,6,71,72, + 73,74,62,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,61, + 0,1,2,3,0,43,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,0,1,2,24,4,5,0,7,2, + 68,31,32,33,34,35,36,37,38,39, + 40,41,42,0,1,2,3,43,0,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,43,0,1,24,3,4, + 5,6,68,75,31,32,33,34,35,36, + 37,38,39,40,41,42,21,22,23,0, + 25,26,27,28,29,30,31,0,1,0, + 0,4,5,6,0,1,2,0,4,5, + 45,46,47,48,49,50,51,52,53,54, + 55,56,57,58,59,0,61,0,1,2, + 3,32,43,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,0,0, + 1,24,3,4,5,6,8,0,31,32, + 33,34,35,36,37,38,39,40,41,42, + 21,22,23,0,25,26,27,28,29,30, + 31,0,1,76,77,4,5,6,63,0, + 1,2,3,0,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,0, + 61,0,1,2,3,0,7,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,43,44,0,24,2,0,4,5, + 0,7,31,32,33,34,35,36,37,38, + 39,40,41,42,0,1,2,3,43,0, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,0,1,43,24,4, + 5,6,0,0,2,31,32,33,34,35, + 36,37,38,39,40,41,42,0,1,2, + 3,64,65,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,0,60, + 0,24,0,3,2,3,8,0,31,32, + 33,34,35,36,37,38,39,40,41,42, + 0,1,2,3,24,62,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,0,0,0,24,43,44,0,7,2, + 3,31,32,33,34,35,36,37,38,39, + 40,41,42,0,1,2,3,60,0,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,0,0,1,24,3,0, + 43,44,3,0,31,32,33,34,35,36, + 37,38,39,40,41,42,0,1,2,3, + 69,70,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,0,0,44, + 24,4,5,44,7,0,8,31,32,33, + 34,35,36,37,38,39,40,41,42,0, + 1,2,0,4,5,6,21,22,23,0, + 0,0,2,4,5,4,5,0,7,0, + 21,22,23,0,25,26,27,28,29,30, + 21,22,23,0,25,26,27,28,29,30, + 21,22,23,66,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,0, + 1,0,0,4,5,6,64,65,7,0, + 0,1,3,4,5,0,6,66,8,62, + 21,22,23,8,25,26,27,28,29,30, + 0,0,2,24,71,72,73,74,0,0, + 0,2,4,5,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,21, + 22,23,0,25,26,27,28,29,30,60, + 69,70,63,71,72,73,74,0,0,2, + 3,0,43,45,46,47,48,49,50,51, + 52,53,54,55,56,0,1,2,3,0, + 0,6,7,3,9,10,11,12,13,14, + 15,16,17,18,19,20,0,1,2,3, + 25,44,6,7,24,9,10,11,12,13, + 14,15,16,17,18,19,20,0,1,2, + 3,25,0,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,0,1, + 2,3,67,0,6,7,3,9,10,11, + 12,13,14,15,16,17,18,19,20,0, + 0,0,3,67,0,1,2,3,4,5, + 0,7,0,0,1,0,4,5,61,6, + 0,8,21,22,23,21,22,23,24,25, + 26,27,28,29,30,0,1,2,3,4, + 5,79,7,44,61,67,0,43,44,0, + 0,0,0,1,4,5,21,22,23,24, + 25,26,27,28,29,30,66,21,22,23, + 21,22,23,21,0,1,2,0,43,44, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,0,1,2,21,22, + 23,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,0,1,2,0, + 0,2,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,0,1,2, + 0,0,2,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,0,1, + 2,0,43,2,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,0, + 1,2,0,63,0,6,7,3,9,10, + 11,12,13,14,15,16,17,18,19,20, + 0,1,2,62,0,0,6,7,0,9, + 10,11,12,13,14,15,16,17,18,19, + 20,0,1,2,0,0,0,6,7,3, + 9,10,11,12,13,14,15,16,17,18, + 19,20,0,1,2,61,64,65,6,7, + 24,9,10,11,12,13,14,15,16,17, + 18,19,20,0,1,2,0,1,63,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,0,0,60,2,4,5, + 85,86,87,88,89,90,91,92,93,94, + 0,0,78,3,3,21,22,23,0,25, + 26,27,28,29,30,0,0,2,0,3, + 4,5,4,5,0,24,0,12,13,3, + 0,7,66,3,0,0,1,0,4,5, + 24,6,0,0,44,44,4,5,0,0, + 0,0,4,5,4,5,0,0,43,0, + 60,4,5,4,5,0,1,11,0,0, + 44,6,3,0,44,2,60,9,10,63, + 0,0,1,68,4,5,60,6,0,0, + 60,3,0,69,70,0,0,82,9,10, + 0,9,10,8,4,5,0,64,65,0, + 4,5,0,64,65,0,4,5,0,4, + 5,0,0,0,1,0,0,76,77,6, + 0,0,44,2,8,0,67,2,0,0, + 0,11,0,0,0,0,8,8,8,0, + 0,0,0,0,0,0,60,0,0,0, + 0,0,0,0,0,0,0,0,0,60, + 0,0,0,0,0,0,0,0,0,0, + 0,60,0,0,0,0,0,62,0,0, + 0,0,0,0,0,0,0,0,80,0, + 0,0,0,81,62,0,0,0,0,0, + 0,0,0,0,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; + public final int termCheck(int index) { return termCheck[index]; } + + public interface TermAction { + public final static char termAction[] = {0, + 2741,4825,1,1721,1,1,4808,1,567,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2749,1,1,1,1,1, + 1,2841,928,772,979,857,1017,2005,926,709, + 957,393,934,334,819,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 2741,2747,7,2726,2726,2726,2726,2726,2726,2726, + 2726,2726,2726,2726,2726,2726,2726,2726,2726,2726, + 2726,2726,2726,2726,2726,2726,2726,2726,2726,2726, + 2726,2726,2726,2726,2726,2726,2726,2726,2726,2726, + 2726,2726,2726,2726,2726,156,66,2726,2726,2726, + 2726,2726,2726,2726,2726,2726,2726,2726,2726,2726, + 2726,2726,2029,2726,2741,4825,1,1721,1,1, + 4808,1,567,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2749,1, + 1,1,1,1,1,2841,928,772,979,857, + 1017,2005,926,709,957,393,934,1,713,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,691,2747,2741,4825,1,2750, + 1,1,4808,1,567,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 2749,1,1,1,1,1,1,2841,928,772, + 979,857,1017,2005,926,709,957,393,934,333, + 819,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2741,4825,1,2750, + 1,1,4808,1,567,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 2749,1,1,1,1,1,1,2841,928,772, + 979,857,1017,2005,926,709,957,393,934,2741, + 2981,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2741,1791,1991,287, + 458,500,1802,2438,1,2417,1830,2430,1028,966, + 478,2751,2752,2753,2754,1822,1672,2957,2958,2959, + 68,2903,2904,2902,2960,2905,2901,1,2969,902, + 2741,1,2969,1724,264,1,2969,902,442,2657, + 2660,2908,2913,2912,2910,2911,2909,2914,2915,2907, + 2916,2917,2918,1500,2505,1567,2741,1,1,2750, + 1,1,1,1,1,2969,902,129,2657,2660, + 3001,2669,2672,1,667,264,2714,1,1,1, + 2749,1,1,1,1,1,1,3048,2957,2958, + 2959,264,2903,2904,2902,2960,2905,2901,2741,1856, + 395,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2741,1,1,2750, + 1,1,1,1,2741,184,1397,2750,130,458, + 500,301,2675,2678,2747,2741,70,1,1,1, + 2749,1,1,1,1,1,1,3048,2749,2957, + 2958,2959,2741,2903,2904,2902,2960,2905,2901,891, + 72,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2741,59,1,2969, + 902,2741,2657,2660,1842,2741,2741,4825,1,2750, + 2741,300,4808,1,567,1,1,1,1,1, + 1,1,1,1,1,1,1,231,2741,1, + 2749,193,1,1,1,234,761,2841,928,772, + 979,857,1017,2005,926,709,957,393,934,1, + 1,1,2741,1,1,1,1,1,1,2939, + 1397,187,2687,1896,2583,2684,2681,2687,2405,2393, + 2367,2350,2053,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2741,193, + 2741,4825,1,2750,293,1443,4808,1,567,1, + 1,1,1,1,1,1,1,1,1,1, + 1,270,2969,1724,2749,458,500,2741,255,845, + 1597,2841,928,772,979,857,1017,2005,926,709, + 957,393,934,2741,4825,1,2750,1465,2741,4808, + 1,567,1,1,1,1,1,1,1,1, + 1,1,1,1,667,2741,1,2749,192,1, + 1,1,1737,2656,2841,928,772,979,857,1017, + 2005,926,709,957,393,934,1,1,1,222, + 1,1,1,1,1,1,2939,186,2696,2741, + 2741,2693,2690,2696,255,2969,902,62,458,500, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,213,192,2741,4825,1, + 2750,1821,667,4808,1,567,1,1,1,1, + 1,1,1,1,1,1,1,1,2741,2741, + 1,2749,193,1,1,1,914,2741,2841,928, + 772,979,857,1017,2005,926,709,957,393,934, + 1,1,1,2741,1,1,1,1,1,1, + 2939,208,4822,1001,833,458,500,4822,1327,1, + 2735,1724,2746,2741,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2741, + 193,2741,4825,1,2750,273,1049,4808,1,567, + 1,1,1,1,1,1,1,1,1,1, + 1,1,667,2745,270,2749,1492,54,458,500, + 2741,255,2841,928,772,979,857,1017,2005,926, + 709,957,393,934,2741,4825,1,2750,667,258, + 4808,1,567,1,1,1,1,1,1,1, + 1,1,1,1,1,347,4823,667,2749,458, + 500,4823,179,2741,2711,2841,928,772,979,857, + 1017,2005,926,709,957,393,934,2741,4825,1, + 2750,584,2299,4808,1,567,1,1,1,1, + 1,1,1,1,1,1,1,1,2741,1957, + 1,2749,1,2750,1492,267,1109,88,2841,928, + 772,979,857,1017,2005,926,709,957,393,934, + 2741,4825,1,2750,2749,2077,4808,1,567,1, + 1,1,1,1,1,1,1,1,1,1, + 1,48,2741,2741,2749,667,267,1,2485,1492, + 2746,2841,928,772,979,857,1017,2005,926,709, + 957,393,934,2741,4825,1,2750,1303,2741,4808, + 1,567,1,1,1,1,1,1,1,1, + 1,1,1,1,2741,2741,1098,2749,2746,2741, + 667,2745,2746,2741,2841,928,772,979,857,1017, + 2005,926,709,957,393,934,2741,4825,1,2750, + 2469,2461,4808,1,567,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2745, + 2749,2657,2660,2745,255,251,567,2841,928,772, + 979,857,1017,2005,926,709,957,393,934,1, + 570,902,58,2657,2660,2919,1,1,1,131, + 2741,1,747,2699,2702,2657,2660,2741,255,252, + 2957,2958,2959,61,2903,2904,2902,2960,2905,2901, + 2957,2958,2959,2741,2903,2904,2902,2960,2905,2901, + 1,1,1,3001,2908,2913,2912,2910,2911,2909, + 2914,2915,2907,2916,2917,2918,1500,2505,1567,2741, + 2920,50,60,458,500,2919,584,2299,2485,237, + 2741,2921,225,2717,2717,2741,2922,3001,378,383, + 2957,2958,2959,1193,2903,2904,2902,2960,2905,2901, + 337,2741,1002,225,2405,2393,2367,2350,128,224, + 2741,831,2663,2666,2908,2913,2912,2910,2911,2909, + 2914,2915,2907,2916,2917,2918,1500,2505,1567,2957, + 2958,2959,2741,2903,2904,2902,2960,2905,2901,225, + 2469,2461,225,2405,2393,2367,2350,2741,2741,1488, + 2746,2741,667,2908,2913,2912,2910,2911,2909,2914, + 2915,2907,2916,2917,2918,1,2758,1991,2744,2741, + 2741,2759,468,2750,2417,1830,2430,1028,966,478, + 2751,2752,2753,2754,1822,1672,2741,2758,1991,2744, + 809,2745,2759,1726,2749,2417,1830,2430,1028,966, + 478,2751,2752,2753,2754,1822,1672,1,2758,1991, + 27,1373,69,2759,2438,4567,2417,1830,2430,1028, + 966,478,2751,2752,2753,2754,1822,1672,2741,2758, + 1991,2744,2743,2741,2759,2438,2748,2417,1830,2430, + 1028,966,478,2751,2752,2753,2754,1822,1672,1, + 1,2741,2746,2743,17,179,2729,2729,179,179, + 2741,2729,255,2741,2921,2741,458,500,27,2922, + 2741,610,2957,2958,2959,179,179,179,2729,179, + 179,179,179,179,179,18,178,2732,2732,178, + 178,1856,2732,2745,2747,2743,253,2729,2729,250, + 348,2741,325,3067,458,500,178,178,178,2732, + 178,178,178,178,178,178,3000,2957,2958,2959, + 2957,2958,2959,3068,2741,2758,1991,254,2732,2732, + 2759,2438,4567,2417,1830,2430,1028,966,478,2751, + 2752,2753,2754,1822,1672,2741,2758,1991,2957,2958, + 2959,2759,2438,1453,2417,1830,2430,1028,966,478, + 2751,2752,2753,2754,1822,1672,1,2758,1991,272, + 2741,866,2759,2438,4567,2417,1830,2430,1028,966, + 478,2751,2752,2753,2754,1822,1672,1,2758,1991, + 2741,203,1687,2759,2438,4567,2417,1830,2430,1028, + 966,478,2751,2752,2753,2754,1822,1672,2741,2758, + 1991,2741,667,989,2759,2438,4567,2417,1830,2430, + 1028,966,478,2751,2752,2753,2754,1822,1672,2741, + 2758,1991,57,783,286,2759,2438,1073,2417,1830, + 2430,1028,966,478,2751,2752,2753,2754,1822,1672, + 1,2758,1991,1419,2741,42,2759,2438,2741,2417, + 1830,2430,1028,966,478,2751,2752,2753,2754,1822, + 1672,2741,2758,2425,67,2741,2741,2759,2438,2750, + 2417,1830,2430,1028,966,478,2751,2752,2753,2754, + 1822,1672,2741,2758,2427,1073,584,2299,2759,2438, + 2749,2417,1830,2430,1028,966,478,2751,2752,2753, + 2754,1822,1672,331,2758,1991,1,2720,1279,2759, + 2438,2741,2417,1830,2430,1028,966,478,2751,2752, + 2753,2754,1822,1672,132,2741,1916,1981,2705,2708, + 1255,1231,1207,1183,1159,1111,1135,1087,1063,1039, + 2741,1,691,2746,116,2957,2958,2959,2741,2903, + 2904,2902,2960,2905,2901,31,238,1314,351,225, + 2723,2723,458,500,49,116,2741,2765,2766,2746, + 2741,2485,3001,2746,350,2741,2921,2741,458,500, + 225,2922,158,56,2745,116,458,500,185,55, + 342,63,458,500,458,500,64,341,2580,349, + 417,458,500,458,500,210,2921,448,51,2741, + 2745,2922,2744,2741,2745,2565,225,1776,554,225, + 343,2741,2770,1158,458,500,1841,2771,1,53, + 904,90,52,2469,2461,231,28,490,1776,554, + 202,1776,554,235,458,500,344,584,2299,209, + 458,500,345,584,2299,346,458,500,71,458, + 500,28,112,209,932,1,41,1001,833,932, + 65,323,90,737,1453,2741,2743,2599,2741,191, + 351,448,1,2741,2741,2741,1453,208,347,2741, + 2741,2741,2741,2741,2741,2741,2768,2741,2741,2741, + 2741,2741,2741,2741,2741,2741,2741,2741,2741,4806, + 2741,2741,2741,2741,2741,2741,2741,2741,2741,2741, + 2741,641,2741,2741,2741,2741,2741,2922,2741,2741, + 2741,2741,2741,2741,2741,2741,2741,2741,761,2741, + 2741,2741,2741,2738,2921 + }; + }; + public final static char termAction[] = TermAction.termAction; + public final int termAction(int index) { return termAction[index]; } + + public interface Asb { + public final static char asb[] = {0, + 249,1,382,495,249,350,284,282,282,296, + 346,296,346,346,296,346,296,384,499,497, + 486,282,497,354,313,121,70,346,410,408, + 410,70,410,346,497,501,499,236,499,3, + 4,416,384,350,545,160,497,162,97,499, + 134,355,239,236,120,121,348,14,350,46, + 501,304,497,416,74,418,384,497,160,160, + 56,497,354,562,546,546,410,282,282,549, + 282,282,546,354,132,564,132,495,370,235, + 188,121,350,348,14,46,46,304,444,418, + 167,94,444,201,370,564,564,564,564,564, + 78,564,564,564,193,520,525,523,531,527, + 534,533,536,535,537,236,307,384,235,322, + 160,43,350,564,134,97,352,546,564,546, + 368,564,448,564,564,355,549,132,549,497, + 232,450,450,239,236,105,236,14,43,125, + 14,46,48,503,48,444,304,235,444,94, + 77,74,564,564,564,564,564,564,564,564, + 564,564,564,236,236,309,370,370,410,410, + 106,564,564,564,564,564,564,564,564,564, + 564,564,564,564,564,564,564,564,564,564, + 564,187,9,413,499,418,43,54,562,546, + 236,282,236,236,354,549,564,235,14,127, + 48,43,564,410,304,411,564,564,94,78, + 56,499,413,236,236,236,94,523,523,520, + 520,527,527,525,525,525,525,533,531,535, + 534,132,536,416,236,581,307,54,546,562, + 549,564,549,549,105,43,545,564,542,127, + 543,43,94,94,54,309,581,508,350,564, + 418,236,48,246,106,546,236,353,127,564, + 543,543,54,236,43,52,165,410,564,245, + 236,106,546,549,543,48,317,56,94,410, + 564,549,236,43,94,549 + }; + }; + public final static char asb[] = Asb.asb; + public final int asb(int index) { return asb[index]; } + + public interface Asr { + public final static byte asr[] = {0, + 75,0,2,62,63,24,4,5,3,60, + 44,43,0,26,45,21,46,57,27,47, + 28,48,49,29,22,50,51,25,58,30, + 59,52,53,23,54,55,56,1,6,4, + 5,31,3,61,0,1,6,3,61,60, + 0,3,61,43,68,2,15,16,17,18, + 12,13,11,7,9,10,19,20,14,1, + 6,8,0,21,22,23,25,12,13,11, + 7,9,10,19,20,14,2,1,6,15, + 16,17,18,67,3,0,8,3,63,60, + 24,4,5,0,60,14,15,16,17,18, + 6,12,13,11,7,9,10,19,20,2, + 3,44,1,0,24,3,7,1,2,5, + 4,62,0,21,46,57,27,47,28,48, + 49,29,22,50,51,25,58,30,59,52, + 53,23,54,55,56,1,6,45,26,4, + 5,3,60,24,63,0,21,22,23,12, + 13,11,7,9,10,19,20,14,2,1, + 6,15,16,17,18,0,43,3,60,44, + 2,0,4,5,43,2,68,82,12,13, + 11,7,9,10,69,70,64,65,71,72, + 73,74,76,77,78,79,80,83,84,61, + 63,85,86,87,88,89,91,90,92,93, + 94,62,67,24,60,44,3,0,3,60, + 44,1,21,0,63,43,68,0,75,26, + 45,21,46,57,27,47,28,48,49,29, + 22,50,51,25,58,30,59,52,53,23, + 54,55,56,1,6,7,4,5,24,3, + 31,2,0,53,45,50,48,49,47,46, + 51,52,54,55,56,62,24,30,27,25, + 26,29,28,21,22,23,60,1,7,4, + 5,43,44,3,2,0,3,60,61,24, + 0,26,45,21,46,57,27,47,28,48, + 49,29,22,50,51,25,58,30,59,52, + 53,23,54,55,56,1,6,4,5,8, + 0,75,81,61,34,36,8,40,42,37, + 32,38,39,35,33,41,31,3,24,15, + 16,17,18,12,13,11,9,10,19,20, + 14,7,2,57,58,59,53,45,50,48, + 49,47,46,51,52,54,55,56,30,27, + 25,26,29,21,22,23,28,4,5,6, + 1,0,7,2,43,44,3,26,45,46, + 57,27,47,28,48,49,29,50,51,25, + 58,30,59,52,53,54,55,56,1,6, + 4,5,66,21,22,23,0,32,0,68, + 82,12,13,11,9,10,69,70,64,65, + 71,72,73,74,76,77,78,79,80,83, + 84,63,85,86,87,88,89,90,91,92, + 93,94,60,43,44,26,21,27,28,29, + 22,25,30,23,24,3,2,1,4,5, + 7,0,3,60,61,63,0,63,85,86, + 87,88,89,90,91,92,93,94,8,7, + 69,70,9,10,65,64,71,72,73,74, + 76,77,11,78,79,80,67,44,61,83, + 84,62,4,5,60,24,3,0,34,36, + 8,40,42,37,32,38,39,35,33,41, + 31,24,3,12,13,11,7,9,10,19, + 20,14,2,1,6,15,16,17,18,0, + 7,26,45,21,46,57,27,47,28,48, + 49,29,22,50,51,25,58,30,59,52, + 53,23,54,55,56,1,6,66,5,4, + 0 + }; + }; + public final static byte asr[] = Asr.asr; + public final int asr(int index) { return asr[index]; } + + public interface Nasb { + public final static char nasb[] = {0, + 99,30,20,17,158,31,94,30,30,95, + 67,95,67,67,95,67,95,89,164,136, + 30,30,62,37,87,60,107,143,107,143, + 107,107,107,143,154,30,143,87,164,10, + 10,86,133,31,18,67,140,30,30,164, + 30,103,82,87,30,58,67,133,30,133, + 30,133,65,86,51,115,171,135,143,67, + 55,63,111,16,18,18,107,30,30,149, + 30,30,18,37,30,8,30,17,1,87, + 30,87,30,143,167,133,107,133,12,33, + 48,53,12,30,145,8,8,8,8,8, + 52,8,8,8,30,30,30,30,30,30, + 30,30,30,30,30,87,129,23,30,118, + 143,133,30,8,30,30,30,18,8,18, + 123,146,30,146,146,103,149,30,149,135, + 30,30,30,82,87,8,87,133,38,17, + 72,107,44,30,30,12,14,87,12,53, + 52,14,8,8,8,8,8,8,8,8, + 8,8,8,87,87,131,145,145,40,40, + 69,146,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,146, + 8,10,10,128,164,115,38,133,125,18, + 87,30,87,87,111,149,8,87,167,135, + 44,38,8,107,14,30,8,8,53,52, + 8,164,84,87,87,87,53,30,30,30, + 30,30,30,30,30,30,30,30,30,30, + 30,30,30,86,87,162,76,47,18,125, + 149,146,149,149,8,38,18,8,30,140, + 67,38,53,53,133,78,162,30,30,8, + 115,87,44,42,125,18,87,30,135,8, + 67,143,47,87,38,46,30,107,8,97, + 87,125,18,149,143,44,109,55,53,107, + 8,149,87,38,53,149 + }; + }; + public final static char nasb[] = Nasb.nasb; + public final int nasb(int index) { return nasb[index]; } + + public interface Nasr { + public final static char nasr[] = {0, + 87,86,85,84,78,83,82,5,0,51, + 0,79,0,29,0,31,1,22,0,33, + 1,105,87,86,85,84,78,83,82,0, + 109,0,120,1,28,0,1,49,0,95, + 0,125,0,72,0,94,71,5,1,0, + 1,5,47,0,5,71,0,113,0,133, + 0,1,35,46,33,44,26,0,1,115, + 0,1,59,91,0,33,44,63,62,26, + 0,111,0,62,63,1,24,0,78,74, + 75,76,77,66,53,0,127,0,128,28, + 1,0,1,28,36,98,27,0,123,0, + 36,27,73,49,1,28,0,1,28,52, + 32,0,28,52,1,65,0,24,33,44, + 62,63,1,0,26,44,33,1,0,44, + 33,1,10,0,59,1,31,0,27,36, + 1,37,0,26,33,35,0,28,1,107, + 0,1,28,26,57,0,101,1,59,0, + 28,1,129,0 + }; + }; + public final static char nasr[] = Nasr.nasr; + public final int nasr(int index) { return nasr[index]; } + + public interface TerminalIndex { + public final static char terminalIndex[] = {0, + 85,2,87,93,94,86,9,3,10,11, + 8,6,7,68,81,82,83,84,12,13, + 48,64,76,92,69,44,55,60,63,72, + 95,77,45,46,49,50,51,57,58,59, + 65,71,1,90,47,52,56,61,62,66, + 67,74,75,78,79,80,54,70,73,42, + 91,29,31,16,17,30,89,4,14,15, + 18,19,20,21,96,22,23,24,25,26, + 53,5,27,28,32,33,34,35,36,37, + 38,39,40,41,88 + }; + }; + public final static char terminalIndex[] = TerminalIndex.terminalIndex; + public final int terminalIndex(int index) { return terminalIndex[index]; } + + public interface NonterminalIndex { + public final static char nonterminalIndex[] = {0, + 0,0,0,0,102,106,107,108,109,185, + 0,0,110,111,112,113,114,115,116,117, + 118,100,0,98,119,186,125,129,137,0, + 101,124,160,0,163,120,123,0,0,0, + 0,0,157,159,0,161,97,0,99,147, + 162,128,136,0,0,0,158,122,151,171, + 174,175,176,0,0,139,146,0,164,170, + 0,0,127,140,141,142,143,148,169,173, + 104,131,132,133,134,135,138,144,145,0, + 150,154,156,177,103,105,121,126,130,0, + 149,153,0,155,165,168,182,0,184,0, + 187,0,189,0,0,0,0,152,0,166, + 167,172,0,178,179,0,180,181,183,0, + 0,0,188,0 + }; + }; + public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; + public final int nonterminalIndex(int index) { return nonterminalIndex[index]; } + + public interface ScopePrefix { + public final static char scopePrefix[] = { + 124,182,267,144,75,81,210,38,237,47, + 91,109,19,190,13,52,87,161,246,263, + 282,286,250,1,27,27,56,59,64,96, + 119,59,171,176,179,290,32,165,257,64, + 200,134,228,134,200,257,6,71,157,216, + 216,216,216,216,6,99,71,99,99 + }; + }; + public final static char scopePrefix[] = ScopePrefix.scopePrefix; + public final int scopePrefix(int index) { return scopePrefix[index]; } + + public interface ScopeSuffix { + public final static char scopeSuffix[] = { + 132,132,132,132,30,30,132,44,243,17, + 30,17,24,195,17,17,30,159,132,17, + 17,30,254,4,30,30,17,62,73,30, + 17,122,174,174,174,17,35,168,260,67, + 195,151,231,137,203,275,11,73,159,218, + 220,222,224,226,8,106,67,101,114 + }; + }; + public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; + public final int scopeSuffix(int index) { return scopeSuffix[index]; } + + public interface ScopeLhs { + public final static char scopeLhs[] = { + 76,74,5,76,51,51,74,67,40,64, + 51,35,11,74,110,64,51,91,32,6, + 5,5,21,102,127,126,62,80,57,51, + 33,50,75,75,75,3,94,91,7,57, + 74,76,41,76,74,5,102,57,91,86, + 85,84,83,82,102,35,57,46,35 + }; + }; + public final static char scopeLhs[] = ScopeLhs.scopeLhs; + public final int scopeLhs(int index) { return scopeLhs[index]; } + + public interface ScopeLa { + public final static byte scopeLa[] = { + 61,61,61,61,67,67,61,61,81,44, + 67,44,44,8,44,44,67,24,61,44, + 44,67,62,4,67,67,44,2,7,67, + 44,1,1,1,1,44,63,1,44,7, + 8,8,32,1,1,44,1,7,24,6, + 57,58,58,53,1,2,7,2,2 + }; + }; + public final static byte scopeLa[] = ScopeLa.scopeLa; + public final int scopeLa(int index) { return scopeLa[index]; } + + public interface ScopeStateSet { + public final static char scopeStateSet[] = { + 119,119,9,119,92,92,119,67,77,96, + 92,103,124,119,73,96,92,5,76,9, + 9,9,39,116,1,3,96,98,163,92, + 103,108,119,119,119,9,69,5,12,163, + 119,119,77,119,119,9,116,163,5,120, + 120,120,120,120,116,103,163,105,103 + }; + }; + public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; + public final int scopeStateSet(int index) { return scopeStateSet[index]; } + + public interface ScopeRhs { + public final static char scopeRhs[] = {0, + 187,121,0,186,0,121,0,154,186,0, + 154,0,226,2,206,0,98,0,225,2, + 2,4,0,98,98,0,153,43,0,97, + 0,219,96,0,31,146,0,167,191,96, + 8,166,0,99,0,0,164,96,2,157, + 0,164,96,2,0,175,2,0,152,96, + 0,174,0,143,152,0,9,0,169,0, + 143,0,9,0,120,25,201,96,43,0, + 120,201,96,25,43,0,120,25,43,0, + 120,201,96,43,0,120,43,0,128,0, + 2,0,166,98,0,2,98,0,164,96, + 2,128,0,2,0,164,98,0,145,2, + 0,157,0,167,198,96,8,122,214,57, + 0,99,0,214,57,0,125,3,0,0, + 0,99,0,167,198,96,8,214,57,0, + 3,0,0,0,99,0,154,0,100,0, + 213,96,154,0,96,154,0,152,100,0, + 185,57,0,125,0,185,59,0,185,58, + 0,195,96,8,212,122,211,173,0,212, + 122,211,173,0,3,0,0,99,0,211, + 173,0,125,0,3,0,0,99,0,195, + 96,8,211,173,0,182,0,143,0,142, + 0,141,0,140,0,139,0,132,37,0, + 77,2,101,98,100,0,132,119,126,2, + 40,0,53,123,0,193,96,8,0,126, + 84,115,0,29,118,0,176,2,0,98, + 107,0,176,2,14,0,167,191,96,8, + 119,176,2,0,98,3,0,105,0,99, + 0,210,2,100,0,126,43,100,0,126, + 2,0 + }; + }; + public final static char scopeRhs[] = ScopeRhs.scopeRhs; + public final int scopeRhs(int index) { return scopeRhs[index]; } + + public interface ScopeState { + public final static char scopeState[] = {0, + 1509,0,599,0,2451,1475,2403,0,1028,966, + 478,2493,1726,1896,1856,761,448,691,2405,2393, + 2367,2350,1001,833,1776,554,2299,584,2485,2469, + 2461,2438,2430,468,2417,1830,1822,1672,1465,1443, + 1419,383,1397,904,1373,1349,1327,1303,1279,1255, + 1231,1207,1183,1159,1135,1111,1087,1063,1039,880, + 737,856,809,352,979,667,783,713,641,530, + 504,0,417,1488,0,1641,2221,2197,2173,2149, + 2125,2101,2077,1771,2053,2029,1667,2005,1607,1564, + 0,1491,962,793,374,2267,1487,1492,1724,960, + 1620,0,2048,411,1487,1990,569,1934,1724,1701, + 1620,1842,1953,930,902,1916,1805,0,1507,553, + 352,411,0,1883,1750,2559,1916,2267,2528,1934, + 1487,1805,1701,1743,553,1686,352,1990,2144,1529, + 1842,569,2509,1953,1929,1494,2048,939,622,566, + 930,1507,2336,1500,2332,2505,1567,2284,2182,2216, + 1559,411,2264,2240,2501,2120,1983,795,653,0 + }; + }; + public final static char scopeState[] = ScopeState.scopeState; + public final int scopeState(int index) { return scopeState[index]; } + + public interface InSymb { + public final static char inSymb[] = {0, + 0,209,96,123,223,200,177,4,5,178, + 173,179,59,58,180,57,181,182,96,2, + 1,128,96,8,2,2,211,121,185,121, + 185,214,185,121,152,143,121,145,96,128, + 139,2,216,200,194,145,121,184,130,96, + 141,96,2,227,1,228,122,8,122,8, + 143,7,152,2,43,96,96,60,121,145, + 63,152,193,41,33,35,39,38,32,37, + 42,40,131,8,36,34,122,123,96,225, + 206,2,212,121,96,8,96,7,96,96, + 25,120,96,101,2,14,20,19,10,9, + 7,11,13,12,100,103,108,104,110,109, + 112,111,114,113,115,164,123,96,165,224, + 121,8,166,7,141,130,3,126,96,122, + 2,2,132,2,2,96,62,153,62,96, + 192,1,6,60,119,2,1,8,195,154, + 196,96,198,122,199,96,174,215,96,120, + 201,174,94,93,92,90,91,89,88,87, + 86,85,63,176,126,154,2,2,82,68, + 2,43,70,69,7,64,65,10,9,77, + 76,74,73,72,71,78,11,80,79,84, + 83,157,158,2,96,60,96,8,147,160, + 126,32,126,126,193,62,60,226,96,96, + 198,167,63,60,174,60,201,25,120,7, + 119,96,2,176,176,210,126,104,104,103, + 103,109,109,108,108,108,108,111,110,113, + 112,126,114,2,175,96,152,96,160,117, + 119,2,119,119,60,195,213,62,145,121, + 187,167,120,120,8,152,96,119,119,62, + 96,164,191,96,117,160,126,132,60,62, + 187,121,96,164,167,60,219,68,43,220, + 160,117,119,81,121,191,144,63,153,68, + 43,119,160,167,153,119 + }; + }; + public final static char inSymb[] = InSymb.inSymb; + 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", + "__attribute__", + "__declspec", + "ERROR_TOKEN", + "EOF_TOKEN", + "]", + ")", + "}", + ";", + "expression", + "postfix_expression", + "member_name", + "type_name", + "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", + "conditional_expression", + "assignment_expression", + "expression_in_statement", + "expression_list_actual", + "constant_expression", + "statement", + "compound_statement", + "identifier_token", + "block_item_list", + "block_item", + "declaration", + "declaration_specifiers", + "init_declarator_list", + "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", + "typedef_name_in_declspec", + "init_declarator", + "complete_declarator", + "initializer", + "declarator", + "struct_or_union", + "struct_declaration_list", + "struct_declaration", + "specifier_qualifier_list", + "struct_declarator_list", + "complete_struct_declarator", + "struct_declarator", + "enumerator_list", + "enumerator", + "direct_declarator", + "pointer_seq", + "array_direct_declarator", + "basic_direct_declarator", + "knr_direct_declarator", + "array_modifier", + "function_direct_declarator", + "parameter_type_list", + "function_declarator", + "identifier_list", + "knr_function_declarator", + "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", + "designated_initializer", + "designation", + "designator_list", + "designator", + "external_declaration_list", + "external_declaration", + "declaration_list", + "function_body", + "attribute_or_decl_specifier", + "attribute_or_decl_specifier_se" + + "q", + "word", + "extended_decl_modifier_seq", + "extended_decl_modifier" + }; + }; + public final static String name[] = Name.name; + public final String name(int index) { return name[index]; } + + public final static int + ERROR_SYMBOL = 31, + SCOPE_UBOUND = 58, + SCOPE_SIZE = 59, + MAX_NAME_LENGTH = 38; + + public final int getErrorSymbol() { return ERROR_SYMBOL; } + public final int getScopeUbound() { return SCOPE_UBOUND; } + public final int getScopeSize() { return SCOPE_SIZE; } + public final int getMaxNameLength() { return MAX_NAME_LENGTH; } + + public final static int + NUM_STATES = 326, + NT_OFFSET = 95, + LA_STATE_OFFSET = 3092, + MAX_LA = 2147483647, + NUM_RULES = 351, + NUM_NONTERMINALS = 134, + NUM_SYMBOLS = 229, + SEGMENT_SIZE = 8192, + START_STATE = 1524, + IDENTIFIER_SYMBOL = 0, + EOFT_SYMBOL = 75, + EOLT_SYMBOL = 75, + ACCEPT_ACTION = 2656, + ERROR_ACTION = 2741; + + public final static boolean BACKTRACK = true; + + public final int getNumStates() { return NUM_STATES; } + public final int getNtOffset() { return NT_OFFSET; } + public final int getLaStateOffset() { return LA_STATE_OFFSET; } + public final int getMaxLa() { return MAX_LA; } + public final int getNumRules() { return NUM_RULES; } + public final int getNumNonterminals() { return NUM_NONTERMINALS; } + public final int getNumSymbols() { return NUM_SYMBOLS; } + public final int getSegmentSize() { return SEGMENT_SIZE; } + public final int getStartState() { return START_STATE; } + public final int getStartSymbol() { return lhs[0]; } + public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; } + public final int getEoftSymbol() { return EOFT_SYMBOL; } + public final int getEoltSymbol() { return EOLT_SYMBOL; } + public final int getAcceptAction() { return ACCEPT_ACTION; } + public final int getErrorAction() { return ERROR_ACTION; } + public final boolean isValidForParser() { return isValidForParser; } + public final boolean getBacktrack() { return BACKTRACK; } + + public final int originalState(int state) { + return -baseCheck[state]; + } + public final int asi(int state) { + return asb[originalState(state)]; + } + public final int nasi(int state) { + return nasb[originalState(state)]; + } + public final int inSymbol(int state) { + return inSymb[originalState(state)]; + } + + public final int ntAction(int state, int sym) { + return baseAction[state + sym]; + } + + public final int tAction(int state, int sym) { + int i = baseAction[state], + k = i + sym; + return termAction[termCheck[k] == sym ? k : i]; + } + public final int lookAhead(int la_state, int sym) { + int k = la_state + sym; + return termAction[termCheck[k] == sym ? k : la_state]; + } +} |