/*******************************************************************************
* Copyright (c) 2006, 2015 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.c99;
public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym {
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
};
};
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,-106,0,-161,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-37,0,0,0,-18,0,-61,-10,
0,0,-159,0,-12,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-41,
0,0,0,0,0,0,0,-9,0,0,
0,0,0,-236,0,-4,0,0,0,0,
0,-23,0,0,0,0,0,0,-2,0,
0,-242,0,0,0,0,0,0,0,0,
0,0,-32,0,-65,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-3,
-139,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-13,0,
0,0,-33,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-154,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-221,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-39,0,0,0,-120,0,-267,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-20,0,0,0,-21,0,-7,-27,0,0,
-271,0,-156,0,-28,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-251,-31,0,0,0,-46,0,-22,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-24,0,0,-148,
0,-30,0,0,0,0,0,0,0,0,
0,0,0,0,-34,0,0,-137,0,-66,
0,0,0,0,0,0,0,0,0,-25,
0,-280,0,-279,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-44,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-58,0,-102,
-50,0,0,0,0,-26,0,-38,0,0,
0,-51,-146,0,0,0,0,0,0,0,
0,0,0,0,0,-157,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-192,-53,0,0,0,0,0,0,-150,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-138,0,0,0,0,0,0,
0,0,-35,0,-36,0,0,0,0,0,
0,0,-60,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-113,0,-119,0,-132,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-188,0,0,0,0,0,-165,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-118,
0,-104,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-121,0,-49,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-93,0,-151,0,-179,0,0,
0,0,0,0,0,0,0,0,-67,0,
0,0,0,0,0,0,0,-122,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-133,0,0,0,-160,0,
-123,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-124,0,-189,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-200,0,0,0,0,0,-125,0,-63,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-201,0,-126,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-202,0,0,0,
0,0,-127,0,-224,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-226,0,-128,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-227,0,0,0,0,0,-129,0,
-240,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-265,
0,-130,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-274,0,
0,0,0,0,-131,0,-278,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-284,0,-193,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-290,0,0,0,0,0,
-194,0,-74,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-75,0,-230,0,-76,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-77,0,0,0,-78,0,-235,0,-54,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-79,0,0,0,-249,0,-80,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-81,0,
-147,0,-82,0,0,0,0,0,0,0,
-260,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-83,0,0,
0,-270,0,-84,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-87,0,
0,0,-152,0,-89,0,0,0,0,0,
0,0,0,0,-277,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-111,0,0,0,-283,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-90,0,0,0,-72,0,-96,0,
0,0,0,0,-48,0,0,0,-149,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-95,0,-42,0,0,-238,0,-62,
-97,0,0,0,0,0,0,0,0,0,
-92,-45,0,0,-99,-91,0,0,0,-100,
-183,0,0,0,0,0,-114,0,0,-269,
0,0,0,-103,0,-29,0,0,-52,0,
0,0,0,0,0,0,0,0,0,0,
0,-70,0,-105,0,0,0,0,0,0,
0,-40,0,0,0,0,0,0,0,0,
0,0,0,-94,0,-172,0,0,0,-86,
-107,0,-47,0,-101,0,0,0,0,0,
0,0,0,-190,-115,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-59,-180,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-163,0,0,
0,0,0,-164,0,0,0,0,-15,0,
-8,0,-109,0,0,0,-166,-228,0,0,
0,-169,0,0,0,0,-223,-191,-6,-112,
0,0,-234,0,0,0,0,0,0,0,
-162,0,0,0,-174,0,0,0,0,0,
0,0,0,-17,0,-116,-252,0,0,0,
0,0,0,0,0,0,0,0,-176,0,
0,0,0,0,0,0,-195,0,0,0,
0,0,-247,-197,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-248,0,0,0,0,-73,0,0,0,0,
0,0,0,0,0,-177,0,0,0,-184,
0,0,0,0,0,0,-263,0,0,-98,
0,0,-85,-185,0,0,0,0,0,-204,
0,0,0,-282,0,-276,0,0,0,-205,
0,0,0,0,-206,0,0,0,0,0,
0,0,0,0,0,-155,0,-207,0,0,
0,0,0,0,0,0,0,0,0,-173,
0,0,0,0,0,-208,0,0,0,0,
0,-108,-57,0,0,-209,0,0,0,0,
0,-175,0,0,-239,-258,0,0,0,0,
0,0,0,0,0,0,0,-178,0,0,
0,-187,0,-229,0,0,-232,0,0,0,
0,0,0,0,0,0,0,-110,0,0,
0,0,0,-210,0,0,0,0,0,-211,
0,0,0,0,0,0,0,0,0,-254,
0,0,-212,0,0,0,-233,0,0,0,
0,-186,-213,0,-214,-250,0,-215,0,0,
0,-256,0,0,-216,0,0,0,0,0,
0,0,0,0,0,-217,0,-262,0,-218,
-68,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-257,0,0,
-266,-198,0,0,-196,0,0,0,0,0,
0,0,0,-219,0,0,0,0,0,-287,
0,0,0,-220,0,0,0,0,0,0,
0,0,0,0,-225,-261,0,0,-203,-243,
0,-289,0,0,0,0,-268,0,0,0,
0,0,0,0,0,0,-275,-181,0,0,
-244,-281,0,-291,0,0,-43,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-69,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-288,0,0,0,
0,-1,0,0,0,-259,-153,0,0,0,
0,0,0,0,0,0,0,0,0,-19,
-273,0,0,-144,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-140,0,
0,0,0,0,-55,0,-71,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-199,-286,0,-145,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-5,0,0,-88,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-134,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-141,0,0,0,0,0,0,0,0,0,
-241,0,0,-142,0,0,0,0,0,0,
0,0,0,-231,-246,0,0,-245,0,0,
0,0,-143,0,0,0,0,0,0,0,
0,0,0,0,-11,0,0,0,0,-14,
-182,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,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-64,-135,0,0,0,0,0,0,0,
-136,0,0,0,-167,0,0,0,0,-117,
0,0,0,0,0,0,0,0,0,0,
-56,0,0,0,0,0,0,0,0,0,
-264,0,0,0,0,0,-237,0,0,0,
0,0,0,-222,0,0,0,0,0,0,
0,0,0,-253,0,0,0,0,-272,0,
0,0,0,0,0,0,0,0,0,0,
0,-285,0,0,0,0,0,0,0,0,
0,-158,0,0,0,0,0,0,0,0,
0,-168,0,0,0,0,0,0,0,-170,
0,0,0,-171,0,0,0,0,0,0,
0,0,0,0,0,-255,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@Override
public final int baseCheck(int index) { return baseCheck[index]; }
public final static short rhs[] = baseCheck;
@Override
public final int rhs(int index) { return rhs[index]; };
public interface BaseAction {
public final static char baseAction[] = {
107,2,125,40,40,23,23,45,45,17,
17,1,1,3,3,3,3,4,4,4,
5,6,6,6,6,6,6,6,6,78,
78,90,7,7,7,7,7,7,7,7,
7,7,7,8,8,9,9,9,9,10,
10,10,11,11,11,12,12,12,12,12,
13,13,13,14,14,15,15,16,16,18,
18,19,19,20,20,22,22,22,22,22,
22,22,22,22,22,22,22,29,27,21,
108,108,91,91,56,30,30,30,30,30,
30,30,31,31,31,28,28,92,92,68,
68,32,32,33,33,33,63,63,34,34,
34,34,34,35,35,35,35,35,47,47,
24,24,24,24,24,48,48,48,84,84,
79,79,79,79,80,80,80,81,81,81,
82,82,82,83,83,83,93,93,85,85,
86,49,51,51,51,51,51,64,65,65,
65,65,65,65,65,65,65,65,65,65,
72,69,69,109,110,74,74,70,70,70,
87,94,94,95,95,88,88,88,57,111,
111,96,97,97,97,71,71,112,98,98,
99,99,89,89,25,26,26,26,50,52,
52,41,41,41,41,37,37,38,42,42,
43,39,39,100,100,44,114,114,113,113,
46,46,46,46,46,46,46,46,46,101,
54,54,54,54,36,75,75,66,66,66,
67,67,58,58,115,115,77,77,76,76,
76,59,59,59,60,61,61,61,62,62,
62,62,73,73,53,53,55,117,116,116,
116,116,102,118,119,119,120,120,121,121,
107,107,122,122,103,103,103,103,123,123,
104,104,104,105,106,106,292,1606,998,17,
21,18,1133,949,45,1152,1171,1156,1194,1175,
1219,1200,1248,622,1223,1254,75,331,92,359,
176,136,214,1426,20,505,17,21,18,1133,
43,45,1152,1171,1156,1194,1175,1219,1200,1248,
908,1824,2191,285,138,135,137,161,944,703,
525,225,234,668,587,1610,1051,180,337,242,
140,167,358,232,1355,144,147,150,153,754,
340,333,1115,136,214,1501,368,2105,2110,2119,
1544,136,214,322,835,1407,20,1559,17,21,
18,1133,41,525,225,233,146,135,137,161,
419,1313,1519,789,138,135,137,161,703,666,
225,230,443,220,610,222,224,128,275,541,
140,167,90,587,188,144,147,150,153,403,
340,270,783,926,273,1501,368,2105,2110,2119,
1544,1426,20,211,17,21,18,1133,43,45,
1152,1171,1156,1194,1175,1765,527,1350,20,551,
17,21,18,1133,949,45,1152,1171,1156,1194,
1175,1219,1200,1248,440,1223,1254,75,1124,282,
1265,20,551,17,21,18,1133,949,45,1152,
1171,1156,1194,1175,1219,1200,1248,226,1223,1254,
75,296,282,256,214,314,595,324,402,987,
283,1451,1269,1426,20,442,17,21,18,1133,
43,45,1152,1171,1156,1194,1175,1219,1200,1775,
288,412,833,283,1335,1269,1242,20,324,17,
21,18,1133,949,45,1152,1171,1156,1194,1175,
1219,1200,1248,290,1223,1254,75,892,282,289,
1426,20,501,17,21,18,1133,43,45,1152,
1171,1156,1676,1766,129,587,187,314,587,31,
1426,20,291,17,21,18,1133,43,40,283,
913,1269,1369,20,421,17,21,18,1133,949,
45,1152,1171,1156,1194,1175,1219,1200,1248,159,
1223,1254,75,311,282,1199,20,1360,17,21,
18,1133,949,45,1152,1171,1156,1194,1175,1219,
1200,1248,295,1223,1254,75,229,339,1108,180,
833,358,1436,1682,313,283,1004,1269,829,1857,
531,294,749,1426,20,240,17,21,18,1133,
43,45,1645,136,214,292,1426,20,25,17,
21,18,1133,43,45,1152,1171,1156,1194,1175,
1219,1786,1466,831,658,105,138,135,137,161,
1426,20,228,17,21,18,1133,43,45,1152,
1171,1734,140,167,587,31,1387,144,147,150,
153,284,340,326,672,587,189,1501,368,2105,
2110,2119,1544,1388,20,2180,17,21,18,1133,
949,45,1152,1171,1156,1194,1175,1219,1200,1248,
261,1223,1254,75,440,810,1223,20,440,17,
21,18,1133,949,45,1152,1171,1156,1194,1175,
1219,1200,1248,1285,1223,1254,75,231,1567,1426,
20,1574,17,21,18,1133,949,45,1152,1171,
1156,1194,1175,1219,1200,1248,241,1223,1254,75,
359,92,1426,20,24,17,21,18,1133,43,
45,1152,1171,1156,1194,1175,1219,1200,1248,277,
1223,1254,94,1426,20,418,17,21,18,1133,
949,45,1152,1171,1156,1194,1175,1219,1200,1248,
244,1223,1254,75,986,86,1426,20,998,17,
21,18,1133,43,45,1152,1171,1740,1535,1426,
20,125,17,21,18,1133,43,39,1426,20,
1559,17,21,18,1133,949,45,1152,1171,1156,
1194,1175,1219,1200,1248,440,1223,1254,75,1126,
85,1426,20,181,17,21,18,1133,949,45,
1152,1171,1156,1194,1175,1219,1200,1248,19,1223,
1254,75,235,84,1426,20,1132,17,21,18,
1133,949,45,1152,1171,1156,1194,1175,1219,1200,
1248,440,1223,1254,75,1441,83,1426,20,384,
17,21,18,1133,949,45,1152,1171,1156,1194,
1175,1219,1200,1248,1573,1223,1254,75,440,82,
1426,20,276,17,21,18,1133,949,45,1152,
1171,1156,1194,1175,1219,1200,1248,440,1223,1254,
75,1591,81,1426,20,440,17,21,18,1133,
949,45,1152,1171,1156,1194,1175,1219,1200,1248,
23,1223,1254,75,440,80,1426,20,1750,17,
21,18,1133,949,45,1152,1171,1156,1194,1175,
1219,1200,1248,440,1223,1254,75,1772,79,1426,
20,440,17,21,18,1133,949,45,1152,1171,
1156,1194,1175,1219,1200,1248,1808,1223,1254,75,
440,78,1426,20,274,17,21,18,1133,949,
45,1152,1171,1156,1194,1175,1219,1200,1248,440,
1223,1254,75,280,77,1426,20,440,17,21,
18,1133,949,45,1152,1171,1156,1194,1175,1219,
1200,1248,1988,1223,1254,75,440,76,1426,20,
281,17,21,18,1133,949,45,1152,1171,1156,
1194,1175,1219,1200,1248,440,1223,1254,75,1852,
1850,1426,20,1471,17,21,18,1133,949,45,
1152,1171,1156,1194,1175,1219,1200,1248,1874,1223,
1254,75,1055,1871,1426,20,876,17,21,18,
1133,949,45,1152,1171,1156,1194,1175,1219,1200,
1248,663,1223,1254,75,630,93,1426,20,331,
17,21,18,1133,43,45,1152,1171,1156,1194,
1175,1219,1200,1248,345,1223,1254,94,1426,20,
796,17,21,18,1133,949,45,1152,1171,1156,
1194,1175,1219,1200,1248,1520,1223,1254,75,931,
74,1426,20,288,17,21,18,1133,43,45,
1658,1426,20,213,17,21,18,1133,43,45,
1152,1171,1156,1194,1175,1219,1200,1248,751,1223,
1254,94,1426,20,550,17,21,18,1133,43,
45,1152,1171,1156,1194,1175,1219,1200,1248,1067,
1223,1254,94,1426,20,1064,17,21,18,1133,
43,45,1152,1171,1753,1426,20,203,17,21,
18,1133,43,45,1152,1171,1156,1194,1175,1219,
1200,1248,331,1223,1254,94,1426,20,1872,17,
21,18,1133,43,45,1152,1171,1156,1194,1175,
1219,1200,1248,1069,1223,1254,94,1445,20,589,
17,21,18,1133,34,178,1414,316,1762,1426,
20,204,17,21,18,1133,43,45,1152,1171,
1156,1686,111,587,1507,358,87,658,1295,1472,
890,626,1917,96,1445,109,95,97,98,99,
100,419,908,789,1623,708,1,1414,316,1472,
793,1464,110,256,214,255,214,946,126,1518,
587,297,88,111,54,232,331,87,1494,358,
1472,1728,308,107,96,1445,109,95,97,98,
99,100,1289,20,58,17,21,18,1133,43,
36,315,331,110,666,225,230,1376,219,610,
222,224,668,275,986,498,235,1414,316,264,
358,1104,318,622,108,986,268,783,926,273,
1443,124,247,111,941,1205,2071,87,668,1523,
1472,766,112,265,96,1445,109,95,97,98,
99,100,419,419,1546,1717,1965,278,1683,703,
666,225,1323,110,220,610,222,1275,60,128,
196,666,225,230,986,219,610,222,224,582,
275,1146,262,358,107,2111,494,986,119,1414,
316,127,905,268,783,926,273,986,331,355,
1119,1396,1712,998,123,111,136,214,1508,87,
1041,358,1472,477,2224,172,96,1445,109,95,
97,98,99,100,1108,180,355,986,1422,143,
135,137,161,106,668,110,666,225,582,1261,
219,610,222,535,2229,142,167,359,205,136,
214,160,392,1178,1319,20,108,17,21,18,
1133,43,44,666,225,230,735,219,610,222,
224,1490,139,135,137,161,1445,20,160,17,
21,18,1133,33,156,528,360,243,141,167,
1118,733,577,145,148,151,154,1489,340,558,
480,1414,789,1112,1465,658,28,28,1269,1269,
706,156,528,382,587,299,868,111,1422,577,
745,87,256,214,28,1480,1269,1387,96,1445,
1512,95,97,98,99,100,1426,20,1486,17,
21,18,1133,43,45,1152,1171,1156,1194,1768,
521,1414,789,666,225,230,367,219,610,222,
224,260,874,786,658,658,477,111,1846,764,
1455,87,562,1414,789,908,998,2201,96,1445,
104,95,97,98,99,100,198,1472,358,111,
2084,312,890,87,603,1414,789,868,279,1422,
96,1445,102,95,97,98,99,100,664,1610,
309,111,200,201,1284,87,899,255,214,1473,
1286,182,96,1445,103,95,97,98,99,100,
644,1414,789,1430,666,225,230,1464,219,610,
222,224,1161,1432,2207,1220,1500,111,672,1846,
193,87,685,1414,789,1141,858,1868,96,1445,
120,95,97,98,99,100,1411,1358,998,111,
1000,1426,20,87,17,21,18,1133,43,38,
96,1445,115,95,97,98,99,100,726,1414,
789,998,331,199,201,1289,20,210,17,21,
18,1133,43,36,1467,111,1381,1624,1926,87,
767,1414,789,206,711,1788,96,1445,1867,95,
97,98,99,100,1811,904,1499,111,668,359,
359,87,808,1414,789,248,614,1503,96,1445,
114,95,97,98,99,100,2088,1142,933,111,
658,359,359,87,849,1414,789,355,2340,1422,
96,1445,122,95,97,98,99,100,2340,22,
245,111,198,1426,20,87,17,21,18,1133,
43,37,96,1445,121,95,97,98,99,100,
2340,246,296,2340,666,225,230,359,219,610,
222,224,349,2340,376,1473,1484,1426,20,160,
17,21,18,1133,43,45,1152,1171,1763,306,
355,986,1422,195,1426,20,420,17,21,18,
1133,43,45,1152,1630,2340,194,298,2242,358,
2340,789,157,528,2340,622,2340,1426,20,305,
17,21,18,1133,43,35,2340,666,225,230,
88,219,610,222,224,2340,1849,1005,986,2085,
1426,20,494,17,21,18,1133,43,45,1152,
1640,703,666,225,230,118,220,610,222,224,
278,406,2340,376,1426,20,2340,17,21,18,
1133,43,36,2340,2340,302,304,310,306,389,
1061,2340,1812,275,2340,420,2340,2340,2340,2340,
2340,2340,2340,2340,2011,2340,268,783,926,273,
2340,2340,2340,2340,2340,2340,2340,2340,305,2340,
2340,1426,20,1041,17,21,18,1133,43,48,
2340,950,2340,658,1426,20,275,17,21,18,
1133,43,47,2340,992,950,658,658,1339,268,
783,926,273,1426,20,1387,17,21,18,1133,
43,46,2340,2340,2340,1003,267,668,198,1387,
1062,664,1610,2340,303,304,310,2340,2340,1449,
2340,668,2340,2340,703,392,2340,2340,2340,260,
136,214,2340,2340,275,136,214,1060,1455,2088,
2340,1473,2340,260,136,214,2340,270,783,926,
273,1060,1455,149,135,137,161,2340,152,135,
137,161,358,358,316,316,2340,155,135,137,
161,358,193,316,2340,1479,2340,316,1696,1868,
890,2340,2340,88,88,2340,198,198,2340,895,
895,1084,88,658,2340,198,88,2340,895,1472,
210,1084,116,658,2340,255,214,890,2340,1757,
1624,2340,2340,2340,1479,1387,789,2340,2340,2030,
2030,2340,2214,2340,1479,1387,789,2340,2030,1479,
2340,789,255,214,2340,88,2340,2340,1517,768,
941,116,1479,2340,789,88,2340,2340,968,260,
88,116,358,2340,789,498,116,764,1455,260,
2340,2340,358,88,789,2340,2340,1087,1455,116,
358,2340,789,88,358,2340,789,1547,2340,1790,
2340,1108,1617,88,2340,2340,358,1941,789,995,
2340,88,1106,2340,2340,88,2340,1014,2340,2340,
2340,1033,2340,2340,2340,1125,2340,88,2340,2340,
2340,2340,2340,1079,2340,0,11,227,0,2348,
1,0,1,2578,0,8,10,0,1845,119,
0,180,20,0,1,2567,0,113,1830,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@Override
public final int baseAction(int index) { return baseAction[index]; }
public final static char lhs[] = baseAction;
@Override
public final int lhs(int index) { return lhs[index]; };
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,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,43,44,45,46,47,48,49,
50,51,52,0,54,55,56,0,58,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,43,44,45,46,47,48,49,50,
51,52,59,54,55,56,59,58,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,43,44,45,46,47,48,49,50,51,
52,0,54,55,56,0,58,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,
43,44,45,46,47,48,49,50,51,52,
59,54,55,56,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,43,44,45,
46,47,48,49,50,51,52,0,54,55,
56,0,1,2,3,0,5,2,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,0,23,2,25,26,27,28,
29,0,1,0,3,0,1,6,3,6,
0,6,41,42,43,44,45,46,47,48,
49,50,51,52,0,54,55,56,0,1,
2,3,4,5,0,1,2,0,0,0,
1,2,4,4,5,78,0,19,20,21,
22,23,24,25,26,27,28,29,19,20,
21,22,23,0,25,26,27,28,29,41,
42,43,44,45,46,47,48,49,50,51,
52,0,54,55,56,0,1,2,3,4,
5,0,53,69,70,71,72,0,0,60,
0,73,4,65,19,20,21,22,23,24,
25,26,27,28,29,69,70,71,72,0,
22,0,0,4,61,4,41,42,43,44,
45,46,47,48,49,50,51,52,0,54,
55,56,61,22,53,0,83,84,85,86,
87,88,89,90,91,92,0,66,73,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,57,60,
0,22,61,24,0,1,6,3,0,30,
31,32,33,34,35,36,37,38,39,40,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,0,
0,1,22,3,24,69,70,71,72,0,
30,31,32,33,34,35,36,37,38,39,
40,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
0,0,1,22,3,24,0,1,0,3,
2,30,31,32,33,34,35,36,37,38,
39,40,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,0,1,2,22,0,24,2,0,0,
81,82,30,31,32,33,34,35,36,37,
38,39,40,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,0,0,1,22,3,24,0,7,
8,0,0,30,31,32,33,34,35,36,
37,38,39,40,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,74,75,0,22,0,24,2,
0,1,7,8,30,31,32,33,34,35,
36,37,38,39,40,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,0,74,75,22,0,24,
0,7,8,0,6,30,31,32,33,34,
35,36,37,38,39,40,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,0,0,1,22,3,
24,6,0,0,2,0,30,31,32,33,
34,35,36,37,38,39,40,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,73,77,0,22,
0,24,0,5,0,5,4,30,31,32,
33,34,35,36,37,38,39,40,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,0,1,2,
22,76,24,0,1,0,3,4,30,31,
32,33,34,35,36,37,38,39,40,0,
58,0,19,20,21,4,23,24,25,26,
27,28,29,0,0,2,0,0,19,20,
21,4,0,22,41,42,43,44,45,46,
47,48,49,50,51,52,59,54,55,56,
0,58,0,1,30,3,4,62,63,9,
0,1,2,0,4,0,1,2,57,0,
5,19,20,21,5,23,24,25,26,27,
28,29,19,20,21,53,23,60,25,26,
27,28,29,41,42,43,44,45,46,47,
48,49,50,51,52,0,54,55,56,4,
58,0,1,53,3,4,0,0,53,0,
60,4,0,0,0,2,2,22,4,0,
19,20,21,64,23,24,25,26,27,28,
29,19,20,21,0,23,0,25,26,27,
28,29,41,42,43,44,45,46,47,48,
49,50,51,52,0,54,55,56,0,58,
0,1,2,3,0,58,53,53,59,5,
0,0,2,0,60,5,0,4,0,19,
20,21,6,23,6,25,26,27,28,29,
19,20,21,0,23,22,25,26,27,28,
29,41,42,43,44,45,46,47,48,49,
50,51,52,0,54,55,56,0,1,6,
3,0,1,53,0,1,2,0,0,5,
57,67,68,0,61,0,19,20,21,4,
23,0,25,26,27,28,29,19,20,21,
0,0,19,20,21,0,0,64,41,42,
43,44,45,46,47,48,49,50,51,52,
0,54,55,56,19,20,21,53,23,0,
25,26,27,28,29,64,0,0,61,19,
20,21,57,6,53,60,41,42,43,44,
45,46,47,48,49,50,51,52,0,1,
2,3,4,5,0,7,8,9,10,11,
12,13,14,15,16,17,18,77,0,0,
79,23,0,1,2,3,4,5,9,7,
8,9,10,11,12,13,14,15,16,17,
18,0,1,2,3,23,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
0,57,0,65,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,0,0,0,2,65,0,1,
2,3,4,5,0,7,8,9,10,11,
12,13,14,15,16,17,18,0,0,0,
0,0,0,19,20,21,4,57,0,1,
2,3,58,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,53,0,0,
2,0,0,5,0,62,63,62,63,0,
1,2,3,65,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,0,1,
2,3,60,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,0,1,2,
3,53,5,0,7,8,9,10,11,12,
13,14,15,16,17,18,0,1,2,3,
0,5,0,7,8,9,10,11,12,13,
14,15,16,17,18,0,1,2,3,0,
5,0,7,8,9,10,11,12,13,14,
15,16,17,18,0,1,2,3,0,5,
0,7,8,9,10,11,12,13,14,15,
16,17,18,0,0,0,0,19,20,21,
0,23,2,25,26,27,28,29,0,0,
10,11,4,0,5,0,76,4,0,0,
5,62,63,62,63,6,0,0,0,0,
22,4,0,53,0,22,0,19,20,21,
6,0,6,0,0,0,66,6,0,0,
57,57,0,53,0,0,0,0,0,64,
0,0,0,0,0,0,66,0,60,0,
57,0,0,0,78,0,67,68,0,0,
80,0,67,68,0,58,57,59,0,0,
0,0,0,61,0,0,0,0,0,0,
0,0,59,59,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@Override
public final int termCheck(int index) { return termCheck[index]; }
public interface TermAction {
public final static char termAction[] = {0,
2340,4170,1,4169,1488,1,660,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,2349,1,2441,1,1,1,1,1,
1361,854,812,1434,1394,1620,1329,1353,1380,1371,
1375,1,1,1,1,1,1,1,1,1,
1,1,1,2340,1,1,1,2340,2347,8,
2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
2325,2325,1670,2325,2325,2325,1692,2325,2340,4170,
1,4169,1488,1,660,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
2349,1,2441,1,1,1,1,1,1361,854,
812,1434,1394,1620,1329,1353,1380,1371,1375,1,
1,1,1,1,1,1,1,1,1,1,
1,2340,1,1,1,183,2347,2340,4170,1,
4169,2350,1,660,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,2349,
1,2441,1,1,1,1,1,1361,854,812,
1434,1394,1620,1329,1353,1380,1371,1375,1,1,
1,1,1,1,1,1,1,1,1,1,
1714,1,1,1,2340,4170,1,4169,2350,1,
660,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,2349,1,2441,1,
1,1,1,1,1361,854,812,1434,1394,1620,
1329,1353,1380,1371,1375,1,1,1,1,1,
1,1,1,1,1,1,1,71,1,1,
1,2340,2351,2162,2352,11,2014,2316,1893,1791,
1967,1596,1327,405,2353,2354,2355,2356,869,600,
2555,2556,2557,2340,2504,360,2505,2503,2558,2506,
2502,2340,2351,2340,2352,2340,2351,661,2352,552,
254,1399,2509,2514,2513,2511,2512,2510,2515,2516,
2508,2517,2518,2519,60,1499,439,345,2340,1,
1,1,2350,1,1,2567,1940,1,2340,20,
180,2331,2344,2331,2331,533,62,1,1,1,
2349,1,2647,1,1,1,1,1,180,180,
180,2331,180,43,180,180,180,180,180,1,
1,1,1,1,1,1,1,1,1,1,
1,158,1,1,1,2340,1,1,1,2350,
1,2340,2331,1927,1273,856,710,184,1,2331,
287,301,2350,2343,1,1,1,2349,1,2647,
1,1,1,1,1,1927,1273,856,710,2340,
2349,236,2340,2346,1085,224,1,1,1,1,
1,1,1,1,1,1,1,1,2340,1,
1,1,556,224,1252,2340,1062,1039,1016,993,
970,924,947,901,878,833,61,1390,300,2340,
4170,1,4169,2350,1,660,1,1,1,1,
1,1,1,1,1,1,1,1,224,2345,
230,2349,224,2441,186,4160,233,4160,2340,1361,
854,812,1434,1394,1620,1329,1353,1380,1371,1375,
2340,4170,1,4169,2350,1,660,1,1,1,
1,1,1,1,1,1,1,1,1,2340,
185,4162,2349,4162,2441,1927,1273,856,710,73,
1361,854,812,1434,1394,1620,1329,1353,1380,1371,
1375,2340,4170,1,4169,2350,1,660,1,1,
1,1,1,1,1,1,1,1,1,1,
2340,207,4167,2349,4167,2441,2340,2351,2340,2352,
2175,1361,854,812,1434,1394,1620,1329,1353,1380,
1371,1375,2340,4170,1,4169,2350,1,660,1,
1,1,1,1,1,1,1,1,1,1,
1,254,2567,1940,2349,2340,2441,2262,2340,63,
343,2252,1361,854,812,1434,1394,1620,1329,1353,
1380,1371,1375,2340,4170,1,4169,2350,1,660,
1,1,1,1,1,1,1,1,1,1,
1,1,52,209,2351,2349,2352,2441,2340,1221,
673,64,2340,1361,854,812,1434,1394,1620,1329,
1353,1380,1371,1375,2340,4170,1,4169,2350,1,
660,1,1,1,1,1,1,1,1,1,
1,1,1,1339,580,54,2349,2340,2441,2270,
2340,2579,1221,673,1361,854,812,1434,1394,1620,
1329,1353,1380,1371,1375,2340,4170,1,4169,2350,
1,660,1,1,1,1,1,1,1,1,
1,1,1,1,53,1339,580,2349,2340,2441,
69,1221,673,2340,1503,1361,854,812,1434,1394,
1620,1329,1353,1380,1371,1375,2340,4170,1,4169,
2350,1,660,1,1,1,1,1,1,1,
1,1,1,1,1,1,208,374,2349,374,
2441,660,2340,2340,2274,67,1361,854,812,1434,
1394,1620,1329,1353,1380,1371,1375,2340,4170,1,
4169,2350,1,660,1,1,1,1,1,1,
1,1,1,1,1,1,2315,686,2340,2349,
2340,2441,1,1179,2340,1302,2319,1361,854,812,
1434,1394,1620,1329,1353,1380,1371,1375,2340,4170,
1,4169,2350,1,660,1,1,1,1,1,
1,1,1,1,1,1,1,1,2567,1940,
2349,461,2441,2340,1,55,1,192,1361,854,
812,1434,1394,1620,1329,1353,1380,1371,1375,2340,
2347,2340,1,1,1,2350,1,2537,1,1,
1,1,1,2340,119,2286,2340,1,2555,2556,
2557,2346,221,2349,1,1,1,1,1,1,
1,1,1,1,1,1,1231,1,1,1,
65,192,2340,1,2328,1,191,1944,1990,1656,
1,2334,1454,131,2346,263,2567,1454,1877,1,
1,1,1,1,254,1,2537,1,1,1,
1,1,2555,2556,2557,635,2504,2345,2505,2503,
2558,2506,2502,1,1,1,1,1,1,1,
1,1,1,1,1,2340,1,1,1,2350,
191,2340,1,635,1,192,2340,2340,635,2340,
2345,2348,132,223,1,1372,1987,2349,2346,2340,
1,1,1,2599,1,2537,1,1,1,1,
1,2555,2556,2557,2340,2504,2340,2505,2503,2558,
2506,2502,1,1,1,1,1,1,1,1,
1,1,1,1,2340,1,1,1,2340,192,
1,521,1940,2352,49,2347,635,635,1198,2093,
266,133,1987,237,2345,1,2340,224,230,2555,
2556,2557,1531,2504,234,2505,2503,2558,2506,2502,
2555,2556,2557,1,2504,224,2505,2503,2558,2506,
2502,2509,2514,2513,2511,2512,2510,2515,2516,2508,
2517,2518,2519,2340,1499,439,345,2340,2351,1708,
2352,1,2322,635,269,2567,1454,212,250,254,
224,2074,2061,249,224,2340,2555,2556,2557,2346,
2504,272,2505,2503,2558,2506,2502,1,1,1,
70,113,2555,2556,2557,130,2340,2599,2509,2514,
2513,2511,2512,2510,2515,2516,2508,2517,2518,2519,
251,1499,439,345,2555,2556,2557,635,2504,2340,
2505,2503,2558,2506,2502,2599,2340,42,1177,1,
1,1,1834,4153,635,2345,2509,2514,2513,2511,
2512,2510,2515,2516,2508,2517,2518,2519,1,2351,
2162,2352,2344,1412,257,1893,1791,1967,1596,1327,
405,2353,2354,2355,2356,869,600,686,2340,66,
2337,743,2340,2351,2162,2352,2344,1815,1656,1893,
1791,1967,1596,1327,405,2353,2354,2355,2356,869,
600,2340,2351,2162,2352,1131,2014,4153,1893,1791,
1967,1596,1327,405,2353,2354,2355,2356,869,600,
89,702,2340,2343,1,2351,2162,2352,29,2014,
4153,1893,1791,1967,1596,1327,405,2353,2354,2355,
2356,869,600,59,271,58,1695,2343,2340,2351,
2162,2352,2344,2014,252,1893,1791,1967,1596,1327,
405,2353,2354,2355,2356,869,600,2340,2340,2340,
2340,2340,1,2555,2556,2557,91,1154,2340,2351,
2162,2352,29,2014,4153,1893,1791,1967,1596,1327,
405,2353,2354,2355,2356,869,600,635,269,2340,
1987,2340,2340,254,2340,1944,1990,1944,1990,1,
2351,2162,2352,2343,2014,4153,1893,1791,1967,1596,
1327,405,2353,2354,2355,2356,869,600,2340,2351,
2162,2352,91,2014,4153,1893,1791,1967,1596,1327,
405,2353,2354,2355,2356,869,600,1,2351,2162,
2352,635,2014,2340,1893,1791,1967,1596,1327,405,
2353,2354,2355,2356,869,600,2340,2351,2163,2352,
68,2014,2340,1893,1791,1967,1596,1327,405,2353,
2354,2355,2356,869,600,2340,2351,2162,2352,57,
2014,56,1893,1791,1967,1596,1327,405,2353,2354,
2355,2356,869,600,2340,2351,2171,2352,134,2014,
293,1893,1791,1967,1596,1327,405,2353,2354,2355,
2356,869,600,30,208,1,72,2555,2556,2557,
32,2504,421,2505,2503,2558,2506,2502,1,51,
2366,2367,117,2340,2093,50,461,2350,253,2340,
2093,1944,1990,1944,1990,4153,2340,286,202,30,
117,1440,2340,1306,190,2349,190,2555,2556,2557,
186,190,185,1,1,2340,1634,207,2340,2340,
2369,3442,2340,1959,2340,2340,2340,2340,2340,2598,
2340,2340,2340,2340,2340,2340,724,2340,117,2340,
1636,2340,2340,2340,533,2340,2074,2061,2340,2340,
598,2340,2074,2061,2340,1440,500,1285,2340,2340,
2340,2340,2340,612,2340,2340,2340,2340,2340,2340,
2340,2340,2352,2351
};
};
public final static char termAction[] = TermAction.termAction;
@Override
public final int termAction(int index) { return termAction[index]; }
public interface Asb {
public final static char asb[] = {0,
496,1,425,281,496,427,494,310,322,492,
322,492,492,322,492,322,283,466,427,416,
527,494,283,201,133,132,375,48,466,374,
253,492,241,241,492,241,427,466,338,466,
214,283,427,79,214,26,427,254,494,102,
494,205,466,330,427,216,468,283,425,141,
99,306,167,269,451,451,451,451,451,83,
451,451,451,161,178,183,181,189,185,192,
191,194,193,195,216,129,494,451,48,374,
253,449,202,202,241,527,527,436,527,527,
202,253,139,451,139,269,494,102,205,205,
330,330,338,333,337,427,306,99,82,79,
451,451,451,451,451,451,451,451,451,451,
451,338,338,529,269,269,241,241,3,451,
451,451,451,451,451,451,451,451,451,451,
451,451,451,451,451,451,451,451,451,337,
129,24,251,202,451,202,267,451,252,451,
451,254,436,139,436,198,380,102,129,244,
102,205,207,431,207,330,306,335,336,211,
466,216,451,451,99,83,26,466,211,338,
338,338,99,181,181,178,178,185,185,183,
183,183,183,191,189,193,192,139,194,429,
24,449,202,338,527,338,338,253,436,451,
102,246,207,129,451,241,306,330,214,338,
535,333,99,99,529,535,341,494,451,207,
45,202,449,436,451,436,436,129,201,451,
200,129,330,216,338,129,22,378,241,451,
44,3,202,338,252,246,451,338,161,26,
99,241,451,338,3,202,436,99,436,338,
436
};
};
public final static char asb[] = Asb.asb;
@Override
public final int asb(int index) { return asb[index]; }
public interface Asr {
public final static byte asr[] = {0,
73,0,4,60,12,13,14,15,16,1,
3,2,10,11,9,5,7,8,17,18,
0,4,58,53,66,2,13,14,15,16,
1,3,10,11,9,5,7,8,17,18,
12,6,0,61,53,66,0,25,41,19,
42,54,26,43,27,44,45,28,20,46,
47,23,55,29,56,48,49,21,50,51,
52,1,3,4,61,57,22,0,19,20,
21,23,10,11,9,5,7,8,17,18,
12,2,1,3,13,14,15,16,65,4,
0,25,41,19,42,54,26,43,27,44,
45,28,20,46,47,23,55,29,56,48,
49,21,50,51,52,1,3,24,4,58,
0,2,4,61,57,60,22,53,59,0,
19,20,21,10,11,9,5,7,8,17,
18,12,2,1,3,13,14,15,16,0,
53,2,66,80,10,11,61,83,84,85,
86,87,89,88,90,91,92,5,67,68,
7,8,63,62,69,70,71,72,74,75,
9,76,77,78,58,81,82,65,60,59,
57,22,4,0,1,3,4,58,57,0,
5,2,53,60,4,25,41,19,42,54,
26,43,27,44,45,28,20,46,47,23,
55,29,56,48,49,21,50,51,52,64,
1,3,0,22,4,5,1,2,59,0,
73,79,58,32,34,6,38,40,35,30,
36,37,33,31,39,24,4,22,12,13,
14,15,16,10,11,9,7,8,17,18,
5,2,1,3,54,55,56,49,41,46,
44,45,43,42,47,48,50,51,52,29,
26,23,25,28,27,19,20,21,0,49,
41,46,44,45,43,42,47,48,50,51,
52,59,22,29,26,23,25,28,27,19,
20,21,5,1,2,53,57,60,4,0,
9,5,7,8,67,68,62,63,69,70,
71,72,74,75,76,77,78,81,82,59,
83,84,85,86,87,88,89,90,91,92,
65,60,58,6,4,57,22,61,0,66,
80,10,11,9,7,8,67,68,62,63,
69,70,71,72,74,75,76,77,78,81,
82,61,83,84,85,86,87,88,89,90,
91,92,57,53,60,25,19,26,27,28,
20,23,29,21,22,4,5,2,1,0,
4,57,58,61,0,32,34,6,38,40,
35,30,36,37,33,31,39,24,22,4,
2,13,14,15,16,1,3,10,11,9,
7,8,17,18,12,5,0,25,41,19,
42,54,26,43,27,44,45,28,20,46,
47,23,55,29,56,48,49,21,50,51,
52,1,3,6,0,73,25,41,19,42,
54,26,43,27,44,45,28,20,46,47,
23,55,29,56,48,49,21,50,51,52,
1,3,5,22,4,24,2,0,4,60,
5,2,53,0,5,25,41,19,42,54,
26,43,27,44,45,28,20,46,47,23,
55,29,56,48,49,21,50,51,52,1,
3,64,0
};
};
public final static byte asr[] = Asr.asr;
@Override
public final int asr(int index) { return asr[index]; }
public interface Nasb {
public final static char nasb[] = {0,
150,25,32,15,159,110,45,121,122,13,
122,108,108,122,107,122,116,165,112,25,
25,45,105,33,59,59,25,25,165,25,
51,7,7,7,7,7,9,25,157,165,
156,75,112,63,156,54,94,69,67,105,
25,105,25,30,96,89,141,18,32,42,
65,79,25,168,43,43,43,43,43,64,
43,43,43,25,25,25,25,25,25,25,
25,25,25,25,133,105,25,43,25,25,
85,81,33,33,7,25,25,128,25,25,
33,51,25,43,25,1,25,137,105,7,
30,105,157,101,25,112,79,65,64,38,
43,43,43,43,43,43,43,43,43,43,
43,157,157,103,168,168,57,57,35,82,
43,43,43,43,43,43,43,43,43,43,
43,43,43,43,43,43,43,82,43,157,
52,105,25,33,43,33,172,82,25,82,
82,69,128,25,128,25,25,105,52,32,
146,7,92,25,25,105,79,59,59,100,
165,89,43,43,65,64,124,165,154,157,
157,157,65,25,25,25,25,25,25,25,
25,25,25,25,25,25,25,25,25,25,
41,174,33,157,25,157,157,85,128,43,
137,112,92,52,43,7,79,38,156,157,
163,26,65,65,28,163,125,125,43,92,
49,33,174,128,82,128,128,52,33,43,
25,52,38,89,157,52,40,25,7,43,
47,174,33,157,25,112,43,157,61,54,
65,7,43,157,174,33,128,65,128,157,
128
};
};
public final static char nasb[] = Nasb.nasb;
@Override
public final int nasb(int index) { return nasb[index]; }
public interface Nasr {
public final static char nasr[] = {0,
84,82,81,74,80,79,1,0,37,39,
36,0,109,0,37,2,100,84,83,82,
81,74,80,79,0,37,42,61,60,36,
0,2,17,0,2,108,0,25,0,102,
55,2,6,0,106,0,121,0,119,0,
2,45,0,6,55,0,90,0,46,0,
117,0,2,6,40,0,110,0,2,24,
1,29,92,0,24,2,123,0,75,0,
17,2,27,0,29,1,68,45,2,24,
0,78,0,39,44,37,42,36,0,23,
37,42,60,61,2,0,112,87,0,39,
44,42,37,2,0,74,69,70,71,72,
64,48,0,6,55,53,0,1,29,2,
30,0,113,2,24,0,95,2,57,0,
2,24,47,28,0,2,57,88,0,122,
2,24,0,60,61,2,23,0,2,24,
103,0,2,24,36,54,0,2,57,27,
0,24,47,2,63,0
};
};
public final static char nasr[] = Nasr.nasr;
@Override
public final int nasr(int index) { return nasr[index]; }
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
85,2,86,87,9,3,10,11,8,6,
7,68,81,82,83,84,12,13,48,64,
76,92,69,93,44,55,60,63,72,77,
45,46,49,50,51,57,58,59,65,71,
47,52,56,61,62,66,67,74,75,78,
79,80,1,54,70,73,42,91,29,90,
31,16,17,30,89,4,14,15,18,19,
20,21,94,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;
@Override
public final int terminalIndex(int index) { return terminalIndex[index]; }
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
99,0,0,0,0,101,105,106,107,108,
109,110,111,112,113,114,98,115,116,0,
0,117,96,126,134,0,100,122,118,121,
0,0,0,0,0,0,156,0,159,95,
153,155,0,157,97,158,125,133,0,0,
0,144,104,154,0,120,148,167,170,171,
172,0,0,136,0,160,166,124,137,138,
139,140,143,145,165,169,103,0,128,129,
130,131,132,135,141,142,0,147,152,102,
119,123,127,0,146,150,0,0,151,161,
164,174,179,0,0,181,0,0,0,0,
149,0,162,163,168,173,0,175,176,0,
177,178,180,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@Override
public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
public interface ScopePrefix {
public final static char scopePrefix[] = {
82,113,92,35,41,121,12,136,21,51,
69,28,47,103,145,162,169,173,149,1,
1,32,56,79,177,6,107,156,156,127,
99,59,59,59
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@Override
public final int scopePrefix(int index) { return scopePrefix[index]; }
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
90,90,90,4,4,90,18,142,26,4,
26,26,4,101,90,26,26,4,153,4,
4,26,4,26,26,9,110,159,166,130,
101,66,61,74
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@Override
public final int scopeSuffix(int index) { return scopeSuffix[index]; }
public interface ScopeLhs {
public final static char scopeLhs[] = {
71,69,71,46,46,69,53,33,62,46,
39,62,46,88,28,7,6,6,20,121,
120,60,46,37,4,102,88,8,6,34,
88,39,44,39
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@Override
public final int scopeLhs(int index) { return scopeLhs[index]; }
public interface ScopeLa {
public final static byte scopeLa[] = {
58,58,58,65,65,58,58,79,60,65,
60,60,65,22,58,60,60,65,59,65,
65,60,65,60,60,61,1,60,60,30,
22,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@Override
public final int scopeLa(int index) { return scopeLa[index]; }
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
119,119,119,94,94,119,25,10,98,94,
105,98,94,5,9,33,33,33,63,1,
3,98,94,105,33,91,5,36,33,10,
5,105,107,105
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@Override
public final int scopeStateSet(int index) { return scopeStateSet[index]; }
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
149,53,0,95,0,211,95,0,31,143,
0,171,209,95,6,148,0,97,0,0,
159,95,2,153,0,96,0,159,95,2,
0,169,2,0,115,23,194,95,53,0,
115,194,95,23,53,0,115,23,53,0,
115,194,95,53,0,115,53,0,130,0,
2,0,162,96,0,2,96,0,159,95,
2,130,0,2,0,160,96,0,145,2,
0,171,191,95,6,94,205,54,0,97,
0,171,191,95,6,205,54,0,150,0,
98,0,204,95,150,0,95,150,0,149,
98,0,187,95,6,203,94,202,167,0,
187,95,6,202,167,0,123,35,0,77,
2,100,96,98,0,123,116,120,2,38,
0,53,121,0,185,95,6,0,120,82,
112,0,29,117,0,170,2,0,96,106,
0,170,2,12,0,96,104,0,201,2,
99,0,120,53,99,0,120,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@Override
public final int scopeRhs(int index) { return scopeRhs[index]; }
public interface ScopeState {
public final static char scopeState[] = {0,
531,0,551,0,2084,1868,1682,0,1683,1874,
1852,1830,1808,1772,1750,1714,1508,1692,1670,1436,
1620,1376,1335,0,612,500,1591,1573,477,1574,
556,0,1596,1327,405,1574,1815,343,686,533,
1656,461,1927,1273,856,710,1339,580,1221,673,
1990,1944,2093,2074,2061,2014,1967,1412,1893,1791,
869,600,1306,612,1285,1252,1231,1198,1177,1154,
1131,1108,789,1085,1062,1039,1016,993,970,947,
924,901,878,833,766,316,812,743,556,635,
500,477,0,926,783,666,610,2088,392,1987,
1454,2030,1387,0,333,376,1636,392,1717,1454,
1546,1387,1965,1443,1877,1940,1519,0,316,658,
1544,376,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@Override
public final int scopeState(int index) { return scopeState[index]; }
public interface InSymb {
public final static char inSymb[] = {0,
0,200,117,95,215,95,193,172,173,167,
174,56,55,175,54,176,177,95,2,1,
130,193,207,186,135,130,179,137,95,132,
6,202,180,180,205,180,147,129,145,95,
2,95,57,53,2,61,147,95,94,6,
94,6,129,5,147,95,216,95,117,23,
115,95,100,2,12,18,17,8,7,5,
9,11,10,99,102,104,103,106,105,108,
107,111,109,112,95,6,148,5,137,132,
185,39,31,33,37,36,30,35,40,38,
122,6,34,32,94,95,203,95,6,95,
5,129,159,117,160,95,95,115,194,168,
92,91,90,88,89,87,86,85,84,83,
61,170,120,150,2,2,80,66,2,53,
68,67,5,62,63,8,7,75,74,72,
71,70,69,76,9,78,77,82,81,206,
95,6,4,120,95,94,2,2,123,2,
2,95,59,149,59,184,94,6,187,150,
188,95,191,94,192,129,95,153,154,2,
95,57,194,23,115,5,116,95,2,170,
170,201,120,103,103,102,102,105,105,104,
104,104,104,107,106,109,108,120,111,57,
95,140,156,120,30,120,120,185,59,57,
95,95,191,171,61,57,95,168,2,169,
95,147,115,115,147,95,116,116,59,209,
95,156,110,116,2,116,116,187,204,59,
145,171,168,95,159,171,57,211,66,53,
212,110,156,120,123,57,59,159,138,61,
149,66,53,156,110,116,79,149,116,156,
116
};
};
public final static char inSymb[] = InSymb.inSymb;
@Override
public final int inSymb(int index) { return inSymb[index]; }
public interface Name {
public final static String name[] = {
"",
"[",
"(",
"{",
".",
"->",
"++",
"--",
"&",
"*",
"+",
"-",
"~",
"!",
"/",
"%",
">>",
"<<",
"<",
">",
"<=",
">=",
"==",
"!=",
"^",
"|",
"&&",
"||",
"?",
":",
"...",
"=",
"*=",
"/=",
"%=",
"+=",
"-=",
">>=",
"<<=",
"&=",
"^=",
"|=",
",",
"$empty",
"auto",
"break",
"case",
"char",
"const",
"continue",
"default",
"do",
"double",
"else",
"enum",
"extern",
"float",
"for",
"goto",
"if",
"inline",
"int",
"long",
"register",
"restrict",
"return",
"short",
"signed",
"sizeof",
"static",
"struct",
"switch",
"typedef",
"union",
"unsigned",
"void",
"volatile",
"while",
"_Bool",
"_Complex",
"_Imaginary",
"integer",
"floating",
"charconst",
"stringlit",
"identifier",
"Completion",
"EndOfCompletion",
"Invalid",
"RightBracket",
"RightParen",
"RightBrace",
"SemiColon",
"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",
"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"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
public final static int
ERROR_SYMBOL = 24,
SCOPE_UBOUND = 33,
SCOPE_SIZE = 34,
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 = 291,
NT_OFFSET = 93,
LA_STATE_OFFSET = 2655,
MAX_LA = 2147483647,
NUM_RULES = 315,
NUM_NONTERMINALS = 125,
NUM_SYMBOLS = 218,
SEGMENT_SIZE = 8192,
START_STATE = 1922,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 73,
EOLT_SYMBOL = 73,
ACCEPT_ACTION = 2315,
ERROR_ACTION = 2340;
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];
}
}