/*******************************************************************************
* 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 C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C99ExpressionParsersym {
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,1,1,-37,0,0,
0,0,0,0,0,0,0,0,-2,0,
0,0,0,0,0,0,0,0,-137,0,
0,-4,-159,-118,0,0,0,0,0,-74,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-14,0,-30,0,-31,0,0,0,
0,0,-16,0,-80,-119,0,-120,0,0,
0,0,0,0,0,0,-141,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-3,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-105,-124,0,0,-191,0,-17,-131,
-130,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-5,0,0,0,0,
0,0,0,0,0,-121,0,-122,0,0,
0,0,-177,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-111,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-179,0,-194,0,-18,
0,-19,0,-20,-21,-22,-192,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-134,0,-38,
0,0,0,0,0,0,0,0,0,-39,
0,0,0,0,0,0,0,0,0,0,
0,-23,-109,-24,0,0,0,0,0,-71,
-55,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-25,0,-107,-26,-88,-89,0,0,
0,0,-90,0,-91,0,0,0,0,0,
0,0,0,0,0,0,-27,0,0,0,
0,0,0,0,0,0,0,-34,0,0,
0,0,0,0,0,0,0,-57,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-58,0,
0,0,0,0,0,0,0,0,0,-35,
0,0,0,0,0,0,0,0,0,-59,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-60,0,0,0,0,0,0,0,0,0,
0,-68,0,0,0,0,0,0,0,0,
0,-61,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-62,0,0,0,0,0,0,0,
0,0,0,-69,0,0,0,0,0,0,
0,0,0,-63,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-64,0,0,0,0,0,
0,0,0,0,0,-70,0,0,0,0,
0,0,0,0,0,-65,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-66,0,0,0,
0,0,0,0,0,0,0,-115,0,0,
0,0,0,0,0,0,0,-67,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-123,0,
0,0,0,0,0,0,0,0,0,-132,
0,0,0,0,0,0,0,0,0,-144,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-145,0,0,0,0,0,0,0,0,0,
0,-153,0,0,0,0,0,0,0,0,
0,-180,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-189,0,0,0,0,0,0,0,0,
0,0,-92,0,0,0,0,0,0,0,
0,-6,0,0,0,0,0,0,0,-93,
0,-7,0,0,0,0,0,0,0,-195,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-201,
0,0,0,0,0,0,0,0,0,0,
-94,0,0,0,0,0,0,0,0,-8,
0,0,0,0,0,0,0,-200,0,-9,
0,0,0,0,0,0,0,-209,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-133,-47,0,
0,0,0,0,0,0,0,0,0,-49,
0,0,0,0,0,0,0,0,0,0,
-76,0,0,0,-95,-73,0,-148,-78,-125,
0,0,0,0,0,0,0,0,0,-96,
0,0,0,0,0,-112,0,0,0,-77,
0,0,0,0,-149,0,0,0,0,0,
0,0,0,0,0,0,0,-117,-166,0,
-97,0,0,0,0,0,0,0,0,0,
0,0,0,-157,0,0,-158,-98,0,0,
-82,0,-56,0,0,0,0,0,0,0,
0,0,0,-106,0,0,0,0,0,-52,
0,0,0,0,0,0,0,0,0,0,
-183,0,0,0,0,-87,0,-53,0,0,
0,0,0,0,0,0,0,0,-167,0,
0,0,0,0,-129,0,0,0,0,-1,
-138,0,0,0,0,0,0,0,-99,-186,
0,0,-181,-100,0,0,0,0,0,-170,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-48,
0,0,0,0,0,0,0,0,0,0,
-50,0,0,0,0,0,0,0,0,0,
0,-196,0,-51,0,0,0,0,0,0,
0,0,0,0,-208,0,0,-127,-140,0,
0,0,-146,0,0,0,-101,-102,-103,0,
0,-43,0,0,0,0,0,0,0,0,
0,0,0,-104,0,-108,0,0,0,0,
0,0,0,0,-10,0,0,0,0,0,
0,0,-110,-83,0,-44,0,0,0,0,
0,0,0,0,0,0,-45,0,0,0,
0,0,0,0,0,0,0,-72,0,0,
0,0,0,0,0,0,0,-46,0,0,
0,0,0,0,0,0,0,0,-203,-171,
-75,-11,0,0,0,0,0,0,0,0,
0,0,-12,0,0,0,0,0,0,0,
0,0,-126,-135,0,0,0,-143,-156,-160,
-142,0,0,0,0,0,0,0,0,0,
0,-210,0,-150,0,0,0,0,0,-114,
0,0,0,0,0,0,0,0,0,-147,
0,0,0,0,0,0,0,0,0,0,
-36,-113,-139,0,0,0,0,0,0,0,
0,0,-169,0,-40,0,0,0,0,0,
0,0,-151,0,0,-154,0,-41,0,0,
0,0,0,0,0,-42,0,0,0,0,
0,0,0,-116,0,0,0,0,-162,0,
-165,-168,0,-164,0,-32,-173,0,0,-187,
-174,0,0,-190,0,-15,0,-163,0,-176,
0,-175,0,0,0,0,0,0,-13,0,
0,0,0,0,0,-28,0,0,-29,-178,
0,0,-128,-155,0,0,0,0,0,0,
0,0,0,-202,0,0,0,0,0,0,
0,-79,-207,0,0,0,0,0,0,0,
0,-172,0,-81,0,-85,0,-84,0,0,
0,0,0,0,0,0,0,-86,-188,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-197,-184,-185,0,0,0,0,-136,
-33,-54,0,0,0,0,-152,0,0,-204,
0,0,0,0,0,-199,-161,0,0,0,
0,-182,0,-205,0,-193,0,0,-206,0,
0,0,0,0,0,0,0,0,0,0,
-198,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,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[] = {
87,11,102,24,24,21,21,40,40,70,
70,1,1,2,2,2,2,3,3,3,
4,5,5,5,5,5,5,5,5,60,
60,71,6,6,6,6,6,6,6,6,
6,6,6,7,7,8,8,8,8,9,
9,9,10,10,10,12,12,12,12,12,
13,13,13,14,14,15,15,16,16,17,
17,18,18,19,19,20,20,20,20,20,
20,20,20,20,20,20,20,103,41,32,
88,88,72,72,49,104,104,104,104,104,
104,104,105,105,105,106,106,111,111,112,
112,107,107,108,108,108,114,114,109,109,
109,109,109,110,110,110,110,110,113,113,
25,25,25,25,25,28,28,28,78,78,
73,73,73,73,74,74,74,75,75,75,
76,76,76,77,77,77,115,115,116,116,
117,29,31,31,31,31,31,53,54,54,
54,54,54,54,54,54,54,54,54,54,
64,61,61,89,90,66,66,62,62,62,
67,79,79,80,80,68,68,68,43,91,
91,81,82,82,82,63,63,92,83,83,
84,84,69,69,22,23,23,23,30,50,
50,33,33,33,33,36,36,38,34,34,
35,39,39,118,118,37,119,119,93,93,
26,26,26,26,26,26,26,26,26,85,
51,51,51,51,27,56,56,55,55,55,
57,57,52,52,94,94,59,59,58,58,
58,44,44,44,45,46,46,46,47,47,
47,47,65,65,42,42,48,96,95,95,
95,95,86,97,98,98,99,99,100,100,
120,120,121,121,122,122,122,122,124,124,
123,123,123,125,126,126,87,87,1,627,
17,21,18,373,626,45,449,383,542,31,
540,545,544,592,546,623,594,75,92,124,
136,214,670,629,596,339,138,135,137,161,
275,20,17,21,18,373,626,45,449,383,
542,1502,540,545,544,592,546,623,594,75,
1146,140,167,579,240,201,31,201,31,144,
147,150,153,57,385,118,201,188,201,187,
342,1129,1612,1624,1628,1638,1226,434,20,17,
21,18,373,626,45,449,383,542,343,540,
545,544,592,546,623,594,75,282,482,20,
17,21,18,373,626,45,449,383,542,1526,
540,545,544,592,546,623,594,75,92,283,
1590,1263,294,97,518,1366,25,158,24,157,
695,299,20,17,21,18,373,626,45,449,
383,542,288,540,545,544,592,546,623,594,
75,1343,256,214,344,241,506,20,17,21,
18,373,41,289,285,28,662,1503,201,189,
342,1366,1187,332,20,17,21,18,373,626,
45,449,383,542,343,540,545,544,592,546,
623,594,75,282,554,20,17,21,18,373,
626,45,449,383,542,1593,540,545,544,592,
546,623,594,75,1245,283,201,297,201,299,
6,1366,30,284,589,200,191,458,20,17,
21,18,373,626,45,449,383,542,290,540,
545,544,592,546,623,594,75,282,189,180,
482,20,17,21,18,373,43,45,628,291,
482,20,17,21,18,373,43,45,633,283,
136,214,344,242,243,1366,138,135,137,161,
104,482,20,17,21,18,373,43,45,449,
383,542,292,540,545,544,592,546,1349,275,
1453,140,167,171,22,14,547,578,194,144,
147,150,153,199,385,416,444,270,1150,1121,
273,1129,1612,1624,1628,1638,1226,482,20,17,
21,18,373,626,45,449,383,542,489,540,
545,544,592,546,623,594,75,93,482,20,
17,21,18,373,626,45,449,383,542,1408,
540,545,544,592,546,623,594,75,86,482,
20,17,21,18,373,626,45,449,383,542,
489,540,545,544,592,546,623,594,75,85,
482,20,17,21,18,373,626,45,449,383,
542,19,540,545,544,592,546,623,594,75,
84,482,20,17,21,18,373,626,45,449,
383,542,489,540,545,544,592,546,623,594,
75,83,482,20,17,21,18,373,626,45,
449,383,542,443,540,545,544,592,546,623,
594,75,82,482,20,17,21,18,373,626,
45,449,383,542,489,540,545,544,592,546,
623,594,75,81,482,20,17,21,18,373,
626,45,449,383,542,1204,540,545,544,592,
546,623,594,75,80,482,20,17,21,18,
373,626,45,449,383,542,489,540,545,544,
592,546,623,594,75,79,482,20,17,21,
18,373,626,45,449,383,542,23,540,545,
544,592,546,623,594,75,78,482,20,17,
21,18,373,626,45,449,383,542,489,540,
545,544,592,546,623,594,75,77,482,20,
17,21,18,373,626,45,449,383,542,274,
540,545,544,592,546,623,594,75,76,482,
20,17,21,18,373,626,45,449,383,542,
489,540,545,544,592,546,623,594,75,74,
482,20,17,21,18,373,626,45,449,383,
542,280,540,545,544,592,546,623,594,75,
1549,482,20,17,21,18,373,626,45,449,
383,542,489,540,545,544,592,546,623,594,
75,1568,482,20,17,21,18,373,43,45,
449,383,542,281,540,545,544,592,546,623,
594,94,482,20,17,21,18,373,43,45,
449,383,542,466,540,545,544,592,546,623,
594,94,482,20,17,21,18,373,43,40,
488,1696,482,20,17,21,18,373,43,39,
482,20,17,21,18,373,43,45,449,383,
542,213,540,545,544,592,546,623,594,94,
482,20,17,21,18,373,43,45,449,383,
542,490,540,545,544,592,546,623,594,94,
482,20,17,21,18,373,43,38,446,1699,
482,20,17,21,18,373,43,37,482,20,
17,21,18,373,43,45,449,383,542,203,
540,545,544,592,546,623,594,94,113,482,
20,17,21,18,373,43,45,449,1125,1523,
482,20,17,21,18,373,43,45,449,383,
542,144,540,1171,275,241,44,204,207,232,
14,219,1155,222,1474,224,225,230,195,1551,
601,397,268,1150,1121,273,104,276,264,278,
327,136,214,1383,275,499,265,143,135,137,
161,219,1155,222,1474,224,225,230,679,679,
242,245,268,1150,1121,273,277,593,1554,1670,
1664,229,142,167,559,1561,868,712,13,279,
232,387,262,482,20,17,21,18,373,43,
45,449,383,542,205,540,545,544,592,1364,
482,20,17,21,18,373,43,45,449,383,
542,710,540,545,544,1264,189,180,482,20,
17,21,18,373,43,45,449,383,542,151,
540,545,1347,256,214,104,28,1570,136,214,
382,14,1366,210,139,135,137,161,386,50,
281,418,1594,630,637,275,1453,1557,1572,244,
421,1680,220,1155,222,1474,224,225,230,141,
167,1260,88,270,1150,1121,273,145,148,151,
154,316,385,219,1155,222,1474,224,225,230,
482,20,17,21,18,373,43,45,449,1140,
1604,482,20,17,21,18,373,43,45,449,
383,542,719,1188,482,20,17,21,18,373,
43,45,449,383,542,281,1259,329,44,14,
196,199,201,104,256,214,1680,697,305,324,
1184,1068,482,20,17,21,18,373,43,45,
449,383,635,295,671,1458,615,243,219,1155,
222,1474,224,225,230,482,20,17,21,18,
373,43,36,676,414,1604,482,20,17,21,
18,373,43,45,449,383,993,482,20,17,
21,18,373,43,45,449,383,1010,409,20,
17,21,18,373,43,44,200,201,482,20,
17,21,18,373,43,45,449,383,1051,612,
95,326,482,20,17,21,18,373,43,35,
1680,568,1544,530,20,17,21,18,373,34,
28,388,278,733,711,198,1366,275,698,14,
707,44,219,1155,222,1474,224,225,230,1687,
1622,1692,728,1270,720,268,1150,1121,273,1554,
358,20,17,21,18,373,43,36,1460,868,
358,20,17,21,18,373,43,36,194,1453,
228,160,52,664,247,220,1155,222,1474,224,
225,230,1126,518,248,482,20,17,21,18,
373,43,48,44,255,214,721,275,482,20,
17,21,18,373,43,47,482,20,17,21,
18,373,43,46,567,268,1150,1121,273,104,
1383,567,14,181,489,568,465,723,450,267,
723,696,568,1665,201,1561,14,418,104,1098,
518,1383,724,245,1239,226,1098,318,1383,530,
20,17,21,18,373,33,14,451,90,14,
738,198,246,52,48,593,260,318,88,910,
318,1454,1239,260,742,568,910,700,1454,1501,
447,198,627,287,198,255,214,1639,88,198,
1694,88,559,1561,632,658,439,700,661,1501,
700,1769,1501,211,136,214,1769,1270,666,518,
146,135,137,161,826,742,136,214,784,450,
136,214,149,135,137,161,152,135,137,161,
136,214,193,489,587,142,155,135,137,161,
116,14,14,1513,1430,568,568,357,920,205,
44,568,418,418,231,1769,518,52,568,1098,
198,210,52,488,518,1098,104,1769,1769,104,
1769,1769,1098,88,88,1560,1572,1383,1270,255,
214,365,600,1348,255,214,260,1769,486,1663,
296,1454,260,298,1769,952,182,1454,1769,261,
1769,1472,235,193,206,1769,1769,1769,1769,1769,
1769,1769,1769,1221,1686,1430,1769,1769,1322,1769,
1769,1769,1769,1769,1769,1769,1769,1711,1769,0,
20,180,0,1,1996,0,1,2007,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@Override
public final int baseAction(int index) { return baseAction[index]; }
public final static char lhs[] = baseAction;
@Override
public final int lhs(int index) { return lhs[index]; };
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,0,6,7,8,9,
10,11,0,0,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,0,
0,31,32,33,34,35,36,37,38,39,
40,41,42,0,44,45,46,0,1,0,
3,0,5,6,7,8,0,6,7,8,
55,56,57,58,17,9,10,55,56,57,
58,24,25,26,27,28,47,48,31,32,
33,34,35,36,37,38,39,40,41,42,
43,44,45,46,0,1,0,3,51,5,
6,7,8,0,55,56,57,58,5,13,
80,17,0,1,2,0,4,0,24,25,
26,27,28,0,12,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
46,0,1,0,3,51,5,6,7,8,
0,1,2,50,4,12,0,0,17,0,
4,2,12,4,49,24,25,26,27,28,
0,12,31,32,33,34,35,36,37,38,
39,40,41,42,43,44,45,46,0,1,
0,3,51,0,6,7,8,4,0,0,
0,1,4,3,0,17,0,1,2,53,
54,5,24,25,26,27,28,13,12,31,
32,33,34,35,36,37,38,39,40,41,
42,0,44,45,46,65,30,6,7,8,
0,0,0,2,0,4,53,54,17,9,
10,53,54,12,64,24,25,26,27,28,
61,62,31,32,33,34,35,36,37,38,
39,40,41,42,0,1,2,3,4,5,
0,1,2,9,10,11,0,1,14,15,
16,17,18,19,20,21,22,23,0,1,
2,3,4,5,0,61,62,9,10,11,
68,69,14,15,16,17,18,19,20,21,
22,23,0,0,50,0,0,2,2,0,
5,0,1,2,3,4,5,12,12,59,
9,10,11,0,13,14,15,16,50,18,
19,20,21,22,23,30,0,0,1,2,
3,4,5,59,0,0,9,10,11,5,
0,14,15,16,43,18,19,20,21,22,
23,0,1,2,3,4,0,1,65,3,
9,10,11,29,30,14,15,16,0,18,
19,20,21,22,23,49,63,50,0,1,
2,3,4,0,1,0,3,9,10,11,
0,13,14,15,16,5,18,19,20,21,
22,23,51,0,1,2,3,4,0,1,
0,3,9,10,11,0,13,14,15,16,
5,18,19,20,21,22,23,0,1,2,
3,4,47,48,0,0,9,10,11,5,
13,14,15,16,29,18,19,20,21,22,
23,0,1,2,3,4,66,0,0,0,
9,10,11,5,30,14,15,16,0,18,
19,20,21,22,23,0,1,2,3,4,
12,66,47,48,9,10,11,0,30,14,
15,16,5,18,19,20,21,22,23,0,
1,2,3,4,47,48,47,48,9,10,
11,0,0,14,15,16,0,18,19,20,
21,22,23,0,1,2,3,4,0,1,
43,3,9,10,11,0,0,14,15,16,
4,18,19,20,21,22,23,0,0,2,
2,4,5,6,7,8,0,1,0,12,
12,0,14,15,17,0,1,0,3,11,
0,24,25,26,27,28,60,30,13,9,
10,0,1,2,0,49,70,71,72,73,
74,75,76,77,78,79,0,13,0,0,
52,0,6,7,8,49,0,6,7,8,
12,12,0,17,0,67,0,1,17,3,
24,25,26,27,28,24,25,26,27,28,
0,0,1,0,3,0,6,7,8,0,
0,6,7,8,13,0,13,17,0,4,
52,52,17,5,24,25,26,27,28,24,
25,26,27,28,0,0,0,0,29,63,
6,7,8,6,7,8,0,11,30,0,
0,0,6,7,8,6,7,8,0,0,
0,2,0,0,6,7,8,0,1,2,
0,12,0,13,64,5,4,0,0,29,
29,0,0,0,0,0,0,0,0,0,
0,29,29,0,0,60,13,13,13,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,43,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,60,0,0,
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,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,
1769,1780,1566,1781,1375,60,1984,1985,1986,1070,
1060,1432,62,1,1579,1443,476,1933,1782,1783,
1784,1785,1012,1002,1934,1932,1987,1935,1931,55,
1769,1938,1943,1942,1940,1941,1939,1944,1945,1937,
1946,1947,1948,254,1626,1384,1191,1769,1,61,
1,1769,192,1,1,1,52,1984,1985,1986,
1418,1397,1386,1352,1,580,570,1418,1397,1386,
1352,1,1,1,1,1,1099,1300,1,1,
1,1,1,1,1,1,1,1,1,1,
192,1,1,1,1769,1,42,1,1966,191,
1,1,1,1769,1418,1397,1386,1352,1773,2817,
1759,1,263,1996,1128,1,1,183,1,1,
1,1,1,184,350,1,1,1,1,1,
1,1,1,1,1,1,1,191,1,1,
1,1769,1,272,1,1966,192,1,1,1,
269,1996,1128,1772,254,350,49,287,1,266,
1536,1431,350,1,2028,1,1,1,1,1,
71,350,1,1,1,1,1,1,1,1,
1,1,1,1,192,1,1,1,1769,1780,
69,1781,1966,51,1984,1985,1986,1536,50,63,
1769,1780,1536,1781,1769,1933,1,1763,1128,1528,
1515,1775,1934,1932,1987,1935,1931,2817,350,1938,
1943,1942,1940,1941,1939,1944,1945,1937,1946,1947,
1948,130,1626,1384,1191,1193,1774,1984,1985,1986,
54,269,73,1431,64,254,1528,1515,1933,580,
570,1528,1515,350,1210,1934,1932,1987,1935,1931,
1324,1311,1938,1943,1942,1940,1941,1939,1944,1945,
1937,1946,1947,1948,1,1780,1566,1781,1480,1773,
1,1996,1429,1070,1060,1432,1769,2008,1579,1443,
476,514,1782,1783,1784,1785,1012,1002,1769,1780,
1566,1781,1490,1773,1769,1324,1311,1070,1060,1432,
601,1672,1579,1443,476,941,1782,1783,1784,1785,
1012,1002,1769,72,1772,1,271,1431,1168,1769,
1775,1,1780,1566,1781,1375,29,350,350,1040,
1070,1060,1432,67,2817,1579,1443,476,1772,1782,
1783,1784,1785,1012,1002,1774,1,1769,1780,1566,
1781,1375,1773,899,1769,1769,1070,1060,1432,1775,
1769,1579,1443,476,29,1782,1783,1784,1785,1012,
1002,1769,1,1,1,1,186,2830,1193,2830,
1,1,1,1613,1774,1,1,1,1769,1,
1,1,1,1,1,2027,1228,1772,1769,1780,
1566,1781,1375,185,2831,59,2831,1070,1060,1432,
1,2817,1579,1443,476,1779,1782,1783,1784,1785,
1012,1002,2086,1,1780,1566,1781,1375,207,2832,
1769,2832,1070,1060,1432,1769,2817,1579,1443,476,
1779,1782,1783,1784,1785,1012,1002,1769,1780,1566,
1781,1375,1099,1300,1,58,1070,1060,1432,91,
2817,1579,1443,476,1335,1782,1783,1784,1785,1012,
1002,1769,1780,1566,1781,1375,1778,57,1769,56,
1070,1060,1432,1775,91,1579,1443,476,221,1782,
1783,1784,1785,1012,1002,1769,1780,1586,1781,1375,
350,1778,1099,1300,1070,1060,1432,1769,1774,1579,
1443,476,1777,1782,1783,1784,1785,1012,1002,1769,
1780,1589,1781,1375,1099,1300,1099,1300,1070,1060,
1432,1769,1769,1579,1443,476,43,1782,1783,1784,
1785,1012,1002,1,1780,1566,1781,1375,209,1780,
1776,1781,1070,1060,1432,1769,1,1579,1443,476,
254,1782,1783,1784,1785,1012,1002,20,32,1760,
1556,1760,1760,180,180,180,1,1766,65,1760,
1671,1769,1795,1796,180,1769,1780,1769,1781,1110,
53,180,180,180,180,180,878,1760,1251,580,
570,1,1996,1429,1769,2028,857,836,815,794,
773,731,752,710,689,668,131,1130,1769,293,
377,132,1984,1985,1986,2028,68,1984,1985,1986,
962,1020,1769,1933,1769,375,208,1564,1933,1564,
1934,1932,1987,1935,1931,1934,1932,1987,1935,1931,
133,1769,1780,1769,1781,134,1984,1985,1986,89,
70,1984,1985,1986,1339,1769,1459,1933,1,1338,
536,538,1933,1775,1934,1932,1987,1935,1931,1934,
1932,1987,1935,1931,249,212,66,250,647,1228,
1984,1985,1986,1,1,1,251,1110,1774,252,
257,30,1,1,1,1984,1985,1986,253,223,
1769,1169,30,208,1984,1985,1986,254,1996,1429,
286,350,1769,1552,1210,625,1461,1769,1769,1677,
493,202,1769,190,190,190,1769,1769,1769,1769,
1769,1798,2733,1769,1769,982,186,185,207,1769,
1769,1769,1769,1769,1769,1769,1769,1769,1769,1769,
1769,1769,1769,625,1769,1769,1769,1769,1769,1769,
1769,1769,1769,1769,1769,1769,1769,1769,1769,1769,
1769,1769,1769,1769,1769,1769,1769,547,1769,1769,
1078
};
};
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,
233,1,9,64,9,9,9,9,9,9,
9,9,9,26,392,46,43,50,48,56,
54,58,57,60,59,32,9,392,392,328,
328,368,9,199,199,227,392,9,9,9,
9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,199,199,199,
68,115,231,3,298,197,196,202,214,129,
214,129,129,214,129,214,406,153,43,43,
48,48,48,48,46,46,54,50,50,57,
56,337,59,58,71,131,278,131,227,231,
133,68,429,7,199,339,301,129,328,328,
129,328,9,278,113,231,222,429,68,6,
3,199,225,406,198,303,131,251,131,292,
113,222,222,9,9,68,7,298,332,331,
231,303,199,131,251,292,292,294,282,222,
429,68,68,199,339,301,225,251,278,285,
251,292,294,387,294,278,111,390,328,9,
281,429,222,303,251,287,294,278,9,328,
26,115,68,328,9,222,199,198,278,107,
9,106,22,231,278,68,329,287,9,22
};
};
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,
80,0,6,7,8,17,50,5,18,19,
20,21,3,14,15,11,9,10,22,23,
16,4,2,1,0,12,2,52,67,14,
15,60,70,71,72,73,74,76,75,77,
78,79,4,53,54,9,10,48,47,55,
56,57,58,61,62,11,63,64,65,43,
66,68,69,59,30,80,29,50,5,0,
11,4,9,10,53,54,47,48,55,56,
57,58,61,62,63,64,65,68,69,60,
70,71,72,73,74,75,76,77,78,79,
50,30,43,80,13,59,66,5,29,0,
5,43,12,52,14,15,11,4,9,10,
22,23,16,2,18,19,20,21,1,3,
13,0,6,7,8,2,18,19,20,21,
1,3,14,15,11,4,9,10,22,23,
16,0,7,17,28,8,27,26,25,6,
24,52,67,14,15,11,9,10,53,54,
47,48,55,56,57,58,61,62,63,64,
65,68,69,60,70,71,72,73,74,75,
76,77,78,79,4,2,12,29,30,5,
0,39,31,36,34,35,33,32,37,38,
40,41,42,59,66,28,25,17,24,27,
26,6,7,8,29,1,5,30,2,12,
4,0,16,18,19,20,21,1,3,2,
14,15,11,4,9,10,22,23,51,0,
24,31,6,32,44,25,33,26,34,35,
27,7,36,37,17,45,28,46,38,39,
8,40,41,42,1,3,51,5,43,0,
60,12,52,0,66,5,4,1,2,59,
0,1,3,5,43,29,0,4,2,12,
30,5,24,31,6,32,44,25,33,26,
34,35,27,7,36,37,17,45,28,46,
38,39,8,40,41,42,49,3,1,0,
2,5,29,30,66,12,59,0,4,24,
31,6,32,44,25,33,26,34,35,27,
7,36,37,17,45,28,46,38,39,8,
40,41,42,1,3,49,0,5,30,16,
18,19,20,21,1,3,2,14,15,11,
4,9,10,22,23,0,5,29,43,60,
0,16,18,19,20,21,2,14,15,11,
4,9,10,22,23,1,3,44,45,46,
39,31,36,34,35,33,32,37,38,40,
41,42,28,25,17,24,27,26,6,7,
8,0
};
};
public final static byte asr[] = Asr.asr;
@Override
public final int asr(int index) { return asr[index]; }
public interface Nasb {
public final static byte nasb[] = {0,
78,42,30,42,30,30,30,30,30,30,
30,30,30,42,109,42,42,42,42,42,
42,42,42,42,42,42,30,109,109,17,
17,106,110,60,60,95,1,30,30,30,
30,30,30,30,30,30,30,30,30,30,
30,30,30,110,30,30,30,30,30,30,
30,30,30,30,30,30,30,60,60,60,
15,86,49,13,94,47,47,69,70,19,
70,118,118,70,117,70,64,42,42,42,
42,42,42,42,42,42,42,42,42,42,
42,42,42,42,87,87,57,42,43,42,
32,15,99,14,60,101,59,7,7,7,
7,7,30,21,57,42,76,99,15,14,
25,60,53,35,42,103,9,57,42,57,
28,76,57,30,30,15,14,52,47,47,
49,103,60,42,113,57,7,62,11,57,
99,15,15,60,101,59,72,57,21,83,
90,7,62,42,42,21,27,42,7,30,
81,99,25,120,113,55,62,21,30,7,
23,29,15,7,30,25,60,60,21,84,
30,42,55,49,21,15,42,55,30,74
};
};
public final static byte nasb[] = Nasb.nasb;
@Override
public final int nasb(int index) { return nasb[index]; }
public interface Nasr {
public final static char nasr[] = {0,
78,76,75,66,74,73,1,0,90,0,
98,0,11,5,24,0,71,0,89,0,
40,0,96,0,22,0,86,11,48,5,
0,5,11,0,78,77,76,75,66,74,
73,0,46,45,27,0,26,0,27,51,
0,21,46,45,36,34,11,0,11,21,
0,60,0,66,61,62,63,64,53,28,
0,46,45,36,34,27,0,11,87,0,
100,0,11,70,0,5,48,42,0,11,
43,68,0,21,45,46,11,0,56,0,
27,51,11,25,0,11,88,0,43,11,
41,0,80,11,43,0,92,67,0,93,
11,25,0
};
};
public final static char nasr[] = Nasr.nasr;
@Override
public final int nasr(int index) { return nasr[index]; }
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
85,2,86,9,87,48,64,76,10,11,
8,1,3,6,7,68,69,81,82,83,
84,12,13,44,55,60,63,72,42,90,
47,52,56,61,62,66,67,74,75,78,
79,80,91,54,70,73,16,17,30,89,
93,4,14,15,18,19,20,21,29,31,
22,23,24,25,26,92,5,27,28,32,
33,34,35,36,37,38,39,40,41,94,
45,46,49,50,51,53,57,58,59,65,
71,77,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,
100,0,0,0,102,106,107,108,109,110,
0,111,112,113,114,115,116,117,0,118,
97,128,0,96,121,149,0,127,0,0,
0,0,145,147,0,148,0,0,0,98,
101,105,140,158,159,160,0,0,120,136,
146,155,130,0,150,153,154,157,104,0,
131,132,133,134,135,137,0,139,144,99,
103,119,122,123,124,125,126,129,0,138,
142,0,0,143,152,162,95,0,0,0,
141,0,151,156,161,0,163,164,0,165,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@Override
public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
public interface ScopePrefix {
public final static char scopePrefix[] = {
82,113,92,35,41,121,12,136,21,51,
69,28,47,103,158,165,169,145,1,1,
32,56,79,173,6,107,152,152,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,26,26,4,149,4,4,
26,4,26,26,9,110,155,162,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[] = {
63,61,63,26,26,61,42,108,47,26,
39,47,26,68,6,5,5,19,100,99,
45,26,36,3,86,68,7,5,109,68,
39,37,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[] = {
43,43,43,50,50,43,43,86,30,50,
30,30,50,66,30,30,50,59,50,50,
30,50,30,30,60,1,30,30,92,66,
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[] = {
24,24,24,28,28,24,17,-1,32,28,
9,32,28,5,39,39,39,69,1,3,
32,28,9,39,95,5,42,39,-1,5,
9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@Override
public final int scopeStateSet(int index) { return scopeStateSet[index]; }
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
142,12,0,96,0,190,104,0,31,135,
0,153,188,104,13,141,0,98,0,0,
148,104,2,138,0,97,0,148,104,2,
0,151,2,0,113,17,178,104,12,0,
113,178,104,17,12,0,113,17,12,0,
113,178,104,12,0,113,12,0,129,0,
2,0,151,97,0,2,97,0,148,104,
2,129,0,2,0,150,97,0,143,2,
0,153,176,104,13,94,185,44,0,98,
0,153,176,104,13,185,44,0,136,0,
99,0,184,104,136,0,104,136,0,141,
99,0,172,104,13,183,94,182,159,0,
172,104,13,182,159,0,197,85,0,77,
2,101,97,99,0,197,114,134,2,89,
0,53,0,0,134,69,111,0,29,118,
0,152,2,0,97,107,0,152,2,16,
0,97,105,0,181,2,98,0,134,12,
98,0,134,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,
1263,0,343,0,1665,1430,1594,0,1472,1335,
1429,1260,1239,1128,1098,0,547,493,397,1204,
443,1408,0,568,1226,318,0,1474,1155,1150,
1121,1239,1128,1098,593,1431,1501,0,1579,1443,
476,1490,1480,1408,1193,601,1228,1210,1324,1311,
1110,1300,1099,1418,1397,1386,1352,1536,1528,1515,
580,570,1432,1375,1070,1060,1012,1002,1078,1040,
1020,547,982,962,941,920,451,899,514,350,
878,857,836,815,794,773,752,731,710,689,
668,318,647,418,493,397,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,180,104,165,16,23,22,10,9,4,
11,15,14,98,2,102,101,105,103,107,
106,109,108,111,110,99,29,2,2,67,
52,2,12,152,134,136,104,10,9,54,
53,4,58,57,56,55,47,48,11,62,
61,64,63,69,68,65,79,78,77,75,
76,74,73,72,71,70,60,152,152,181,
134,114,104,12,2,139,138,166,167,159,
168,46,45,169,44,170,171,94,101,101,
103,103,103,103,102,102,106,105,105,108,
107,134,110,109,114,114,13,141,144,120,
17,113,104,4,151,104,2,182,160,160,
185,160,59,104,13,120,4,104,113,178,
149,148,118,104,150,104,94,13,94,13,
104,4,120,178,17,113,4,2,127,129,
104,29,148,183,104,13,104,188,104,120,
104,113,113,143,104,2,144,13,172,136,
173,104,176,94,177,153,29,190,52,12,
191,104,149,104,104,104,176,153,60,29,
133,60,142,52,12,149,148,186,172,184,
59,143,2,104,153,142,29,29,59,144
};
};
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",
"expression_parser_start",
"]",
")",
"}",
";",
"identifier_token",
"expression",
"postfix_expression",
"member_name",
"type_id",
"initializer_list",
"unary_expression",
"cast_expression",
"multiplicative_expression",
"additive_expression",
"shift_expression",
"relational_expression",
"equality_expression",
"and_expression",
"exclusive_or_expression",
"inclusive_or_expression",
"logical_and_expression",
"logical_or_expression",
"assignment_expression",
"expression_list_actual",
"constant_expression",
"declaration_specifiers",
"simple_declaration_specifiers",
"struct_or_union_declaration_sp" +
"ecifiers",
"elaborated_declaration_specifi" +
"ers",
"enum_declaration_specifiers",
"typdef_name_declaration_specif" +
"iers",
"no_type_declaration_specifier",
"type_qualifier",
"no_type_declaration_specifiers",
"simple_type_specifier",
"struct_or_union_specifier",
"elaborated_specifier",
"enum_specifier",
"type_name_specifier",
"initializer",
"declarator",
"struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
"struct_declarator_list",
"complete_struct_declarator",
"enumerator_list",
"enumerator",
"direct_declarator",
"pointer_seq",
"array_direct_declarator",
"basic_direct_declarator",
"array_modifier",
"parameter_type_list",
"identifier_list",
"array_modifier_type_qualifiers",
"type_qualifier_list",
"parameter_list",
"parameter_declaration",
"complete_parameter_declarator",
"abstract_declarator",
"direct_abstract_declarator",
"basic_direct_abstract_declarat" +
"or",
"array_direct_abstract_declarat" +
"or",
"initializer_seq",
"designated_initializer",
"designation",
"designator_list",
"designator"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
public final static int
ERROR_SYMBOL = 51,
SCOPE_UBOUND = 32,
SCOPE_SIZE = 33,
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 = 210,
NT_OFFSET = 93,
LA_STATE_OFFSET = 2086,
MAX_LA = 2,
NUM_RULES = 317,
NUM_NONTERMINALS = 126,
NUM_SYMBOLS = 219,
SEGMENT_SIZE = 8192,
START_STATE = 1250,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
ACCEPT_ACTION = 1759,
ERROR_ACTION = 1769;
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];
}
}