/*******************************************************************************
* Copyright (c) 2006, 2010 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,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,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,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,2,
6,3,1,3,1,4,0,1,1,1,
3,1,0,4,3,1,2,1,3,4,
4,4,6,1,0,1,3,1,3,0,
1,4,5,2,4,2,4,3,3,5,
3,4,3,1,2,2,2,4,2,1,
1,2,2,3,2,2,3,1,1,1,
1,1,1,1,2,5,3,1,-105,0,
-114,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-2,0,0,0,
0,0,0,-351,-312,0,0,-41,-224,0,
0,0,-111,-260,0,-7,0,0,0,0,
0,0,-222,0,-84,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-32,0,0,0,0,-3,-35,-107,0,-58,
0,0,0,-146,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-5,0,0,-120,0,0,
0,0,0,0,0,0,0,0,-10,-11,
-253,0,0,0,0,0,0,0,0,0,
0,0,-221,0,0,0,0,0,0,0,
0,-62,0,0,0,0,0,0,0,0,
0,0,0,0,-116,0,0,0,0,0,
0,0,0,0,0,0,0,0,-190,0,
0,0,0,0,0,0,0,-4,0,0,
0,-360,0,0,0,0,0,0,0,-42,
0,0,0,0,0,0,0,0,0,0,
0,0,-12,0,0,0,0,0,0,0,
0,0,-109,-112,0,-209,0,0,0,0,
0,0,0,0,0,-80,0,0,0,0,
0,0,0,0,0,0,-314,0,0,0,
-33,0,-13,0,0,0,0,0,0,0,
0,0,0,0,0,-172,0,-295,0,0,
0,0,0,0,0,0,0,0,0,0,
-24,0,0,0,0,-25,0,0,0,0,
0,0,-37,-123,0,0,0,0,0,0,
0,0,-36,-108,0,-345,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-38,-274,0,0,0,0,0,0,0,0,
0,-257,0,-81,0,0,0,0,0,0,
0,0,0,-45,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-121,-63,
0,0,0,0,0,0,0,0,0,0,
0,-210,0,-9,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-245,
0,0,-40,-30,-347,0,0,0,0,0,
0,0,0,0,-47,0,0,0,0,0,
0,0,-43,0,0,0,0,0,0,-44,
-205,0,0,0,0,0,0,0,0,0,
0,-54,-361,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-56,0,0,0,0,0,0,-239,-64,0,
0,0,0,0,0,0,0,0,0,0,
-79,0,0,0,0,0,0,0,0,0,
-49,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-310,-65,0,0,0,
0,0,0,0,0,0,-241,0,0,0,
0,0,0,0,0,0,-31,-71,0,0,
0,0,0,0,-73,0,0,0,0,0,
0,0,-50,0,0,-119,0,0,0,0,
0,0,0,0,0,-106,-29,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-74,-151,0,0,0,0,0,0,0,0,
0,-51,0,0,0,0,0,0,0,-85,
0,0,0,0,0,0,-182,0,-86,0,
0,0,0,0,0,0,-90,0,0,-141,
0,0,0,0,-72,0,0,0,0,0,
0,-92,-189,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-113,0,0,0,0,0,0,-258,-28,0,
0,0,0,0,0,0,0,0,-333,0,
-122,0,0,0,0,0,0,0,-143,0,
-87,0,0,0,0,0,0,0,0,0,
0,0,0,-8,-124,0,0,-265,0,0,
-117,-125,0,0,0,0,0,0,0,0,
0,-27,0,-126,-89,0,0,-296,0,0,
0,0,0,0,0,0,0,0,0,0,
-59,0,-183,0,0,0,0,0,0,0,
0,0,0,0,0,0,-66,0,0,0,
0,0,0,0,0,-217,0,-127,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-128,0,0,0,-75,-256,0,
0,0,0,0,-129,0,0,-188,0,0,
0,0,0,0,-130,0,-191,0,0,0,
0,0,0,0,0,0,0,0,-131,-101,
0,0,0,0,-132,0,0,0,0,0,
0,-91,0,0,0,-192,0,0,0,0,
0,0,0,0,0,-133,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-142,-193,0,0,0,0,0,0,0,0,
0,-153,-246,0,0,0,0,0,0,-136,
0,0,0,0,0,0,0,-194,0,0,
0,0,0,0,0,0,0,0,0,-259,
-137,0,0,0,0,-102,0,0,0,0,
0,0,-149,-195,0,0,0,0,0,0,
0,0,0,0,-175,0,-261,0,0,0,
0,-176,0,0,0,0,0,0,0,-196,
0,0,0,0,0,0,0,0,0,0,
0,-343,-227,0,0,0,0,-103,0,0,
0,0,0,0,-138,-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,-198,0,0,0,0,0,0,0,0,
0,0,0,-348,0,0,0,0,0,-144,
0,0,0,0,0,0,-228,-199,0,0,
0,0,0,0,0,0,0,-135,-160,0,
0,0,0,0,0,-154,0,0,0,0,
0,0,0,-200,0,0,0,0,0,0,
0,0,0,0,-163,-297,0,0,0,0,
0,-156,0,0,0,0,0,0,-326,-201,
0,0,0,0,0,0,0,0,0,0,
-225,0,0,0,0,0,0,-164,0,0,
0,0,0,0,0,-266,0,0,0,0,
0,0,0,0,0,0,-244,-145,0,0,
0,0,0,-167,0,0,0,0,0,0,
-249,-271,0,0,0,0,0,0,0,0,
0,0,-252,-334,0,0,0,0,0,-168,
0,0,0,0,0,0,-335,-272,0,0,
0,0,0,0,0,0,0,0,-340,-353,
-309,0,0,0,0,-169,0,0,0,0,
0,0,0,-303,0,0,0,0,0,0,
0,0,0,0,-273,0,0,0,0,0,
0,-170,0,0,0,0,0,0,-311,0,
-324,0,0,0,0,0,0,0,0,0,
-367,0,0,0,0,0,-171,0,0,0,
0,0,0,-322,0,-320,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-181,0,0,0,0,0,0,0,-323,
0,0,0,0,0,0,0,0,0,0,
0,-321,-147,0,0,0,0,-185,0,0,
0,0,0,0,0,-336,0,0,0,0,
0,0,0,0,0,0,-363,0,0,0,
0,0,0,-223,0,0,0,0,0,0,
-349,0,-148,0,0,0,0,0,0,0,
0,0,-150,-152,0,0,0,0,-240,0,
0,0,0,0,0,-357,0,-155,0,0,
0,0,0,0,0,-344,0,0,-157,0,
0,0,0,-242,0,0,0,0,0,0,
-364,0,-166,0,0,0,0,0,0,0,
-177,0,0,-178,0,0,0,0,-243,0,
0,0,0,0,0,-370,0,-184,0,0,
0,0,0,0,0,-226,0,0,0,0,
0,0,0,-231,0,0,0,0,0,0,
-83,0,0,-67,0,-263,0,0,0,0,
0,0,0,-211,0,-235,0,0,0,0,
0,0,0,0,-236,0,0,0,0,0,
0,-250,-362,-325,0,-251,-267,0,0,0,
0,0,0,0,0,-275,-139,0,0,-220,
0,-276,0,0,0,0,0,0,0,-371,
0,0,-277,0,0,0,0,-278,0,0,
0,0,0,-270,-279,0,0,0,-280,-281,
-313,0,-282,-283,0,0,0,0,0,0,
0,0,-180,0,0,-284,-341,-60,0,0,
0,0,0,0,0,0,0,0,0,-23,
-374,0,0,0,-22,-285,0,0,0,-286,
-298,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-238,0,0,
-300,0,-301,0,0,0,-287,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-306,0,0,0,0,0,0,
-288,0,0,0,-269,0,0,0,0,0,
-317,0,0,0,0,0,-289,-61,0,0,
0,0,0,0,0,-316,-290,0,0,0,
0,-291,-292,0,0,0,0,0,0,-115,
-319,0,0,0,0,0,0,0,0,0,
0,-293,0,-134,-294,0,0,0,0,0,
0,0,0,-299,0,0,-337,0,0,0,
0,0,0,0,0,-186,-346,0,-247,-342,
0,0,0,-354,0,0,0,0,0,-350,
-365,0,0,0,0,-355,-159,0,0,0,
0,0,0,-308,0,0,-373,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-76,0,0,0,0,0,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,0,0,0,0,0,0,0,
0,-165,0,0,0,0,0,0,0,0,
0,0,-218,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-254,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-264,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-46,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-356,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-187,0,0,0,
0,0,0,0,0,-68,0,0,0,0,
0,0,0,0,0,0,0,0,-219,0,
0,0,0,0,0,0,0,0,0,0,
-248,0,0,0,0,0,-93,0,0,0,
0,0,0,-338,0,0,0,0,0,0,
-104,0,0,0,0,0,0,0,-34,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-95,0,0,0,0,0,0,0,
0,0,0,-110,0,0,-82,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-94,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-332,-70,0,0,0,0,0,
0,0,0,0,0,0,0,-234,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-237,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-302,0,0,-48,0,0,
0,-304,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-318,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-315,-230,0,0,
0,-328,0,0,0,0,0,0,0,0,
-206,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-330,0,
0,0,0,0,0,-331,0,0,0,0,
0,0,-202,0,0,0,0,0,0,0,
0,0,0,0,0,-368,0,0,0,0,
0,0,-372,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-375,0,0,0,0,0,0,-1,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-262,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-207,0,-14,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-15,0,0,0,0,0,0,
0,-16,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-19,0,0,
0,0,0,0,0,-21,0,0,0,0,
0,-26,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-140,0,0,-52,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-212,
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,0,0,0,
0,-214,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-215,0,0,
0,0,0,0,0,0,0,-232,-174,0,
0,0,0,-216,0,0,0,0,0,0,
0,0,0,-53,0,0,0,0,0,0,
0,0,0,0,0,0,0,-6,0,0,
-208,0,-20,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-96,0,0,0,0,0,-39,0,
0,-307,-57,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-97,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-233,0,0,0,0,0,0,0,
0,-55,-98,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-99,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-100,0,0,0,0,0,
0,-173,0,0,-327,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-229,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,-268,-352,0,0,0,0,0,
0,-255,-204,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-305,
0,0,0,-17,0,0,0,-77,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-18,-366,
0,0,0,0,0,0,0,0,0,0,
0,0,-69,0,0,0,0,0,0,0,
0,0,0,-88,0,0,-329,-162,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-179,0,0,0,0,0,0,0,-78,
0,0,0,0,0,-339,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-358,0,0,0,-118,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-158,0,0,0,-359,0,0,0,-369,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,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[] = {
121,2,122,49,49,18,18,53,53,26,
26,1,1,3,3,3,3,4,4,4,
5,6,6,6,6,6,6,6,6,88,
88,103,7,7,7,7,7,7,7,7,
7,7,7,8,8,9,9,9,9,14,
14,14,15,15,15,16,16,16,16,16,
17,17,17,19,19,20,20,21,21,22,
22,23,23,24,24,28,28,28,28,28,
28,28,28,28,28,28,28,38,31,25,
123,123,104,104,62,39,39,39,39,39,
39,39,40,40,40,30,30,105,105,77,
77,41,41,42,42,42,71,71,43,43,
43,43,43,44,44,44,44,44,60,60,
29,29,29,29,29,54,54,54,95,95,
90,90,90,90,91,91,91,92,92,92,
93,93,93,94,94,94,89,89,82,82,
83,55,57,57,57,57,57,72,74,74,
74,74,74,74,74,74,74,74,74,74,
81,78,78,124,125,84,84,79,79,79,
96,106,106,107,107,97,97,97,58,126,
126,108,98,98,98,80,80,127,109,109,
110,110,99,99,32,33,33,33,56,52,
52,45,45,45,45,34,34,35,46,46,
47,36,36,100,100,48,129,129,128,128,
59,59,59,59,59,59,59,59,59,111,
63,63,63,63,37,85,85,75,75,75,
76,76,65,65,130,130,64,64,86,86,
86,66,66,66,67,68,68,68,69,69,
69,69,73,73,50,50,51,132,131,131,
131,131,112,133,134,134,135,135,136,136,
121,121,137,137,113,113,113,113,138,138,
114,114,114,70,115,115,10,10,10,27,
27,11,11,139,139,116,116,116,117,117,
140,140,118,118,12,12,141,141,119,119,
119,119,13,61,142,142,143,143,120,120,
120,101,101,101,7,7,7,7,16,16,
24,4,40,144,102,102,102,87,87,29,
60,54,83,83,83,108,108,108,127,124,
125,37,96,135,135,145,146,112,77,329,
1714,247,17,21,18,898,1031,45,1055,371,
316,317,318,1074,1062,1134,1118,403,1155,1145,
1175,1169,1196,75,2102,961,1782,92,734,2014,
1751,136,214,115,1679,20,612,17,21,18,
898,43,44,1871,20,755,17,21,18,898,
43,45,1055,138,135,137,161,1074,1062,1134,
1118,1220,1155,1145,1175,1972,37,339,961,31,
1971,140,2293,167,730,1664,967,144,147,150,
153,314,285,2654,28,1230,364,129,232,499,
2636,2662,2688,2696,1072,1456,180,1865,823,87,
111,2702,349,1711,96,371,316,317,318,651,
712,1542,1263,1744,95,97,98,99,100,371,
316,317,318,1163,211,967,229,136,214,656,
225,233,1871,20,941,17,21,18,898,43,
40,136,214,255,214,1521,180,242,88,138,
135,137,161,347,1953,371,316,317,318,1830,
295,323,1678,143,135,137,161,140,419,167,
1054,25,169,144,147,150,153,136,214,2654,
1440,142,364,167,1386,499,2636,2662,2688,2696,
1072,256,214,800,128,754,617,2702,322,138,
135,137,161,2112,635,967,1871,20,426,17,
21,18,898,43,45,1055,1971,140,1974,167,
1074,1062,1825,144,147,150,153,1926,90,2654,
343,1288,364,851,232,499,2636,2662,2688,2696,
1072,319,316,317,318,1952,1676,2702,1703,20,
1784,17,21,18,898,1031,45,1055,3068,256,
214,1013,1074,1062,1134,1118,1061,1155,1145,1175,
1169,1196,75,443,1610,20,282,17,21,18,
898,43,36,927,961,31,1586,20,1784,17,
21,18,898,1031,45,1055,28,1230,283,1230,
1074,1062,1134,1118,284,1155,1145,1175,1169,1196,
75,364,1610,20,282,17,21,18,898,43,
36,288,2113,247,1643,20,1592,17,21,18,
898,1031,45,1055,500,3114,283,1230,1074,1062,
1134,1118,228,1155,1145,1175,1169,1196,75,1542,
1871,20,282,17,21,18,898,43,39,290,
289,248,1871,20,499,17,21,18,898,43,
45,1055,28,1230,283,1230,1074,1062,1829,1551,
2014,255,214,1337,499,1727,20,24,17,21,
18,898,1031,45,1055,961,188,159,291,1074,
1062,1134,1118,1500,1155,1145,1175,1169,1196,75,
181,1871,20,282,17,21,18,898,43,45,
1055,335,396,1751,20,1796,17,21,18,898,
1031,45,1055,181,549,283,1230,1074,1062,1134,
1118,1082,1155,1145,1175,1169,1196,75,755,1871,
20,282,17,21,18,898,43,38,387,226,
993,435,20,739,17,21,18,898,1031,45,
1055,961,187,283,1230,1074,1062,1134,1118,311,
1155,1145,1175,1169,1196,75,2014,1871,20,488,
17,21,18,898,43,37,292,1967,20,313,
17,21,18,898,1031,45,1055,49,2036,1138,
240,1074,1062,1134,1118,1089,1155,1145,1175,1169,
1196,75,336,1289,977,332,1919,20,2217,17,
21,18,898,1031,45,1055,734,115,1843,205,
1074,1062,1134,1118,960,1155,1145,1175,1169,1196,
75,363,1871,20,1148,17,21,18,898,43,
45,1055,961,189,324,1678,1074,1062,1134,1118,
1500,1155,1145,1175,1169,1196,94,1871,20,1149,
17,21,18,898,1031,45,1055,1522,334,105,
635,1074,1062,1134,1118,1614,1155,1145,1175,1169,
1196,75,418,533,20,92,17,21,18,898,
1031,45,1055,594,1775,330,125,1074,1062,1134,
1118,1339,1155,1145,1175,1169,1196,75,2131,1775,
20,1535,17,21,18,898,367,1914,941,1967,
20,426,17,21,18,898,1031,45,1055,961,
1367,1082,241,1074,1062,1134,1118,346,1155,1145,
1175,1169,1196,75,413,1779,2879,332,1971,342,
2452,419,36,1996,319,316,317,318,28,1230,
985,1711,1521,180,868,49,279,2017,920,337,
967,2279,371,316,317,318,1766,128,673,225,
773,1799,20,823,17,21,18,898,356,219,
457,222,701,88,136,214,621,1871,20,116,
17,21,18,898,43,36,1871,20,416,17,
21,18,898,43,45,1055,139,135,137,161,
1074,1062,1134,1118,798,1897,156,663,537,916,
535,535,22,451,141,325,167,331,823,1419,
145,148,151,154,774,1478,2654,1871,20,365,
17,21,18,898,1031,45,1055,1061,2092,355,
1082,1074,1062,1134,1118,1116,1155,1145,1175,1169,
1196,75,49,897,2083,86,1871,20,361,17,
21,18,898,1031,45,1055,1037,244,308,370,
1074,1062,1134,1118,261,1155,1145,1175,1169,1196,
75,635,1871,20,85,17,21,18,898,1031,
45,1055,419,419,1888,2024,1074,1062,1134,1118,
1524,1155,1145,1175,1169,1196,75,124,1871,20,
84,17,21,18,898,1031,45,1055,128,196,
2149,2035,1074,1062,1134,1118,1082,1155,1145,1175,
1169,1196,75,635,1871,20,83,17,21,18,
898,1031,45,1055,636,804,1960,2152,1074,1062,
1134,1118,1992,1155,1145,1175,1169,1196,75,112,
1871,20,82,17,21,18,898,1031,45,1055,
28,1230,601,635,1074,1062,1134,1118,1082,1155,
1145,1175,1169,1196,75,1547,1871,20,81,17,
21,18,898,1031,45,1055,19,28,1230,127,
1074,1062,1134,1118,276,1155,1145,1175,1169,1196,
75,277,1871,20,80,17,21,18,898,1031,
45,1055,28,1230,961,297,1074,1062,1134,1118,
1251,1155,1145,1175,1169,1196,75,635,1871,20,
79,17,21,18,898,1031,45,1055,49,49,
419,2251,1074,1062,1134,1118,2050,1155,1145,1175,
1169,1196,75,123,1871,20,78,17,21,18,
898,1031,45,1055,1669,1782,635,501,1074,1062,
1134,1118,1112,1155,1145,1175,1169,1196,75,635,
1871,20,77,17,21,18,898,1031,45,1055,
339,49,2975,638,1074,1062,1134,1118,1082,1155,
1145,1175,1169,1196,75,3025,1871,20,76,17,
21,18,898,1031,45,1055,231,49,1271,2882,
1074,1062,1134,1118,1082,1155,1145,1175,1169,1196,
75,1300,1871,20,93,17,21,18,898,1031,
45,1055,712,1878,2014,1831,1074,1062,1134,1118,
1082,1155,1145,1175,1169,1196,75,1364,1871,20,
1576,17,21,18,898,1031,45,1055,1018,2014,
635,1300,1074,1062,1134,1118,1082,1155,1145,1175,
1169,1196,75,195,1871,20,1612,17,21,18,
898,43,45,1055,1250,823,3090,182,1074,1062,
1134,1118,1082,1155,1145,1175,1169,1196,94,1871,
20,1682,17,21,18,898,43,45,1055,876,
424,635,206,1074,1062,1134,1118,1082,1155,1145,
1175,1169,1196,94,1871,20,823,17,21,18,
898,1031,45,1055,243,1277,363,118,1074,1062,
1134,1118,1082,1155,1145,1175,1169,1196,75,1509,
1871,20,360,17,21,18,898,1031,45,1055,
23,213,823,1415,1074,1062,1134,1118,1082,1155,
1145,1175,1169,1196,75,245,1871,20,74,17,
21,18,898,43,45,1055,352,961,299,1686,
1074,1062,1134,1118,2091,1155,1145,1175,1169,1196,
94,1871,20,1543,17,21,18,898,43,45,
1055,246,235,677,1058,1074,1062,1134,1118,1082,
1155,1145,1175,1169,1196,94,1871,20,1646,17,
21,18,898,43,45,1055,2014,321,203,1673,
1074,1062,1134,1118,1082,1155,1145,1175,1169,1196,
94,1871,20,848,17,21,18,898,43,45,
1055,1128,341,1783,789,1074,1062,1134,1118,1082,
1155,1145,1175,1169,1196,94,1871,20,1243,17,
21,18,898,43,45,1055,67,340,204,562,
1074,1062,1134,1118,569,1155,1145,1175,1169,1196,
94,199,1664,389,1871,20,1082,17,21,18,
898,43,35,1810,1871,20,1504,17,21,18,
898,43,45,1055,274,1078,87,111,1074,1830,
1222,96,1639,1172,2070,2010,1396,951,1861,1263,
109,95,97,98,99,100,1030,1,1664,389,
1871,20,1192,17,21,18,898,43,45,1055,
823,110,370,1827,1074,1062,1134,1118,1875,1155,
1947,388,87,111,1082,960,1222,96,107,1122,
168,1542,296,299,1527,1263,109,95,97,98,
99,100,353,264,1664,389,1668,2095,1823,20,
315,17,21,18,898,354,1797,110,370,298,
685,823,2883,255,214,1240,2090,388,87,111,
2097,1082,1222,96,108,319,316,317,318,256,
214,1263,109,95,97,98,99,100,413,2482,
3060,1082,2922,1082,673,225,230,1568,319,316,
317,318,812,110,370,219,457,222,224,2529,
386,2536,831,388,2096,2279,1847,1997,414,294,
107,2101,673,225,773,133,1664,389,2834,775,
384,1082,326,219,457,222,224,1923,1847,20,
621,17,21,18,898,41,1634,2054,1925,280,
87,111,2109,2124,1222,96,319,316,317,318,
784,1082,535,1263,109,95,97,98,99,100,
156,663,2111,2922,1393,1385,535,451,106,1302,
673,225,230,992,1710,110,370,2135,774,1061,
312,220,457,222,224,388,413,1758,2883,940,
1082,535,108,2092,1082,275,319,316,317,318,
2154,1082,270,1282,1275,273,662,778,281,535,
309,370,1561,2279,1670,3392,2883,1082,198,2563,
673,225,230,3392,319,316,317,318,3392,260,
3392,219,457,222,224,2583,198,3392,621,1438,
1703,2264,3392,413,3392,2883,3392,1223,673,225,
230,3392,3392,319,316,317,318,3392,3392,219,
457,222,224,3392,3392,1223,1987,3392,156,663,
2279,3392,3392,1477,1782,451,3392,673,225,230,
3392,3392,2010,3392,3032,3392,194,3392,219,457,
222,224,1644,1871,20,621,17,21,18,898,
43,45,1055,3392,193,3392,3392,1074,1062,1134,
1921,3392,3146,770,1999,3392,673,225,230,1436,
3392,2477,199,3392,3392,157,663,219,457,222,
224,3392,3392,1996,264,535,3392,278,3392,3392,
1497,275,3392,319,316,317,318,3392,268,1282,
1275,273,3392,673,225,230,3392,3392,3392,3392,
2922,3392,2092,1336,219,457,222,224,265,3392,
812,831,210,320,316,317,318,3392,275,2055,
3392,2883,1471,1786,3392,268,1282,1275,273,319,
316,317,318,3392,3392,3392,2618,3392,260,3392,
3392,3392,3392,3392,3392,1756,2264,1542,1931,1703,
3392,3392,262,673,225,230,1895,20,3392,17,
21,18,898,34,219,457,222,224,3392,1871,
20,1987,17,21,18,898,43,45,1055,255,
214,1477,1782,1074,1062,1134,1118,2080,1155,1145,
1937,3392,3392,3392,1670,3392,2883,319,316,317,
318,398,3392,2972,320,316,317,318,3392,413,
3392,2883,3392,3392,2922,3392,3392,3146,3392,320,
316,317,318,657,1405,535,3392,200,673,225,
230,3392,549,3392,49,3392,967,758,3392,219,
457,222,224,673,225,230,1987,319,316,317,
318,3392,2092,3392,219,457,222,224,1472,88,
275,3140,3392,3392,2922,1093,758,268,1282,1275,
273,673,225,1315,992,3392,319,316,317,318,
210,3392,220,457,222,1251,3392,267,260,3392,
1511,1786,3164,2922,758,1459,3392,389,1438,1703,
673,225,230,992,319,316,317,318,844,1664,
967,220,457,222,224,3392,3392,3392,3392,3392,
88,2922,3392,3392,198,1170,1308,3392,673,225,
1315,992,3392,87,111,892,1664,967,96,220,
457,222,224,3392,3392,3392,1263,104,95,97,
98,99,100,2271,3392,1006,1664,967,1384,1256,
87,111,1054,1664,967,96,3392,3392,320,316,
317,318,3392,1263,102,95,97,98,99,100,
87,111,657,3392,535,96,3392,87,111,3392,
3392,3392,96,1263,362,95,97,98,99,100,
1263,103,95,97,98,99,100,2060,49,535,
967,2092,1168,1664,967,3392,3392,319,316,317,
318,1871,20,3392,17,21,18,898,43,45,
1055,3392,3392,88,2922,1802,2092,87,111,1871,
3392,3392,96,3392,812,3392,3392,260,3392,3392,
1263,120,95,97,98,99,100,2000,1703,1216,
1664,967,3392,3392,3392,3392,1264,1664,967,3392,
1946,3392,260,1871,20,3392,17,21,18,898,
43,48,1931,1703,87,111,1312,1664,967,96,
3392,87,111,1360,1664,967,96,1263,115,95,
97,98,99,100,1263,2016,95,97,98,99,
100,87,111,1408,1664,967,96,3392,87,111,
590,3392,485,96,1263,114,95,97,98,99,
100,1263,122,95,97,98,99,100,87,111,
3392,3392,3392,96,3392,3392,306,3392,369,558,
3392,1263,121,95,97,98,99,100,319,316,
317,318,3392,3392,1871,20,1113,17,21,18,
898,43,45,1813,3392,2922,371,316,317,318,
305,370,3392,3392,656,992,3392,3392,3392,3392,
310,3392,1466,3392,319,316,317,318,136,214,
3392,3392,371,316,317,318,3392,275,3392,3392,
3392,2173,3392,3392,270,1282,1275,273,1531,3392,
146,135,137,161,136,214,1991,3392,371,316,
317,318,2001,302,304,3392,371,316,317,318,
3392,407,371,316,317,318,149,135,137,161,
136,214,3392,419,3392,967,1079,2848,136,214,
3392,3392,3392,3392,136,214,320,316,317,318,
3392,3392,152,135,137,161,3392,3392,88,126,
155,135,137,161,1303,3392,366,135,137,161,
1871,20,3392,17,21,18,898,43,45,1055,
3392,3392,3392,3392,1074,1833,1871,20,724,17,
21,18,898,43,45,1055,3392,3392,3392,3392,
1074,1834,1871,20,3392,17,21,18,898,43,
45,1055,3392,3392,3392,3392,1074,1846,1871,20,
3392,17,21,18,898,43,45,1055,49,1432,
967,2143,1074,1866,1871,20,3392,17,21,18,
898,43,45,1055,758,3392,3392,278,1074,1870,
3392,3392,3392,88,319,316,317,318,665,1891,
485,1871,20,917,17,21,18,898,43,45,
1818,2922,3392,319,316,317,318,3392,656,225,
234,992,3392,1459,306,389,3392,558,275,1240,
2726,3392,1102,1240,535,268,1282,1275,273,319,
316,317,318,319,316,317,318,3392,88,1459,
3392,389,198,1170,1308,1756,2922,3392,305,370,
2922,198,3392,49,3392,967,812,3392,310,3392,
812,3392,1533,1459,88,389,3392,3392,198,1170,
1308,2271,320,316,317,318,3392,1464,88,1459,
1223,389,2307,3392,1893,3392,2336,3392,88,952,
3392,3392,198,1170,1308,3392,3392,2271,3392,3392,
3392,303,304,1490,88,1459,3392,389,198,1170,
1308,3392,1240,3392,3392,920,3392,967,3392,193,
913,2271,319,316,317,318,3392,1516,1484,1999,
88,1316,3392,389,198,1170,1308,2271,3392,2922,
88,3392,3392,1542,3392,3392,116,1871,20,812,
17,21,18,898,43,47,88,3392,3392,3392,
1061,3392,116,2271,1459,920,389,967,3392,1567,
3392,3392,1240,1871,20,2618,17,21,18,898,
43,46,319,316,317,318,1510,3392,3392,88,
88,1078,370,198,1170,1308,116,3392,3392,2922,
1240,3392,1406,3392,423,3392,3392,3392,2040,812,
319,316,317,318,319,316,317,318,320,316,
317,318,2271,3392,3392,3392,3392,2922,1961,524,
920,2428,967,3392,3392,1946,2011,812,3392,319,
316,317,318,1895,20,3392,17,21,18,898,
33,3392,3392,3392,2074,88,2428,49,2080,967,
3392,116,3392,2364,319,316,317,318,319,316,
317,318,1943,20,3392,17,21,18,898,1787,
2069,3182,88,3392,3392,2922,2110,3392,2004,3392,
319,316,317,318,3392,1483,319,316,317,318,
785,2027,3392,3392,2126,3392,3392,3168,2085,3392,
3392,3392,3392,3186,319,316,317,318,320,316,
317,318,2100,3392,3392,861,2138,3392,3392,3392,
2143,3190,320,316,317,318,320,316,317,318,
320,316,317,318,3392,3392,3392,3392,3392,3392,
3392,3392,3392,3392,3392,3392,3392,3392,3392,3392,
3392,3392,3392,3392,3392,3392,3392,3392,3392,3392,
3392,3392,3392,3392,3392,3392,3392,3392,3392,1689,
3392,0,1,456,0,1,500,0,1,583,
0,1,623,0,500,130,0,583,130,0,
623,130,0,500,131,0,583,131,0,623,
131,0,500,132,0,583,132,0,623,132,
0,623,186,0,583,186,0,500,186,0,
186,190,0,623,185,0,583,185,0,500,
185,0,185,190,0,500,133,0,583,133,
0,623,133,0,500,134,0,583,134,0,
623,134,0,11,227,0,500,369,0,583,
369,0,623,369,0,224,236,0,3400,1,
0,623,381,0,583,381,0,500,381,0,
593,32,0,2304,32,0,623,254,0,583,
254,0,500,254,0,1,3630,0,224,237,
0,180,20,0,8,10,0,1984,119,0,
1,3619,0,367,356,0,368,357,0,113,
2556,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,0,0,37,38,39,
40,41,42,43,44,45,46,47,0,49,
50,51,52,53,54,55,56,57,58,59,
60,25,62,63,64,65,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,66,67,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,55,56,57,58,59,60,13,62,63,
64,65,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,0,0,37,
38,39,40,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,55,56,57,
58,59,60,13,62,63,64,65,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,66,67,37,38,39,40,41,
42,43,44,45,46,47,0,49,50,51,
52,53,54,55,56,57,58,59,60,13,
62,63,64,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,0,0,
37,38,39,40,41,42,43,44,45,46,
47,0,49,50,51,52,53,54,55,56,
57,58,59,60,0,62,63,64,0,1,
2,0,4,5,6,7,8,9,0,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,0,27,28,29,30,31,
32,33,0,0,66,67,3,4,0,1,
7,8,4,35,6,7,8,49,50,51,
52,53,54,55,56,57,58,59,60,26,
62,63,64,0,1,0,3,0,1,6,
3,6,0,35,11,12,82,14,15,16,
48,48,0,1,2,0,4,0,0,7,
8,3,0,6,2,0,4,5,35,7,
8,68,35,36,0,1,2,3,84,5,
6,48,0,9,26,11,12,13,14,15,
16,17,18,19,20,21,22,23,65,66,
67,68,28,70,71,72,73,74,75,76,
0,78,79,80,81,82,83,84,85,86,
87,88,89,90,91,92,93,94,95,96,
97,0,1,68,3,80,81,6,0,0,
98,2,11,12,5,14,15,16,10,10,
68,77,0,88,89,90,91,92,93,94,
95,96,97,0,0,2,35,4,5,0,
7,8,0,1,2,3,0,5,6,48,
4,9,0,11,12,13,14,15,16,17,
18,19,20,21,22,23,65,66,67,68,
28,70,71,72,73,74,75,76,0,78,
79,80,81,82,83,84,85,86,87,88,
89,90,91,92,93,94,95,96,97,0,
1,2,3,4,5,6,7,8,9,0,
0,1,2,3,4,37,6,7,8,77,
10,0,1,24,25,26,27,28,29,30,
31,32,33,34,24,25,26,27,28,29,
30,31,32,33,0,35,36,3,49,50,
51,52,53,54,55,56,57,58,59,60,
0,62,63,64,4,0,0,7,8,4,
26,0,7,8,0,1,2,3,4,5,
6,7,8,9,24,25,0,27,28,29,
30,31,32,33,0,1,2,98,24,25,
26,27,28,29,30,31,32,33,34,49,
50,51,52,53,54,55,56,57,58,59,
60,0,1,49,50,51,52,53,54,55,
56,57,58,59,60,69,62,63,64,0,
1,2,3,0,5,6,3,61,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,0,0,26,2,0,1,2,
99,4,98,34,7,8,37,38,39,40,
41,42,43,44,45,46,47,0,24,2,
3,4,5,0,7,8,9,4,0,1,
2,3,4,10,6,7,8,0,65,0,
1,24,25,0,27,28,29,30,31,32,
33,34,24,25,26,27,28,29,30,31,
32,33,0,35,36,3,49,50,51,52,
53,54,55,56,57,58,59,60,35,62,
63,64,65,0,1,2,3,0,5,6,
0,1,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,0,0,26,
73,74,75,76,0,78,79,34,11,12,
37,38,39,40,41,42,43,44,45,46,
47,0,1,2,3,48,5,6,0,77,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,0,0,26,2,0,
4,5,3,7,8,34,0,1,37,38,
39,40,41,42,43,44,45,46,47,0,
0,2,3,4,5,26,7,8,9,0,
0,1,2,3,4,36,6,7,8,0,
0,35,2,24,25,5,27,28,29,30,
31,32,33,34,24,25,26,27,28,29,
30,31,32,33,69,35,36,0,49,50,
51,52,53,54,55,56,57,58,59,60,
0,62,63,64,65,0,1,2,3,0,
5,6,0,1,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,0,
0,26,73,74,75,76,0,78,79,34,
11,12,37,38,39,40,41,42,43,44,
45,46,47,0,1,2,3,0,5,6,
0,1,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,0,0,26,
2,0,4,5,3,7,8,34,0,1,
37,38,39,40,41,42,43,44,45,46,
47,0,0,2,3,4,5,0,7,8,
9,0,0,2,3,0,4,36,61,7,
8,0,86,87,13,24,25,0,27,28,
29,30,31,32,33,34,24,25,61,27,
28,29,30,31,32,33,69,36,0,1,
49,50,51,52,53,54,55,56,57,58,
59,60,0,62,63,64,65,0,1,2,
3,0,5,6,3,48,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,0,0,26,73,74,75,76,83,78,
79,34,11,12,37,38,39,40,41,42,
43,44,45,46,47,0,1,2,3,0,
5,6,3,61,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,0,
69,26,0,4,2,26,7,8,77,34,
0,1,37,38,39,40,41,42,43,44,
45,46,47,0,1,2,3,48,5,6,
0,1,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,0,0,26,
2,4,0,5,7,8,0,34,10,0,
37,38,39,40,41,42,43,44,45,46,
47,0,1,2,3,0,5,6,3,4,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,0,0,26,0,4,
2,26,7,8,6,34,10,48,37,38,
39,40,41,42,43,44,45,46,47,0,
1,2,3,0,5,6,3,0,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,0,0,26,2,4,0,26,
7,8,0,34,2,0,37,38,39,40,
41,42,43,44,45,46,47,0,1,2,
3,48,5,6,0,1,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,0,1,26,3,0,1,2,3,0,
1,34,3,48,37,38,39,40,41,42,
43,44,45,46,47,0,1,2,0,4,
5,69,7,8,9,0,35,36,10,4,
35,36,7,8,0,36,0,0,2,24,
25,5,27,28,29,30,31,32,33,24,
25,14,27,28,29,30,31,32,33,0,
0,2,3,0,49,50,51,52,53,54,
55,56,57,58,59,60,0,62,63,64,
0,0,2,0,4,5,0,7,8,9,
0,10,0,10,4,36,4,7,8,7,
8,0,0,1,24,25,0,27,28,29,
30,31,32,33,24,25,10,27,28,29,
30,31,32,33,61,24,25,0,27,49,
50,51,52,53,54,55,56,57,58,59,
60,14,62,63,64,0,1,2,3,0,
5,6,66,67,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,0,
1,2,3,0,5,6,3,0,9,0,
11,12,13,14,15,16,17,18,19,20,
21,22,23,0,1,2,0,4,0,6,
7,8,0,1,2,0,1,5,6,36,
65,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,0,0,35,0,
1,2,0,4,61,0,7,8,0,1,
2,0,10,5,6,10,77,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,0,1,2,0,68,5,6,0,
1,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,0,1,2,48,
61,5,6,66,67,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
0,1,2,0,0,5,6,0,0,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,0,1,2,0,0,5,
6,0,0,9,6,11,12,13,14,15,
16,17,18,19,20,21,22,23,0,1,
2,0,0,5,6,24,25,9,27,11,
12,13,14,15,16,17,18,19,20,21,
22,23,0,1,2,68,0,5,6,0,
0,9,6,11,12,13,14,15,16,17,
18,19,20,21,22,23,0,1,2,71,
72,5,6,24,25,9,27,11,12,13,
14,15,16,17,18,19,20,21,22,23,
0,1,2,0,0,5,6,0,0,9,
6,11,12,13,14,15,16,17,18,19,
20,21,22,23,0,1,2,71,72,5,
6,24,25,9,27,11,12,13,14,15,
16,17,18,19,20,21,22,23,0,1,
2,0,0,5,6,0,0,9,0,11,
12,13,14,15,16,17,18,19,20,21,
22,23,0,1,2,71,72,5,6,24,
25,9,27,11,12,13,14,15,16,17,
18,19,20,21,22,23,0,1,2,0,
0,5,6,3,0,9,0,11,12,13,
14,15,16,17,18,19,20,21,22,23,
0,0,1,0,4,0,0,7,8,4,
0,6,7,8,4,83,36,7,8,0,
1,2,3,0,24,25,3,27,28,29,
30,31,32,33,24,25,35,27,28,29,
30,31,32,33,0,0,1,3,4,0,
0,7,8,4,35,36,7,8,0,0,
15,16,3,0,0,1,2,48,4,0,
26,7,8,4,69,6,7,8,0,0,
35,2,4,0,5,7,8,4,65,0,
7,8,48,4,0,36,7,8,4,0,
0,7,8,3,0,0,0,48,3,0,
0,0,68,4,35,70,7,8,0,0,
0,0,0,4,3,61,7,8,24,25,
85,27,10,0,0,0,36,3,69,4,
0,36,7,8,0,82,35,0,48,70,
10,4,0,48,7,8,4,36,0,7,
8,0,0,0,2,66,67,5,10,0,
0,10,66,67,0,0,0,0,0,61,
10,70,0,0,10,0,0,0,0,0,
80,81,0,0,61,0,0,0,0,65,
0,0,0,0,84,61,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,61,0,0,0,0,0,
61,0,0,0,0,0,61,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,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,
3392,1,5946,1736,3242,5940,1,1,1,1,
926,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,3401,1,1,1,
1,1,1,1,3493,55,345,1458,980,942,
1211,1663,464,1360,1039,1653,2723,1613,1,1,
1,1,1,1,1,1,1,1,1,1,
1,3736,1,1,1,3399,8,3374,3374,3374,
3374,3374,3374,3374,3374,3374,3374,3374,3374,3374,
3374,3374,3374,3374,3374,3374,3374,3374,3374,3374,
3374,3374,3374,3374,3374,3374,3374,3374,3374,3374,
3374,801,2491,3374,3374,3374,3374,3374,3374,3374,
3374,3374,3374,3374,350,3374,3374,3374,3374,3374,
3374,3374,3374,3374,3374,3374,3374,905,3374,3374,
3374,3374,3392,1,5946,1736,3242,5940,1,1,
1,1,926,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,3401,1,
1,1,1,1,1,1,3493,359,287,1458,
980,942,1211,1663,464,1360,1039,1653,2723,1613,
3392,1,1,1,1,1,1,1,1,1,
1,1,1,1041,1,1,1,3399,3392,1,
5946,3402,3242,5940,1,1,1,1,926,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,3401,1,1,1,1,1,
1,1,3493,801,2491,1458,980,942,1211,1663,
464,1360,1039,1653,2723,1613,3392,1,1,1,
1,1,1,1,1,1,1,1,1,905,
1,1,1,3392,1,5946,3402,3242,5940,1,
1,1,1,926,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,3401,
1,1,1,1,1,1,1,3493,358,3392,
1458,980,942,1211,1663,464,1360,1039,1653,2723,
1613,3392,1,1,1,1,1,1,1,1,
1,1,1,1,67,1,1,1,3392,2939,
3403,3392,623,3404,1107,500,583,3132,221,877,
839,3408,1754,3103,2226,1938,3405,3406,3407,740,
522,1848,3607,3609,71,3608,3556,3557,3555,3610,
3558,3554,348,236,801,2491,224,3335,269,2819,
3335,3335,623,851,254,500,583,3561,3566,3565,
3563,3564,3562,3567,3568,3560,3569,3570,3571,224,
2853,3089,3064,1,3404,3392,3404,1,2819,3404,
266,2257,3392,851,3404,3404,1116,3404,3404,3404,
391,224,1,1860,3619,63,3251,3392,1,3245,
3248,3402,186,3118,3290,43,3281,3290,3404,3287,
3284,224,851,266,1,2939,3403,3396,2239,3404,
664,3404,158,1091,3401,877,839,3408,1754,3103,
2226,1938,3405,3406,3407,740,522,1848,3404,3404,
3404,3404,916,3404,3404,3404,3404,3404,3404,3404,
3392,3404,3404,3404,3404,3404,3404,3404,3404,3404,
3404,3404,3404,3404,3404,3404,3404,3404,3404,3404,
3404,1,3403,1420,3403,752,596,3403,3392,3392,
3241,3403,3403,3403,3404,3403,3403,3403,418,1075,
714,3395,3392,1394,1368,1342,1316,1290,1238,1264,
1212,1186,1157,185,3392,3302,3403,3293,3302,3392,
3299,3296,3392,2939,3403,3396,1,3404,702,3403,
3242,1091,3392,877,839,3408,1754,3103,2226,1938,
3405,3406,3407,740,522,1848,3403,3403,3403,3403,
1498,3403,3403,3403,3403,3403,3403,3403,119,3403,
3403,3403,3403,3403,3403,3403,3403,3403,3403,3403,
3403,3403,3403,3403,3403,3403,3403,3403,3403,3392,
1,1,3402,3242,1,1,1,1,1,3392,
357,368,368,3386,368,3377,3386,368,368,3395,
5905,3392,927,1,1,3401,1,1,1,1,
1,1,1,3699,368,368,3386,368,368,368,
368,368,368,368,3392,368,3386,3402,1,1,
1,1,1,1,1,1,1,1,1,1,
130,1,1,1,3260,183,1,3254,3257,623,
3401,113,500,583,3392,1,1,3402,3242,1,
1,1,1,1,3607,3609,3392,3608,3556,3557,
3555,3610,3558,3554,1,1860,3619,301,1,1,
3401,1,1,1,1,1,1,1,3699,3561,
3566,3565,3563,3564,3562,3567,3568,3560,3569,3570,
3571,3392,570,1,1,1,1,1,1,1,
1,1,1,1,1,3651,1,1,1,3392,
1,5946,3402,1,5940,1,3338,2378,1,926,
1,1,1,1,1,1,1,1,1,1,
1,1,1,3392,327,3401,3720,254,1860,3619,
3389,623,300,3493,500,583,1458,980,942,1211,
1663,464,1360,1039,1653,2723,1613,3392,3721,1,
192,1,1,1,1,1,1,3242,20,3371,
180,3371,180,926,3371,180,180,60,3399,3392,
793,1,1,272,1,1,1,1,1,1,
1,3589,180,180,3371,180,180,180,180,180,
180,180,3392,3371,3371,3396,1,1,1,1,
1,1,1,1,1,1,1,1,851,1,
1,1,192,3392,1,5946,3402,257,5940,1,
3392,800,1,926,1,1,1,1,1,1,
1,1,1,1,1,1,1,52,3392,3401,
2824,2808,2792,2776,3392,2760,1764,3493,2851,2634,
1458,980,942,1211,1663,464,1360,1039,1653,2723,
1613,3392,1,5946,3402,1139,5940,1,3392,3395,
1,926,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,207,3401,5941,1,
623,5941,117,500,583,3493,223,606,1458,980,
942,1211,1663,464,1360,1039,1653,2723,1613,3392,
3392,1,191,1,1,117,1,1,1,3392,
356,367,367,3383,367,117,3383,367,367,62,
3392,851,3403,1,1,3404,1,1,1,1,
1,1,1,3589,367,367,3383,367,367,367,
367,367,367,367,3650,367,3383,3392,1,1,
1,1,1,1,1,1,1,1,1,1,
3392,1,1,1,191,3392,1,5946,3402,3392,
5940,1,11,3323,1,926,1,1,1,1,
1,1,1,1,1,1,1,1,1,54,
3392,3401,2824,2808,2792,2776,73,2760,1764,3493,
2851,2634,1458,980,942,1211,1663,464,1360,1039,
1653,2723,1613,3392,1,5946,3402,3392,5940,1,
3392,460,1,926,1,1,1,1,1,1,
1,1,1,1,1,1,1,3392,378,3401,
5945,3392,623,5945,3398,500,583,3493,351,1011,
1458,980,942,1211,1663,464,1360,1039,1653,2723,
1613,3392,3392,1,192,1,1,3392,1,1,
1,3392,131,1719,3398,69,3269,3397,2405,3263,
3266,61,433,513,1694,1,1,89,1,1,
1,1,1,1,1,3589,3607,3609,2432,3608,
3556,3557,3555,3610,3558,3554,1524,3397,338,1412,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,192,3392,1,5946,
3402,3392,5940,1,3396,1446,1,926,1,1,
1,1,1,1,1,1,1,1,1,1,
1,53,3392,3401,2824,2808,2792,2776,1800,2760,
1764,3493,2851,2634,1458,980,942,1211,1663,464,
1360,1039,1653,2723,1613,3392,1,5946,3402,3392,
5940,1,3402,2,1,926,1,1,1,1,
1,1,1,1,1,1,1,1,1,254,
1726,3401,3392,623,1824,3401,500,583,3395,3493,
3392,2991,1458,980,942,1211,1663,464,1360,1039,
1653,2723,1613,3392,1,5946,3402,2053,5940,1,
3392,2478,1,926,1,1,1,1,1,1,
1,1,1,1,1,1,1,160,3392,3401,
3403,623,3392,3404,500,583,3392,3493,1182,30,
1458,980,942,1211,1663,464,1360,1039,1653,2723,
1613,3392,1,5946,3402,1,5940,1,117,3242,
1,926,1,1,1,1,1,1,1,1,
1,1,1,1,1,379,230,3401,3392,623,
1618,117,500,583,1728,3493,233,3421,1458,980,
942,1211,1663,464,1360,1039,1653,2723,1613,3392,
1,5946,3402,3392,5940,1,3402,3392,1,926,
1,1,1,1,1,1,1,1,1,1,
1,1,1,382,3392,3401,3631,623,3392,3401,
500,583,1,3493,3365,208,1458,980,942,1211,
1663,464,1360,1039,1653,2723,1613,3392,1,5946,
3402,2189,5940,1,3392,2818,1,926,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,2819,3401,3398,1,2129,3380,3398,3392,
435,3493,3398,5933,1458,980,942,1211,1663,464,
1360,1039,1653,2723,1613,1,1860,651,1,3251,
3404,3651,3245,3248,1019,132,851,3397,926,3278,
851,3397,3272,3275,3392,3397,209,65,3403,3607,
3609,3404,3608,3556,3557,3555,3610,3558,3554,3607,
3609,2103,3608,3556,3557,3555,3610,3558,3554,3392,
3392,969,3398,3392,3561,3566,3565,3563,3564,3562,
3567,3568,3560,3569,3570,3571,3392,2853,3089,3064,
3392,3392,3403,3392,623,3404,59,500,583,1019,
133,1379,381,1431,3311,3397,3341,3305,3308,3347,
3344,3392,3392,2913,3607,3609,230,3608,3556,3557,
3555,3610,3558,3554,3607,3609,234,3608,3556,3557,
3555,3610,3558,3554,2425,3607,3609,66,3608,3561,
3566,3565,3563,3564,3562,3567,3568,3560,3569,3570,
3571,2103,2853,3089,3064,1,2939,4272,29,3392,
4174,1107,801,2491,1091,5905,877,839,3408,1754,
3103,2226,1938,3405,3406,3407,740,522,1848,3392,
2939,3403,3396,3392,3404,1107,3398,3392,1091,3392,
877,839,3408,1754,3103,2226,1938,3405,3406,3407,
740,522,1848,269,2129,3619,3392,623,212,254,
500,583,3392,2939,3403,325,887,3404,1107,3397,
29,1091,5905,877,839,3408,1754,3103,2226,1938,
3405,3406,3407,740,522,1848,3392,58,851,1,
1860,3619,3392,3251,423,368,3245,3248,3392,2939,
3403,30,1457,3404,1107,5905,3395,1091,5905,877,
839,3408,1754,3103,2226,1938,3405,3406,3407,740,
522,1848,1,2939,4272,3392,1549,4174,1107,3392,
3117,1091,5905,877,839,3408,1754,3103,2226,1938,
3405,3406,3407,740,522,1848,383,2939,3403,676,
1626,3404,1107,801,2491,1091,5905,877,839,3408,
1754,3103,2226,1938,3405,3406,3407,740,522,1848,
3392,2939,3403,3392,3392,3404,1107,3392,3392,1091,
5905,877,839,3408,1754,3103,2226,1938,3405,3406,
3407,740,522,1848,3392,2365,3403,3392,49,3404,
1107,250,3392,1091,3033,877,839,3408,1754,3103,
2226,1938,3405,3406,3407,740,522,1848,3392,2873,
3403,3392,3392,3404,1107,1,1,1091,1,877,
839,3408,1754,3103,2226,1938,3405,3406,3407,740,
522,1848,3392,2899,3403,813,51,3404,1107,249,
3392,1091,3033,877,839,3408,1754,3103,2226,1938,
3405,3406,3407,740,522,1848,3392,2923,3403,3007,
2543,3404,1107,3607,3609,1091,3608,877,839,3408,
1754,3103,2226,1938,3405,3406,3407,740,522,1848,
3392,2939,3403,3392,50,3404,1107,251,3392,1091,
3033,877,839,3408,1754,3103,2226,1938,3405,3406,
3407,740,522,1848,3392,2965,3403,3007,2543,3404,
1107,1,1,1091,1,877,839,3408,1754,3103,
2226,1938,3405,3406,3407,740,522,1848,1,2939,
3403,3392,70,3404,1107,252,3392,1091,3392,877,
839,3408,1754,3103,2226,1938,3405,3406,3407,740,
522,1848,3392,3024,3403,3007,2543,3404,1107,3607,
3609,1091,3608,877,839,3408,1754,3103,2226,1938,
3405,3406,3407,740,522,1848,333,2939,3403,3392,
1,3404,1107,3398,3392,1091,3392,877,839,3408,
1754,3103,2226,1938,3405,3406,3407,740,522,1848,
134,271,1058,3392,3320,1,3392,3314,3317,3251,
369,254,3245,3248,3332,1800,3397,3326,3329,1,
2129,3619,263,3392,3607,3609,3400,3608,3556,3557,
3555,3610,3558,3554,3607,3609,851,3608,3556,3557,
3555,3610,3558,3554,237,32,3350,224,3368,373,
3392,3368,3368,623,851,263,500,583,3392,3392,
3418,3419,3398,68,1,1860,3619,263,3251,1,
224,3245,3248,3251,3651,254,3245,3248,372,3392,
3353,3403,623,184,3404,500,583,623,3399,254,
500,583,224,3356,374,3397,3362,3359,623,57,
3392,500,583,3398,253,3392,56,838,3398,380,
64,293,224,623,1651,674,500,583,3392,201,
72,1,357,623,91,1626,500,583,3607,3609,
458,3608,5905,3392,286,375,3397,1378,3651,623,
355,3397,500,583,202,1116,1701,376,1975,1354,
5905,623,377,1029,500,583,623,91,42,500,
583,3392,208,3392,415,801,2491,415,5905,1,
190,5905,801,2491,382,1,3392,3392,3392,1574,
207,1637,3392,3392,378,3392,3392,3392,3392,3392,
752,596,3392,3392,1600,3392,3392,3392,3392,1378,
3392,3392,3392,3392,2239,1676,3392,3392,3392,3392,
3392,3392,3392,3392,3392,3392,3392,3392,3392,3392,
3392,3392,3392,3392,3777,3392,3392,3392,3392,3392,
3404,3392,3392,3392,3392,3392,3403
};
};
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,
677,1,416,382,552,677,417,384,675,47,
417,417,417,59,670,59,670,670,59,670,
59,386,384,373,417,59,554,28,419,675,
554,469,187,384,125,124,190,160,386,252,
523,248,327,45,156,670,582,579,582,156,
582,670,384,389,238,249,386,717,28,28,
28,28,28,28,28,28,28,28,28,630,
331,132,391,131,554,384,187,187,284,717,
140,384,524,7,327,424,249,672,473,675,
507,389,238,384,719,630,630,630,630,630,
249,249,249,243,539,523,582,582,310,28,
419,470,711,45,645,554,382,187,397,306,
747,429,288,440,445,443,453,447,456,455,
458,457,459,719,504,675,160,252,523,26,
470,470,582,417,417,13,417,417,470,79,
28,79,382,120,392,326,675,672,473,507,
507,238,238,249,241,120,249,249,249,249,
249,101,386,714,119,118,513,335,28,524,
249,28,306,583,249,384,747,306,287,284,
28,28,28,28,28,28,28,28,28,28,
28,28,28,28,28,28,28,28,28,28,
28,28,28,28,28,28,28,28,28,28,
81,28,120,504,138,520,470,470,537,28,
522,28,28,13,79,585,13,384,7,249,
309,249,249,473,504,71,473,507,509,588,
509,238,747,714,386,719,195,195,195,140,
675,243,249,597,717,28,339,630,523,249,
28,28,306,288,443,443,440,440,447,447,
445,445,445,445,445,445,455,453,457,456,
79,79,458,583,138,26,470,249,417,249,
249,13,28,13,386,120,473,73,509,504,
28,582,747,238,597,241,249,719,249,306,
306,28,28,509,279,470,26,13,28,13,
13,384,309,504,469,28,465,73,466,504,
238,249,199,504,136,193,261,582,28,79,
3,310,470,249,522,73,28,466,466,331,
140,593,582,28,249,310,470,13,466,28,
306,13,249,306,13
};
};
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,
98,0,68,35,70,0,3,48,36,2,
24,0,39,41,10,45,47,42,37,43,
44,40,38,46,34,26,3,1,18,19,
20,2,5,15,16,14,6,11,12,21,
22,17,23,9,13,0,57,49,54,52,
53,51,50,55,56,58,59,60,35,48,
36,33,30,28,29,32,24,27,25,31,
26,3,6,2,1,4,8,7,61,0,
17,18,19,20,13,2,5,1,15,16,
14,6,11,12,21,22,9,23,61,0,
29,24,30,31,32,27,28,33,25,2,
6,61,26,7,8,4,10,1,35,36,
3,48,0,1,68,26,7,8,4,35,
48,36,3,61,0,3,65,35,70,1,
18,19,20,13,15,16,14,6,11,12,
21,22,17,23,9,2,5,10,0,50,
62,30,51,31,52,53,32,27,54,55,
28,63,33,64,56,57,25,58,59,60,
2,5,9,24,49,29,7,8,4,3,
48,26,68,0,61,69,77,65,32,28,
33,31,30,29,14,11,12,71,72,66,
67,73,74,75,76,80,81,82,83,84,
86,87,68,88,89,90,91,92,93,94,
95,96,97,78,79,10,26,24,27,25,
48,2,6,7,8,4,35,1,36,3,
0,10,3,68,48,26,7,8,4,0,
68,1,18,19,20,13,15,16,14,6,
11,12,21,22,17,23,9,10,2,5,
35,70,0,24,27,25,28,15,16,14,
6,11,12,21,22,17,23,9,1,2,
5,18,19,20,13,77,3,0,48,17,
18,19,20,5,1,15,16,14,6,11,
12,21,22,9,23,13,36,3,2,0,
61,69,77,65,70,85,15,16,35,14,
11,12,71,72,66,67,73,74,75,76,
80,81,82,83,84,86,87,68,88,89,
90,91,92,93,94,95,96,97,48,78,
79,36,29,24,30,31,32,27,28,33,
25,26,3,2,1,7,8,4,6,0,
61,3,48,36,1,0,24,27,15,16,
14,6,11,12,21,22,17,23,9,2,
5,18,19,20,13,25,1,0,3,61,
36,13,0,2,3,36,1,0,68,88,
89,90,91,92,94,93,95,96,97,6,
71,72,11,12,67,66,73,74,75,76,
78,79,80,81,14,82,83,84,69,77,
36,65,86,87,61,7,8,4,48,26,
3,0,29,49,24,50,62,30,51,31,
52,53,32,27,54,55,28,63,33,64,
56,57,25,58,59,60,2,5,9,7,
8,4,34,3,65,0,2,5,3,65,
48,0,3,61,77,36,26,48,0,36,
98,99,65,39,41,10,45,47,42,37,
43,44,40,38,46,34,3,26,18,19,
20,13,15,16,14,11,12,21,22,17,
23,6,1,9,62,63,64,57,49,54,
52,53,51,50,55,56,58,59,60,33,
30,28,29,32,24,27,25,31,7,8,
4,5,2,0,61,69,0,3,48,65,
68,0,77,3,69,0,6,29,49,24,
50,62,30,51,31,52,53,32,27,54,
55,28,63,33,64,56,57,25,58,59,
60,2,5,9,69,4,8,7,0,17,
18,19,20,13,1,15,16,14,6,11,
12,21,22,23,29,49,24,50,62,30,
51,31,52,53,32,27,54,55,28,63,
33,64,56,57,25,58,59,60,9,2,
5,7,8,4,10,0,98,29,49,24,
50,62,30,51,31,52,53,32,27,54,
55,28,63,33,64,56,57,25,58,59,
60,5,1,9,7,8,26,3,34,4,
2,6,0,6,1,35,36,3,29,49,
50,62,30,51,31,52,53,32,54,55,
28,63,33,64,56,57,58,59,60,2,
5,9,7,8,4,69,24,27,25,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,
176,43,21,181,32,189,43,82,65,95,
43,43,43,96,87,96,87,87,96,87,
96,157,144,43,43,96,89,58,74,65,
153,182,87,160,23,23,43,43,157,43,
12,187,67,43,8,163,8,163,8,8,
8,163,167,43,163,187,157,186,58,58,
58,58,58,58,58,58,58,58,58,171,
43,187,43,43,98,143,163,87,70,186,
60,165,104,19,79,43,187,87,153,43,
153,43,87,85,117,171,171,171,171,171,
187,187,187,151,1,12,25,25,52,173,
74,182,43,74,126,35,181,163,57,72,
63,43,71,43,43,43,43,43,43,43,
43,43,43,131,153,43,43,43,113,180,
182,182,8,43,43,27,43,43,182,43,
76,43,181,187,43,187,43,163,139,153,
8,87,153,187,149,43,187,187,187,187,
187,16,157,184,23,23,43,43,58,104,
187,58,72,43,187,143,63,72,71,48,
58,58,58,58,58,58,58,58,58,58,
58,58,58,58,58,58,58,58,58,58,
58,58,58,58,58,58,58,58,58,58,
44,58,187,13,153,43,182,182,193,173,
43,173,173,27,43,43,27,83,19,187,
58,187,187,153,13,181,135,8,102,43,
43,153,63,148,157,117,16,16,16,15,
16,122,187,155,186,58,43,171,113,187,
58,58,72,71,43,43,43,43,43,43,
43,43,43,43,43,43,43,43,43,43,
43,43,43,43,56,195,182,187,43,187,
187,27,58,27,157,187,139,143,102,13,
58,8,63,48,155,120,187,117,187,72,
72,58,58,102,110,182,195,27,173,27,
27,84,58,13,182,58,43,160,87,13,
48,187,16,13,55,43,60,8,58,43,
10,195,182,187,43,143,58,87,163,50,
60,72,8,58,187,195,182,27,163,58,
72,27,187,72,27
};
};
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,
95,102,93,92,84,91,90,1,0,136,
0,2,53,0,6,51,50,0,117,0,
142,0,59,0,103,0,1,38,2,39,
0,34,2,100,95,102,94,93,92,84,
91,90,0,2,31,122,0,32,0,132,
0,2,123,0,112,51,2,6,0,6,
51,0,85,0,115,0,141,18,0,2,
6,49,0,101,0,6,144,0,18,119,
0,48,2,36,34,46,27,0,84,78,
79,80,81,87,72,54,0,29,2,138,
0,88,0,29,2,1,38,105,0,1,
145,0,38,1,77,53,2,29,0,34,
46,68,67,27,0,2,29,60,30,0,
128,2,29,0,2,58,97,0,107,2,
58,0,27,46,34,2,0,18,34,46,
67,68,2,0,2,29,27,63,0,46,
34,2,10,0,46,48,27,34,36,0,
58,30,2,31,0,137,2,29,0,31,
2,26,0,67,68,2,18,0,2,29,
113,0,29,60,2,71,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,
2,87,89,99,88,9,97,98,95,3,
10,11,86,8,6,7,70,83,84,85,
12,13,96,50,78,94,66,71,46,57,
62,65,74,100,1,92,79,47,48,51,
52,53,59,60,61,67,73,42,49,54,
58,63,64,68,69,76,77,80,81,82,
29,56,72,75,93,16,17,31,30,4,
14,15,18,19,20,21,91,43,44,22,
23,24,25,26,5,27,28,32,33,34,
35,36,37,38,39,40,41,101,55,90
};
};
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,
106,0,0,0,0,108,112,113,114,190,
0,0,0,115,116,117,118,103,119,120,
121,122,123,0,0,105,191,124,133,129,
107,141,0,164,0,167,0,125,128,0,
0,0,0,0,161,163,0,165,102,111,
0,151,104,140,0,0,0,155,166,132,
0,127,162,110,175,178,179,180,0,0,
0,143,150,0,168,174,131,144,145,146,
147,148,149,152,173,177,198,0,134,135,
136,137,138,139,142,0,154,158,160,169,
195,197,109,126,130,0,153,157,0,159,
172,182,187,0,189,0,192,0,194,0,
0,0,0,0,0,156,0,170,171,176,
181,0,183,184,0,185,186,188,0,0,
193,0,0,196,199,0,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[] = {
202,258,334,220,314,125,151,157,286,99,
363,385,342,1,108,141,167,187,67,266,
324,35,35,59,63,75,81,113,163,237,
302,75,421,428,432,359,381,394,408,394,
348,15,27,56,8,8,117,120,172,120,
197,120,247,252,255,311,436,50,87,93,
133,241,87,405,415,415,8,133,276,210,
372,210,276,20,20,41,233,41,41,41,
41,41,309,403,20,20,45,146,175,146,
175,175
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
public final int scopePrefix(int index) { return scopePrefix[index]; }
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
79,79,321,79,321,131,6,6,79,105,
369,391,329,6,39,131,6,39,72,271,
329,39,39,39,39,79,85,39,6,235,
235,79,39,39,6,321,321,321,412,398,
352,18,18,39,6,6,39,123,6,182,
39,200,250,250,250,235,39,53,90,96,
148,244,306,53,418,425,11,136,271,227,
375,213,279,25,33,43,235,292,294,296,
298,300,235,235,22,30,47,148,184,136,
177,192
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
public final int scopeSuffix(int index) { return scopeSuffix[index]; }
public interface ScopeLhs {
public final static char scopeLhs[] = {
80,78,43,80,43,63,59,59,78,50,
43,42,43,146,69,63,59,36,11,78,
43,87,7,7,116,115,70,69,59,97,
60,30,7,6,6,43,42,42,24,42,
43,108,83,4,136,135,67,86,59,100,
34,52,79,79,79,44,4,40,70,112,
63,97,60,40,8,6,146,63,78,80,
43,80,78,108,83,102,97,94,93,92,
91,90,60,41,108,83,144,63,36,63,
48,36
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
public final int scopeLhs(int index) { return scopeLhs[index]; }
public interface ScopeLa {
public final static byte scopeLa[] = {
65,65,36,65,36,24,77,77,65,65,
36,99,26,77,36,24,77,36,36,10,
26,36,36,36,36,65,10,36,77,26,
26,65,36,36,77,36,36,36,61,36,
26,7,7,36,77,77,36,1,77,2,
36,2,2,2,2,26,36,61,2,68,
6,2,2,61,36,36,69,6,10,10,
37,2,2,2,2,9,26,2,62,63,
63,57,26,26,2,2,69,6,1,6,
1,1
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
public final int scopeLa(int index) { return scopeLa[index]; }
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
141,141,38,141,38,208,54,54,141,17,
38,38,38,3,58,208,54,146,164,141,
38,141,65,65,14,138,224,58,54,8,
221,30,65,65,65,38,38,38,101,38,
38,5,159,65,1,3,58,60,54,217,
146,152,141,141,141,38,65,38,224,135,
208,8,221,38,72,65,3,208,141,141,
38,141,141,5,159,142,8,142,142,142,
142,142,221,38,5,159,12,208,146,208,
148,146
};
};
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,
162,69,162,35,0,102,0,162,35,0,
30,127,102,0,198,127,0,191,0,127,
0,158,191,0,158,0,152,127,0,151,
191,0,151,0,164,1,9,0,103,0,
195,0,198,0,162,0,30,127,0,244,
39,0,29,128,0,130,1,0,164,1,
23,0,240,1,217,0,239,1,1,7,
0,103,103,0,205,102,10,0,104,0,
200,102,129,0,189,0,102,129,0,169,
189,0,233,102,0,31,150,0,188,231,
102,10,151,0,104,0,0,175,102,1,
167,0,175,102,1,0,186,1,0,163,
102,0,178,0,102,137,6,137,163,0,
173,0,137,163,0,9,0,0,173,0,
102,137,6,137,0,137,0,9,0,0,
128,28,211,102,35,0,128,211,102,28,
35,0,128,28,35,0,128,211,102,35,
0,128,35,0,134,0,2,0,170,103,
0,167,0,2,103,0,175,102,1,134,
0,2,0,168,103,0,152,1,0,161,
0,188,209,102,10,101,227,62,0,227,
62,0,106,3,0,0,0,104,0,188,
209,102,10,227,62,0,3,0,0,0,
104,0,158,0,105,0,226,102,158,0,
102,158,0,156,105,0,196,62,0,106,
0,196,64,0,196,63,0,206,102,10,
225,101,224,184,0,225,101,224,184,0,
3,0,0,104,0,224,184,0,106,0,
3,0,0,104,0,206,102,10,224,184,
0,147,0,146,0,145,0,144,0,143,
0,189,102,129,0,134,105,0,129,0,
131,46,0,171,126,171,160,1,43,0,
103,128,0,171,160,1,43,0,105,0,
103,128,0,171,126,171,126,171,1,43,
0,171,126,171,1,43,0,171,1,43,
0,105,0,105,0,103,128,0,131,1,
37,0,131,1,37,139,42,0,103,105,
0,139,42,0,79,2,107,103,105,0,
131,1,47,0,139,118,131,1,45,0,
55,128,0,131,1,45,0,103,128,55,
128,0,138,0,162,39,0,131,87,123,
0,29,124,0,164,1,0,103,113,0,
164,1,17,0,103,111,0,223,1,106,
0,131,35,106,0,131,1,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,
414,0,1784,0,2189,2024,0,2882,1999,2017,
0,942,0,838,435,0,813,775,676,1302,
638,1277,424,1250,1018,712,636,714,0,3024,
1960,2965,2939,2923,2899,2873,2365,2583,2563,2556,
2536,2529,2482,2432,2425,1925,2405,2378,1843,464,
1797,1751,0,1282,1275,673,457,1946,2618,2129,
2819,2092,2271,0,3132,3103,2226,1938,1848,1091,
1019,702,424,433,1800,2239,2103,1116,2824,2808,
2792,2776,2760,1764,752,596,2851,2634,2491,801,
3033,3007,2543,664,1754,1107,877,839,740,522,
1726,1701,813,1676,1651,775,1626,1029,1600,1574,
1549,1524,1498,1472,1446,887,1420,1394,1368,1342,
1316,1290,1264,1238,1212,1186,1157,993,967,942,
916,389,714,851,676,638,0,774,754,0,
1072,535,389,485,0,2834,485,2364,1946,2336,
2307,2189,2264,2024,2129,2092,2279,1860,1888,1996,
2053,1054,0,3190,3186,3164,2189,3146,2264,2364,
1946,2024,2618,1888,1996,3118,3182,3168,535,389,
2336,2257,3114,2307,3140,3068,2053,2922,2834,2726,
2428,2173,2279,621,1072,2702,2696,2853,2688,3089,
3064,2662,2654,2636,499,1054,485,2477,3060,2143,
3032,2972,2883,2879,1865,0,1888,1054,485,0,
2991,1960,1138,1925,1843,1797,1751,2848,2590,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,221,4,129,102,237,242,102,200,190,
7,8,4,191,184,192,64,63,193,62,
194,102,1,2,134,202,195,9,1,200,
229,189,152,127,146,134,183,148,102,136,
10,1,1,1,224,127,196,127,196,227,
196,127,163,137,127,152,102,1,9,23,
17,22,21,12,11,6,14,16,15,1,
106,243,13,201,102,48,127,152,35,1,
68,163,102,1,241,2,13,101,10,101,
10,137,6,163,102,1,1,1,1,1,
130,164,131,158,102,10,85,70,1,35,
61,118,1,48,238,102,129,127,28,128,
102,107,6,109,115,114,117,116,120,119,
122,121,123,102,10,151,148,136,205,46,
38,40,44,43,37,42,47,45,138,41,
39,101,129,239,217,1,225,127,102,10,
102,6,137,175,129,176,164,164,164,164,
164,118,102,1,168,167,204,101,9,102,
223,102,131,6,2,102,102,128,211,185,
97,96,95,93,94,92,91,90,89,88,
68,72,71,6,66,67,12,11,81,80,
79,78,76,75,74,73,82,14,84,83,
87,86,228,102,10,3,131,101,1,1,
139,1,1,61,244,162,61,102,48,118,
1,13,2,10,206,158,207,102,209,101,
210,137,102,1,102,48,118,118,118,118,
118,163,186,102,1,48,107,1,205,2,
211,28,128,6,114,114,109,109,116,116,
115,115,115,115,115,115,119,117,121,120,
222,131,122,48,102,160,171,131,37,131,
131,61,69,61,102,240,102,102,209,188,
68,48,102,185,102,163,175,102,164,128,
128,61,61,231,102,171,126,118,1,118,
118,163,48,206,226,61,152,127,198,188,
185,175,118,188,48,233,245,70,35,101,
234,126,171,131,139,48,61,198,127,153,
68,162,70,35,171,126,118,99,127,69,
162,118,171,162,118
};
};
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",
"typeof",
"__alignof__",
"__attribute__",
"__declspec",
"asm",
"ERROR_TOKEN",
"EOF_TOKEN",
"]",
")",
"}",
";",
"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_in_statement",
"expression_list_actual",
"constant_expression",
"statement",
"compound_statement",
"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",
"type_name_specifier",
"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",
"initializer_seq",
"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",
"extended_asm_param",
"case_range_expression",
"typeof_declaration_specifiers",
"typeof_type_specifier",
"field_name_designator"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
public final static int
ERROR_SYMBOL = 34,
SCOPE_UBOUND = 91,
SCOPE_SIZE = 92,
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 = 375,
NT_OFFSET = 100,
LA_STATE_OFFSET = 3780,
MAX_LA = 2147483647,
NUM_RULES = 388,
NUM_NONTERMINALS = 147,
NUM_SYMBOLS = 247,
SEGMENT_SIZE = 8192,
START_STATE = 2590,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 98,
EOLT_SYMBOL = 98,
ACCEPT_ACTION = 3241,
ERROR_ACTION = 3392;
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];
}
}