/*******************************************************************************
* 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.parser.upc;
public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym {
public interface IsKeyword {
public final static byte isKeyword[] = {0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
public interface BaseCheck {
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,3,1,
1,4,4,3,3,2,2,4,1,0,
1,1,2,2,2,2,2,2,2,2,
2,4,1,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,2,4,
2,4,2,4,1,1,2,1,1,1,
3,3,2,1,3,2,3,2,3,2,
2,11,10,10,9,10,9,9,8,10,
9,9,8,9,8,8,7,10,9,9,
8,9,8,8,7,1,1,-118,-275,0,
-16,-304,0,0,0,0,0,0,-19,0,
0,-57,0,0,0,-2,0,0,0,0,
0,0,-21,0,0,0,0,0,0,0,
-7,0,0,0,0,0,-43,0,0,0,
0,0,-23,0,0,0,0,0,0,-22,
0,0,0,0,0,-11,-13,-81,-4,0,
0,-279,0,0,0,0,0,0,-34,0,
0,0,0,0,0,-28,0,-45,0,-9,
0,0,0,0,0,0,-110,0,0,0,
0,0,0,0,0,0,0,0,-30,0,
0,0,0,-29,0,0,0,0,0,0,
0,0,0,0,0,0,0,-31,0,0,
0,-26,0,0,0,0,0,0,0,-39,
-24,0,0,0,0,0,0,0,0,-40,
0,0,0,0,0,0,0,0,-243,0,
0,-65,0,0,0,0,0,0,0,0,
0,0,0,0,-66,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-27,0,0,0,0,-51,-300,0,0,
-32,0,0,0,0,0,0,0,0,0,
0,0,0,-53,0,0,-67,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-25,0,-134,0,0,0,0,0,0,0,
0,0,0,0,0,0,-147,0,0,0,
0,0,0,0,0,0,0,-68,0,0,
-61,0,0,0,0,0,0,0,0,0,
0,-69,0,0,0,0,-129,0,0,-48,
0,0,-47,0,0,0,0,0,0,0,
-70,0,0,0,0,-35,0,0,-85,0,
0,-3,0,0,0,0,0,0,0,0,
0,0,-36,0,0,-259,0,-20,0,-71,
-14,-192,0,0,0,0,0,-86,0,0,
0,-320,0,0,0,0,0,0,-41,0,
0,0,0,0,0,0,0,-185,0,0,
0,0,0,0,0,0,-72,0,0,0,
0,0,0,0,0,0,-99,0,0,0,
-237,0,0,0,0,0,0,0,-77,0,
0,0,0,0,0,0,0,-321,0,0,
-79,0,0,0,0,0,0,0,0,0,
0,-119,0,0,0,-42,-98,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-88,0,0,-161,0,0,0,0,0,0,
0,0,-37,0,0,-227,0,0,0,0,
0,-46,0,0,-73,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-100,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-33,-74,0,0,
0,0,0,0,0,0,0,-75,0,0,
-91,0,0,0,-78,0,0,0,0,0,
0,-76,0,0,0,0,0,0,0,-114,
0,-87,0,0,-80,0,0,0,0,0,
0,0,-90,0,0,-241,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-162,0,0,-93,0,0,
0,0,0,0,0,-198,0,0,0,0,
-54,0,0,-154,0,0,0,0,0,0,
0,0,0,0,0,0,0,-94,0,-180,
-271,0,0,0,0,0,0,0,0,0,
-104,0,0,0,0,0,0,-5,0,-127,
0,0,-128,0,0,0,0,0,0,0,
0,0,-116,0,0,0,0,0,0,0,
0,0,0,-96,0,0,-58,0,0,0,
0,0,0,0,0,0,0,-176,0,0,
0,0,0,0,0,-97,-130,0,0,-164,
0,0,-84,0,0,0,0,0,0,0,
0,0,0,-38,0,0,0,-105,0,-106,
0,0,0,0,0,0,0,0,0,0,
0,0,-165,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-113,0,
-302,0,0,0,0,0,0,-120,0,0,
0,0,0,0,0,-166,0,0,0,-107,
0,0,0,0,0,0,-108,0,0,-59,
0,0,0,-109,0,0,0,0,0,0,
-200,0,0,0,0,0,0,0,-167,0,
0,-152,0,0,0,0,0,0,0,-111,
0,0,-60,0,0,0,-201,0,0,0,
0,0,0,-112,0,0,0,0,0,0,
0,-168,0,0,-155,0,0,0,0,0,
0,0,0,0,0,-62,0,0,0,-115,
0,0,0,0,0,0,-156,0,0,0,
0,0,0,0,-169,0,0,0,0,0,
0,0,0,0,0,-117,0,0,-95,0,
0,0,-150,0,0,0,0,0,0,-175,
0,0,0,0,0,0,0,-170,0,0,
0,-158,0,0,0,0,0,0,-178,0,
0,-131,0,0,0,-188,0,0,0,0,
0,0,-193,0,0,0,0,0,0,0,
-171,0,0,-177,0,0,0,0,0,0,
0,-195,0,0,-132,0,0,0,-196,0,
0,0,0,0,0,-202,0,0,0,0,
0,0,0,-172,0,0,0,-209,0,0,
0,0,0,0,-210,0,0,-133,0,0,
0,-208,0,0,0,0,0,0,-203,0,
0,0,0,0,0,0,-173,0,0,0,
-211,0,0,0,0,0,0,-212,0,0,
-55,0,0,0,-240,0,0,0,0,0,
0,-204,0,0,0,0,0,0,0,-174,
0,0,0,-213,0,0,0,0,0,0,
-214,0,0,-56,0,0,0,-276,0,0,
0,0,0,0,-205,0,0,0,0,0,
0,0,-238,0,0,0,-215,0,0,0,
0,0,0,-216,0,0,-63,0,0,0,
-277,0,0,0,0,0,0,-206,0,0,
0,0,0,0,0,-239,0,0,0,-217,
0,0,0,0,0,0,-218,0,0,-64,
0,0,0,-163,0,0,0,0,0,0,
-207,0,0,0,0,0,0,0,-255,0,
0,0,-219,0,0,0,0,0,0,-179,
0,0,0,0,-220,0,-230,-89,0,0,
0,0,-225,0,0,0,0,0,0,0,
0,-265,0,0,-221,-226,0,0,0,0,
0,0,-181,0,0,0,0,-323,0,0,
-260,-273,0,0,0,0,-222,0,0,0,
0,0,0,0,-270,0,0,-261,-262,0,
0,0,0,0,0,-182,0,0,0,0,
-322,0,-1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-295,
0,0,-263,0,0,0,0,0,0,0,
-183,0,0,0,0,0,0,0,0,0,
0,0,0,-268,0,0,0,0,0,0,
0,0,-184,0,-303,0,0,-233,0,0,
0,0,0,0,0,-246,0,0,0,0,
-223,0,0,-101,0,0,0,0,-224,0,
0,0,0,0,0,0,0,0,-153,-319,
0,0,-231,-232,0,0,0,0,0,0,
-248,0,0,0,0,-278,0,-121,0,0,
0,0,-249,0,0,0,0,0,0,0,
0,0,-242,0,-324,0,0,-251,0,0,
0,0,0,0,0,-250,0,0,0,0,
-269,0,-50,0,0,0,0,-296,-301,0,
0,0,0,0,0,0,0,-316,0,0,
0,0,0,0,0,0,0,0,-10,0,
0,0,0,0,0,0,-191,0,0,0,
0,0,-281,-283,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-293,0,0,0,0,-44,0,0,
-253,0,0,0,0,0,0,0,-229,-18,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-49,
0,0,-252,0,-194,0,0,0,0,0,
0,0,-236,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-157,0,0,0,0,0,0,-149,0,0,
-342,0,0,0,0,0,0,0,-234,0,
0,0,0,0,0,-148,0,-235,0,0,
0,0,-264,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-258,0,0,0,0,0,0,-102,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-257,0,
-160,0,0,0,-291,0,0,-6,0,0,
0,0,0,0,0,0,-297,-146,0,0,
0,-298,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-315,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-285,-299,-144,0,0,0,0,0,0,0,
0,0,0,-294,0,0,0,0,0,0,
0,-103,0,-306,0,0,0,-309,0,0,
0,-312,0,0,0,0,0,0,-254,0,
0,0,0,-314,0,0,0,0,0,-329,
0,0,0,-317,0,0,0,0,0,0,
0,0,0,0,0,0,-287,0,0,0,
0,-334,-326,-272,0,0,-289,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-290,0,0,0,0,0,0,0,
0,0,-325,0,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,-336,-331,0,0,0,-341,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-343,0,0,0,0,-340,
-338,0,0,0,-344,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-346,0,0,0,0,-359,-345,0,0,0,
-349,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-350,0,0,0,
0,0,-347,0,0,0,-352,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-355,0,0,0,0,0,-351,0,
0,0,-360,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-362,0,
0,0,0,0,-353,0,0,0,-363,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-364,0,0,0,0,0,
-356,0,0,0,-366,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-367,0,0,0,0,0,-361,0,0,0,
-368,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-370,0,0,0,
0,0,-365,0,0,0,-371,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-373,0,0,0,0,0,-369,0,
0,0,-376,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-377,0,
0,0,0,0,-372,0,0,0,-378,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-379,0,0,0,0,0,
-374,0,0,0,-380,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-381,0,0,0,0,0,-382,0,0,0,
-383,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-145,0,0,-159,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-267,0,0,0,-138,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-247,0,-318,0,0,0,0,0,0,0,
0,0,0,0,0,0,-8,0,0,-139,
-12,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-140,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,0,
0,0,0,-142,0,0,0,0,0,0,
0,0,0,0,0,0,0,-143,0,0,
0,-15,0,0,0,0,0,0,-17,0,
0,-135,0,0,0,0,0,0,0,0,
0,0,0,0,0,-197,-82,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-199,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-136,0,0,
-274,0,0,0,0,0,0,0,-137,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-92,
0,-52,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-122,0,0,0,
0,-123,0,-124,0,0,0,0,-151,0,
0,0,0,0,0,0,0,0,0,-125,
0,0,0,0,-126,0,0,-256,0,0,
0,-266,0,0,0,0,0,0,0,0,
0,0,0,0,0,-83,0,-292,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-186,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-305,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-308,0,-228,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-327,0,0,0,0,0,0,0,-328,
0,0,0,0,0,0,0,-332,0,0,
0,0,0,0,0,0,-333,0,0,0,
0,0,-335,0,0,0,0,0,-348,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-354,0,0,0,0,0,
0,0,0,-357,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-358,
0,0,0,0,0,-375,0,0,0,0,
0,-244,0,0,0,0,0,0,0,0,
-245,0,0,0,0,0,0,0,-280,0,
0,0,0,0,0,0,-282,0,0,0,
0,0,0,0,-284,0,0,0,0,0,
0,-286,0,-307,0,0,0,0,0,-310,
0,0,0,0,0,0,0,0,-311,0,
0,0,0,0,-313,0,-337,0,0,0,
0,0,0,-339,0,-187,0,0,0,0,
0,-189,0,0,0,0,0,0,0,0,
-190,0,-288,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,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[] = {
111,1,130,39,39,11,11,49,49,3,
3,2,2,5,5,5,5,6,6,6,
7,8,8,8,8,8,8,8,8,82,
82,94,9,9,9,9,9,9,9,9,
9,9,9,10,10,12,12,12,12,13,
13,13,15,15,15,17,17,17,17,17,
26,26,26,27,27,28,28,29,29,30,
30,31,31,32,32,34,34,34,34,34,
34,34,34,34,34,34,34,18,14,4,
112,112,95,95,60,19,19,19,19,19,
19,19,20,20,20,16,16,96,96,73,
73,21,21,22,22,22,68,68,23,23,
23,23,23,24,24,24,24,24,51,51,
33,33,33,33,33,54,54,54,88,88,
83,83,83,83,84,84,84,85,85,85,
86,86,86,87,87,87,97,97,89,89,
90,55,57,57,57,57,57,69,70,70,
70,70,70,70,70,70,70,70,70,70,
77,74,74,113,114,79,79,75,75,75,
91,98,98,99,99,92,92,92,58,115,
115,100,101,101,101,76,76,116,102,102,
103,103,93,93,35,36,36,36,56,59,
59,45,45,45,45,41,41,42,46,46,
47,43,43,104,104,48,118,118,117,117,
52,52,52,52,52,52,52,52,52,105,
61,61,61,61,40,80,80,71,71,71,
72,72,63,63,119,119,62,62,81,81,
81,64,64,64,65,66,66,66,67,67,
67,67,78,78,50,50,53,121,120,120,
120,120,106,122,123,123,124,124,125,125,
111,111,126,126,107,107,107,107,127,127,
108,108,108,109,110,110,5,5,5,9,
9,9,9,9,9,35,35,37,37,38,
38,128,128,128,19,25,25,25,25,25,
25,25,23,23,23,23,23,23,23,23,
23,23,23,23,23,23,23,23,23,23,
23,23,23,23,23,23,44,44,362,2858,
1259,2059,2895,17,21,18,522,883,45,72,
535,618,2751,577,20,651,2078,17,21,18,
522,43,40,2045,632,717,680,838,805,848,
75,1922,92,136,214,325,326,2558,2916,875,
552,225,230,1922,220,492,222,224,232,510,
2077,275,138,135,137,161,56,2043,72,2213,
379,180,2883,270,1127,1101,273,140,167,1901,
500,862,144,147,150,153,2137,426,401,766,
2151,2627,1689,2631,2742,2749,1740,433,940,1186,
111,87,1024,1252,136,214,325,326,1145,72,
420,225,233,96,1910,1059,1226,95,97,98,
99,100,334,138,135,137,161,793,2055,552,
225,230,2509,219,492,222,224,295,140,167,
1912,129,1728,144,147,150,153,160,426,510,
2181,311,2627,1689,2631,2742,2749,1740,656,2601,
432,20,2832,313,17,21,18,522,883,45,
1760,535,618,401,577,2108,651,157,446,439,
875,420,225,234,229,632,717,680,838,805,
848,75,2150,282,1669,372,294,2317,2412,432,
20,2318,1663,17,21,18,522,883,45,283,
535,618,938,577,2651,651,20,1903,327,17,
21,18,522,323,632,717,680,838,805,848,
75,2861,282,2751,129,20,331,288,17,21,
18,522,43,45,228,535,1278,2751,283,20,
314,938,17,21,18,522,43,45,2466,535,
618,2503,577,20,651,289,17,21,18,522,
43,36,2135,632,717,1497,290,2850,940,1626,
2528,90,20,2558,2850,17,21,18,522,883,
45,2048,535,618,232,577,2217,651,188,2284,
332,180,2839,1898,291,128,632,717,680,838,
805,848,75,2217,282,187,2558,2918,401,766,
2268,2049,476,940,1186,111,87,279,2839,2560,
283,128,202,938,136,214,325,326,96,2320,
1059,104,95,97,98,99,100,334,2839,368,
226,3101,88,138,135,137,161,2210,159,552,
225,230,1586,219,492,222,224,2917,140,167,
341,2918,659,144,147,150,153,699,426,129,
2879,688,2627,1689,2631,2742,2749,1740,2626,1431,
20,129,1609,17,21,18,522,883,45,3092,
535,618,2320,577,1811,651,72,1,368,1186,
111,87,673,2766,632,717,680,838,805,848,
75,2317,282,96,2317,1059,109,95,97,98,
99,100,334,1905,261,855,2839,2575,283,196,
688,938,2290,1458,20,275,510,17,21,18,
522,883,45,284,535,618,315,577,110,651,
242,2839,940,244,340,88,292,2767,632,717,
680,838,805,848,75,1450,781,2478,2117,20,
108,240,17,21,18,522,43,45,2296,535,
618,2503,577,20,651,2562,17,21,18,522,
43,36,145,632,717,680,838,805,848,94,
2318,1697,2801,1891,20,2221,333,17,21,18,
522,883,45,2041,535,618,2503,577,20,651,
247,17,21,18,522,43,36,557,632,717,
680,838,805,848,75,2362,784,20,129,998,
17,21,18,522,883,45,72,535,618,105,
577,2676,651,20,72,248,17,21,18,522,
321,632,717,680,838,805,848,75,2569,1325,
2751,2217,20,1613,241,17,21,18,522,883,
45,2917,535,618,125,577,510,651,1966,429,
2217,306,31,2217,1578,31,632,717,680,838,
805,848,75,2751,92,20,1193,2898,17,21,
18,522,43,45,1983,535,618,2751,577,20,
651,662,17,21,18,522,43,39,2924,632,
717,680,838,805,848,94,2829,129,940,305,
2751,88,20,2567,659,17,21,18,522,883,
45,1292,535,618,2217,577,189,651,2917,312,
2217,124,1573,1233,211,1252,632,717,680,838,
805,848,75,2751,86,20,688,285,17,21,
18,522,883,45,25,535,618,24,577,2917,
651,2217,112,297,309,303,304,310,2320,632,
717,680,838,805,848,75,2751,85,20,19,
2324,17,21,18,522,883,45,2407,535,618,
2751,577,20,651,2570,17,21,18,522,43,
38,2897,632,717,680,838,805,848,75,2751,
84,20,129,1739,17,21,18,522,883,45,
2836,535,618,2751,577,20,651,2882,17,21,
18,522,43,37,2847,632,717,680,838,805,
848,75,2751,83,20,2148,1829,17,21,18,
522,883,45,276,535,618,2751,577,20,651,
2657,17,21,18,522,43,35,2320,632,717,
680,838,805,848,75,2751,82,20,231,277,
17,21,18,522,883,45,2682,535,618,2751,
577,20,651,2840,17,21,18,522,43,36,
2316,632,717,680,838,805,848,75,2751,81,
20,235,2782,17,21,18,522,883,45,74,
535,618,2751,577,20,651,2837,17,21,18,
522,43,48,2707,632,717,680,838,805,848,
75,2751,80,20,129,519,17,21,18,522,
883,45,2885,535,618,2751,577,20,651,2826,
17,21,18,522,43,47,2320,632,717,680,
838,805,848,75,2751,79,20,1491,2468,17,
21,18,522,883,45,2553,535,618,2751,577,
20,651,2317,17,21,18,522,43,46,2320,
632,717,680,838,805,848,75,2751,78,20,
1508,2207,17,21,18,522,883,45,2315,535,
618,2701,577,20,651,2317,17,21,18,522,
319,22,2320,632,717,680,838,805,848,75,
2751,77,20,1509,2114,17,21,18,522,883,
45,2118,535,618,2726,577,20,651,2317,17,
21,18,522,41,243,2320,632,717,680,838,
805,848,75,2751,76,20,1543,1930,17,21,
18,522,883,45,2394,535,618,2776,577,20,
651,2317,17,21,18,522,34,245,2320,632,
717,680,838,805,848,75,2751,1358,20,1843,
2854,17,21,18,522,883,45,2868,535,618,
2776,577,20,651,2356,17,21,18,522,33,
246,2320,632,717,680,838,805,848,75,2751,
1391,20,23,2925,17,21,18,522,883,45,
2917,535,618,339,577,2477,651,2935,1929,256,
214,325,326,129,2902,632,717,680,838,805,
848,75,2751,93,20,2856,2924,17,21,18,
522,883,45,2917,535,618,337,577,2217,651,
299,2951,2857,255,214,325,326,2469,632,717,
680,838,805,848,75,2751,74,20,2954,2955,
17,21,18,522,43,45,2917,535,618,335,
577,2317,651,1895,429,181,306,256,214,325,
326,632,717,680,838,805,848,94,1424,1661,
2751,28,20,2958,938,17,21,18,522,43,
45,2917,535,618,127,577,662,651,28,28,
296,938,938,905,2935,213,632,717,680,838,
805,848,94,2917,305,2751,123,20,2845,2024,
17,21,18,522,43,45,2917,535,618,3125,
577,2732,651,28,2839,940,938,338,88,2867,
203,632,717,680,838,805,848,94,1483,2405,
2751,1613,20,2606,2936,17,21,18,522,43,
45,2917,535,618,3132,577,2941,651,2355,916,
302,304,310,2320,386,1521,632,717,680,838,
805,848,94,387,2017,2751,1907,20,2320,958,
17,21,18,522,43,45,2946,535,618,2027,
577,2924,651,220,368,1186,111,87,2953,2965,
204,632,717,680,838,805,848,94,2056,96,
275,1059,109,95,97,98,99,100,334,346,
3262,3262,268,1127,1101,273,688,291,368,1186,
111,87,210,2917,2917,1821,3134,3140,1952,267,
205,1457,1614,96,110,1059,109,95,97,98,
99,100,334,2924,136,214,325,326,129,659,
688,147,368,1186,111,87,107,3262,3262,2405,
2284,1613,180,146,135,137,161,96,110,1059,
109,95,97,98,99,100,334,3262,3262,767,
1912,688,3262,2320,688,519,940,1186,111,87,
107,3262,182,72,2053,136,214,325,326,308,
106,96,110,1059,102,95,97,98,99,100,
334,3262,3262,1731,139,135,137,161,3262,3262,
875,552,225,1006,108,220,492,222,984,141,
167,1923,1773,510,145,148,151,154,2751,426,
20,2317,3262,17,21,18,522,43,45,1929,
535,618,210,577,369,651,129,940,1932,2821,
88,1564,1614,2962,632,717,680,838,1599,278,
1591,3262,552,225,230,1013,219,492,222,224,
298,2848,659,275,255,214,325,326,2839,940,
264,336,88,3262,3262,268,1127,1101,273,552,
225,230,1516,219,492,222,224,3262,3262,2320,
275,1929,265,28,1811,2320,938,699,401,469,
274,510,268,1127,1101,273,280,2924,2751,1492,
20,3262,2863,17,21,18,522,43,45,1889,
535,618,2898,577,260,651,255,214,325,326,
262,2320,1895,1212,632,717,680,1475,3262,552,
225,488,2130,219,492,222,474,256,214,325,
326,2917,2924,2751,3155,20,206,160,17,21,
18,522,43,45,2915,535,618,195,577,3262,
651,1424,2839,940,2917,126,88,3002,2917,632,
1443,3018,2917,3262,3262,3157,1551,156,446,562,
940,1186,111,87,2917,591,1373,3164,3262,3262,
2917,692,413,3039,2320,96,3262,1059,103,95,
97,98,99,100,334,281,501,605,940,1186,
111,87,2917,2320,1929,3055,3262,648,940,1186,
111,87,3262,96,2125,1059,120,95,97,98,
99,100,334,96,3262,1059,115,95,97,98,
99,100,334,691,940,1186,111,87,3262,255,
214,325,326,734,940,1186,111,87,3262,96,
3262,1059,1678,95,97,98,99,100,334,96,
3262,1059,365,95,97,98,99,100,334,777,
940,1186,111,87,2917,2320,3262,3064,3262,820,
940,1186,111,87,1912,96,2171,1059,357,95,
97,98,99,100,334,96,3262,1059,114,95,
97,98,99,100,334,863,940,1186,111,87,
2917,2320,3262,118,3262,906,940,1186,111,87,
3262,96,2243,1059,364,95,97,98,99,100,
334,96,3262,1059,363,95,97,98,99,100,
334,949,940,1186,111,87,2917,2320,3262,3086,
3262,992,940,1186,111,87,3262,96,2269,1059,
361,95,97,98,99,100,334,96,3262,1059,
356,95,97,98,99,100,334,1035,940,1186,
111,87,3262,2320,3262,3262,3262,1078,940,1186,
111,87,3262,96,2279,1059,355,95,97,98,
99,100,334,96,3262,1059,353,95,97,98,
99,100,334,1121,940,1186,111,87,3262,2320,
3262,3262,3262,1164,940,1186,111,87,3262,96,
2315,1059,349,95,97,98,99,100,334,96,
3262,1059,122,95,97,98,99,100,334,1207,
940,1186,111,87,3262,2320,3262,3262,3262,1250,
940,1186,111,87,3262,96,2341,1059,362,95,
97,98,99,100,334,96,3262,1059,360,95,
97,98,99,100,334,1293,940,1186,111,87,
3262,2320,3262,3262,3262,1336,940,1186,111,87,
3262,96,2377,1059,359,95,97,98,99,100,
334,96,3262,1059,354,95,97,98,99,100,
334,1379,940,1186,111,87,3262,2320,3262,3262,
3262,1422,940,1186,111,87,3262,96,2423,1059,
352,95,97,98,99,100,334,96,3262,1059,
351,95,97,98,99,100,334,1465,940,1186,
111,87,3262,2320,3262,3262,3262,1508,940,1186,
111,87,3262,96,2449,1059,348,95,97,98,
99,100,334,96,3262,1059,347,95,97,98,
99,100,334,1551,940,1186,111,87,3262,2320,
3262,3262,3262,1594,940,1186,111,87,3262,96,
2459,1059,345,95,97,98,99,100,334,96,
3262,1059,121,95,97,98,99,100,334,1637,
940,1186,111,87,3262,2320,3262,3262,3262,1680,
940,1186,111,87,3262,96,2485,1059,358,95,
97,98,99,100,334,96,3262,1059,350,95,
97,98,99,100,334,1723,940,1186,111,87,
3262,2320,3262,3262,3262,1766,940,1186,111,87,
3262,96,2495,1059,346,95,97,98,99,100,
334,96,3262,1059,344,95,97,98,99,100,
334,1809,940,1186,111,87,3262,2320,3262,3262,
3262,1852,940,1186,111,87,3262,96,2531,1059,
343,95,97,98,99,100,334,96,3262,1059,
342,95,97,98,99,100,334,2751,3262,20,
401,766,17,21,18,522,43,45,3262,535,
618,3262,577,3262,651,1916,766,3262,3262,2751,
3262,20,3262,1455,17,21,18,522,43,45,
3262,535,618,3262,577,3262,1344,3262,3262,3262,
3262,552,225,230,3262,219,492,222,224,3262,
3262,2914,940,1916,766,88,552,225,230,160,
219,492,222,224,3262,116,3262,2398,3262,3262,
2751,1950,20,3262,1668,17,21,18,522,43,
45,3262,535,618,3262,577,3262,1351,3262,156,
446,3262,3262,3262,552,225,230,591,219,492,
222,224,136,214,325,326,136,214,325,326,
3262,3262,1668,3262,3262,199,201,3262,3262,1951,
3262,143,135,137,161,149,135,137,161,3262,
1964,3262,3262,2751,3262,20,142,167,17,21,
18,522,43,45,3262,535,618,3262,1377,3262,
2751,3262,20,200,201,17,21,18,522,43,
45,3262,535,618,2751,1384,20,3262,3262,17,
21,18,522,43,45,3262,535,618,2751,1410,
20,3262,2021,17,21,18,522,43,45,2076,
535,618,2751,1417,20,3262,3262,17,21,18,
522,43,45,3262,535,1285,2576,1912,20,3262,
3262,17,21,18,522,43,44,136,214,325,
326,1984,1861,3262,136,214,325,326,3262,3262,
3262,3262,278,3262,3262,3262,152,135,137,161,
3262,3262,3262,155,135,137,161,875,552,225,
230,3262,220,492,222,224,28,3262,2751,938,
20,2848,659,17,21,18,522,43,45,2751,
1311,20,3262,275,17,21,18,522,43,45,
3262,1318,3262,3262,3262,268,1127,1101,273,3262,
2360,659,129,368,1811,3262,88,3262,3262,3262,
3262,510,1889,3262,3262,3262,1068,129,368,3262,
3262,88,129,368,129,368,88,3262,88,2037,
659,1068,369,1811,260,198,1068,3262,1068,3262,
129,368,1895,1212,88,129,368,3262,2894,88,
198,3262,2183,659,1068,198,3262,198,3262,1068,
1628,3262,198,260,762,3262,2388,659,2388,659,
3262,1167,1212,198,3262,1628,3262,3262,198,1266,
1628,3262,1628,3262,1299,198,1332,796,875,3262,
2914,368,3262,3262,88,3262,3262,3262,1628,1811,
275,1811,1365,1628,116,2916,940,1398,3262,88,
796,3262,270,1127,1101,273,2063,1200,3262,366,
3262,193,3262,688,3262,3262,3262,1476,2984,260,
3262,260,2916,940,2110,659,88,1167,1212,2004,
1212,2611,3262,2089,193,3262,366,3262,3262,2023,
1723,2984,2916,940,3262,3262,88,3262,1621,3262,
2916,940,3262,2135,88,3262,366,198,2916,940,
3262,2161,88,3262,366,3262,2095,2916,940,2197,
3262,88,366,2916,940,3262,3262,88,2207,2916,
940,366,796,88,2233,3262,2167,366,3262,3262,
2305,3262,3262,366,2203,2916,940,3262,3262,88,
3262,3262,2239,3262,2916,940,2351,3262,88,366,
3262,2275,3262,3262,3262,2387,194,2311,366,3262,
2916,940,3262,2383,88,3262,2916,940,3262,3262,
88,2413,2839,940,366,3109,88,2521,3262,2419,
366,2839,940,3262,3117,88,1703,3262,2455,2839,
940,3262,2955,88,3262,1704,3262,2839,940,3262,
2982,88,3262,1974,2491,2839,940,3262,3149,88,
2527,1978,2914,940,2839,940,88,3010,88,1982,
2839,940,3262,3027,88,3262,116,3262,2000,2839,
940,3262,3033,88,2022,2914,940,2839,940,88,
3080,88,3262,2094,2914,940,129,940,88,116,
88,2166,129,940,3262,3262,88,3262,116,3262,
1633,129,940,129,940,88,1648,88,3262,3262,
3262,3262,3262,3262,3262,1763,3262,1931,3262,3262,
1994,3262,3262,3262,3262,3262,3262,3262,3262,3262,
3262,3262,3262,3262,3262,3262,3262,3262,3262,3262,
3262,3262,3262,2131,3262,3262,3262,3262,3262,3262,
3262,3262,2347,3262,0,328,837,0,11,227,
0,3270,1,0,1,3500,0,8,10,0,
1656,119,0,180,20,0,1,3489,0,113,
2099,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
public final int baseAction(int index) { return baseAction[index]; }
public final static char lhs[] = baseAction;
public final int lhs(int index) { return lhs[index]; };
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,0,56,57,58,59,
60,61,62,63,64,65,66,67,68,69,
70,0,72,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,53,54,0,56,
57,58,59,60,61,62,63,64,65,66,
67,68,69,70,0,72,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,53,
54,0,56,57,58,59,60,61,62,63,
64,65,66,67,68,69,70,0,72,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,53,54,0,56,57,58,59,60,
61,62,63,64,65,66,67,68,69,70,
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,53,54,0,56,57,58,59,
60,61,62,63,64,65,66,67,68,69,
70,0,1,2,3,4,92,0,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,0,1,43,44,
45,46,47,48,49,50,51,52,53,54,
0,1,2,0,43,44,45,46,47,48,
49,50,51,52,53,54,0,56,57,58,
59,60,61,62,63,64,65,66,67,68,
69,70,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
35,36,37,38,39,40,41,42,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
29,30,31,32,33,34,35,36,37,38,
39,40,41,42,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,
37,38,39,40,41,42,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
35,36,37,38,39,40,41,42,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
29,30,31,32,33,34,35,36,37,38,
39,40,41,42,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,
37,38,39,40,41,42,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
35,36,37,38,39,40,41,42,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
29,30,31,32,33,34,35,36,37,38,
39,40,41,42,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,
37,38,39,40,41,42,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
35,36,37,38,39,40,41,42,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
29,30,31,32,33,34,35,36,37,38,
39,40,41,42,0,1,2,3,4,5,
0,1,0,3,0,1,6,3,0,0,
6,0,1,2,5,0,1,2,0,25,
26,0,0,1,2,0,4,6,0,0,
0,0,1,2,25,0,5,43,44,45,
46,47,48,49,50,51,52,53,54,0,
56,57,58,59,60,61,62,63,64,65,
66,67,68,69,70,0,1,2,3,4,
5,43,44,45,46,47,48,55,76,77,
71,87,0,0,75,2,55,5,5,74,
25,26,43,44,45,46,47,48,49,50,
51,52,53,54,73,76,77,25,43,44,
45,46,47,48,49,50,51,52,53,54,
0,56,57,58,59,60,61,62,63,64,
65,66,67,68,69,70,0,1,55,3,
0,5,0,1,0,3,2,0,0,1,
0,3,87,71,0,0,73,75,0,1,
6,3,26,43,44,45,46,47,48,49,
50,51,52,53,54,0,0,0,2,43,
44,45,46,47,48,49,50,51,52,53,
54,0,56,57,58,59,60,61,62,63,
64,65,66,67,68,69,70,0,72,0,
1,4,3,0,5,75,0,0,43,44,
45,46,47,48,49,50,51,52,53,54,
83,84,85,86,0,26,0,97,98,99,
100,101,102,103,104,105,106,0,93,0,
0,2,43,44,45,46,47,48,49,50,
51,52,53,54,87,56,57,58,59,60,
61,62,63,64,65,66,67,68,69,70,
0,72,0,1,4,3,0,5,81,82,
43,44,45,46,47,48,83,84,85,86,
83,84,85,86,55,55,0,91,26,0,
4,75,0,1,2,3,0,1,9,3,
0,0,88,89,4,43,44,45,46,47,
48,49,50,51,52,53,54,0,56,57,
58,59,60,61,62,63,64,65,66,67,
68,69,70,0,72,43,44,45,46,47,
48,49,50,51,52,53,54,0,56,57,
58,59,60,61,62,63,64,65,66,67,
68,69,70,0,1,0,3,81,82,0,
1,2,3,4,5,0,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,0,0,0,0,4,0,
5,5,5,0,5,2,43,44,45,46,
47,48,49,50,51,52,53,54,49,56,
57,58,59,60,61,62,63,64,65,66,
67,68,69,70,0,0,2,90,4,0,
1,0,1,2,3,4,5,78,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,71,0,73,72,
95,96,73,0,78,81,82,0,43,44,
45,46,47,48,0,1,0,3,2,55,
49,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,0,0,79,78,
43,44,45,46,47,48,49,50,51,52,
53,54,0,56,57,58,59,60,61,62,
63,64,65,66,67,0,79,0,0,76,
77,0,7,8,7,8,0,0,1,2,
3,4,5,72,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,0,1,2,3,4,5,0,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,0,1,2,
3,4,0,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,0,0,1,78,3,0,90,7,
8,0,5,55,88,89,0,6,0,0,
0,2,6,0,6,0,1,2,3,4,
78,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,1,2,3,4,0,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,0,1,2,3,4,
73,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,1,2,3,4,0,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,0,1,2,3,4,
75,0,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,1,2,3,4,0,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,0,1,2,3,4,
74,0,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,1,2,3,4,74,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,0,1,2,3,4,
74,0,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,1,2,3,4,74,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,0,1,2,0,4,
5,0,0,2,6,0,0,2,0,0,
0,10,11,5,0,6,0,0,2,0,
25,4,71,0,5,0,0,0,1,2,
0,4,0,25,28,5,0,0,43,44,
45,46,47,48,49,50,51,52,53,54,
55,0,0,2,0,25,55,43,44,45,
46,47,48,0,0,2,0,4,73,43,
44,45,46,47,48,43,44,45,46,47,
48,80,55,0,0,0,0,0,5,5,
5,5,73,0,0,94,79,0,5,76,
77,71,5,9,0,0,55,55,25,25,
0,25,27,76,77,0,91,2,55,55,
0,55,0,0,0,71,6,0,92,6,
6,0,80,6,0,0,0,6,0,0,
0,6,6,0,80,6,0,0,0,0,
0,0,0,0,0,71,73,0,73,0,
0,0,0,0,0,72,79,0,0,72,
0,0,0,0,0,71,71,0,0,0,
0,71,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,74,0,0,0,
0,0,0,0,0,0,0,0,0,75,
0,0,74,0,74,0,0,0,0,0,
0,0,0,0,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,
3262,6600,1,6598,1,1219,870,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3271,3363,1028,1094,951,
973,1160,457,1087,1030,1134,1972,1120,821,1868,
727,1594,1080,1,1,1,1,1,1,1,
1,1,1,1,1,183,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,254,3269,8,3247,3247,3247,3247,3247,3247,
3247,3247,3247,3247,3247,3247,3247,3247,3247,3247,
3247,3247,3247,3247,3247,3247,3247,3247,3247,3247,
3247,3247,3247,3247,3247,3247,3247,3247,3247,3247,
3247,3247,3247,3247,3247,3247,3247,3247,3247,3247,
3247,3247,3247,3247,3247,3247,3247,3247,1,3247,
3247,3247,3247,3247,3247,3247,3247,3247,3247,3247,
3247,3247,3247,3247,184,3247,3262,6600,1,6598,
1,1219,870,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,3271,3363,1028,1094,951,973,1160,457,1087,
1030,1134,1972,1120,821,1868,727,1594,1080,1,
1,1,1,1,1,1,1,1,1,1,
1,287,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,3262,3269,3262,
6600,1,6598,1,3272,870,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,3271,3363,1028,1094,951,973,
1160,457,1087,1030,1134,1972,1120,821,1868,727,
1594,1080,1,1,1,1,1,1,1,1,
1,1,1,1,71,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
3262,6600,1,6598,1,3272,870,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3271,3363,1028,1094,951,
973,1160,457,1087,1030,1134,1972,1120,821,1868,
727,1594,1080,1,1,1,1,1,1,1,
1,1,1,1,1,131,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,3262,3273,2852,3274,1189,1908,3262,1123,1090,
1156,1420,1387,1354,3275,3276,3277,3278,987,382,
3578,3579,3580,1321,921,574,3262,3501,3477,3478,
3479,3591,450,3592,3426,3427,3425,3480,3428,3424,
1,3489,678,3262,3477,3478,3479,3591,450,3592,
3426,3427,3425,3480,3428,3424,3262,3431,3436,3435,
3433,3434,3432,3437,3438,3430,3439,3440,3441,371,
681,427,3262,6600,1,6598,1,3272,870,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,3271,3363,1028,
1094,951,973,1160,457,1087,1030,1134,1972,1120,
821,1868,727,1594,1080,3262,6600,1,6598,1,
3272,870,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
3271,3363,1028,1094,951,973,1160,457,1087,1030,
1134,1972,1120,821,1868,727,1594,1080,3262,6600,
1,6598,1,3272,870,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,3271,3363,1028,1094,951,973,1160,
457,1087,1030,1134,1972,1120,821,1868,727,1594,
1080,3262,6600,1,6598,1,3272,870,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,3271,3363,1028,1094,
951,973,1160,457,1087,1030,1134,1972,1120,821,
1868,727,1594,1080,3262,6600,1,6598,1,3272,
870,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,3271,
3363,1028,1094,951,973,1160,457,1087,1030,1134,
1972,1120,821,1868,727,1594,1080,3262,6600,1,
6598,1,3272,870,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,3271,3363,1028,1094,951,973,1160,457,
1087,1030,1134,1972,1120,821,1868,727,1594,1080,
3262,6600,1,6598,1,3272,870,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3271,3363,1028,1094,951,
973,1160,457,1087,1030,1134,1972,1120,821,1868,
727,1594,1080,3262,6600,1,6598,1,3272,870,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,3271,3363,
1028,1094,951,973,1160,457,1087,1030,1134,1972,
1120,821,1868,727,1594,1080,3262,6600,1,6598,
1,3272,870,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,3271,3363,1028,1094,951,973,1160,457,1087,
1030,1134,1972,1120,821,1868,727,1594,1080,3262,
6600,1,6598,1,3272,870,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,3271,3363,1028,1094,951,973,
1160,457,1087,1030,1134,1972,1120,821,1868,727,
1594,1080,3262,6600,1,6598,1,3272,870,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,3271,3363,1028,
1094,951,973,1160,457,1087,1030,1134,1972,1120,
821,1868,727,1594,1080,3262,6600,1,6598,1,
3272,870,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
3271,3363,1028,1094,951,973,1160,457,1087,1030,
1134,1972,1120,821,1868,727,1594,1080,3262,6600,
1,6598,1,3272,870,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,3271,3363,1028,1094,951,973,1160,
457,1087,1030,1134,1972,1120,821,1868,727,1594,
1080,3262,6600,1,6598,1,3272,870,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,3271,3363,1028,1094,
951,973,1160,457,1087,1030,1134,1972,1120,821,
1868,727,1594,1080,3262,6600,1,6598,1,3272,
870,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,3271,
3363,1028,1094,951,973,1160,457,1087,1030,1134,
1972,1120,821,1868,727,1594,1080,3262,6600,1,
6598,1,3272,870,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,3271,3363,1028,1094,951,973,1160,457,
1087,1030,1134,1972,1120,821,1868,727,1594,1080,
3262,6600,1,6598,1,3272,870,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3271,3363,1028,1094,951,
973,1160,457,1087,1030,1134,1972,1120,821,1868,
727,1594,1080,3262,6600,1,6598,1,3272,870,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,3271,3363,
1028,1094,951,973,1160,457,1087,1030,1134,1972,
1120,821,1868,727,1594,1080,3262,6600,1,6598,
1,3272,870,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,3271,3363,1028,1094,951,973,1160,457,1087,
1030,1134,1972,1120,821,1868,727,1594,1080,3262,
6600,1,6598,1,3272,870,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,3271,3363,1028,1094,951,973,
1160,457,1087,1030,1134,1972,1120,821,1868,727,
1594,1080,3262,6600,1,6598,1,3272,870,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,3271,3363,1028,
1094,951,973,1160,457,1087,1030,1134,1972,1120,
821,1868,727,1594,1080,3262,6600,1,6598,1,
3272,870,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
3271,3363,1028,1094,951,973,1160,457,1087,1030,
1134,1972,1120,821,1868,727,1594,1080,3262,6600,
1,6598,1,3272,870,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,3271,3363,1028,1094,951,973,1160,
457,1087,1030,1134,1972,1120,821,1868,727,1594,
1080,3262,6600,1,6598,1,3272,870,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,3271,3363,1028,1094,
951,973,1160,457,1087,1030,1134,1972,1120,821,
1868,727,1594,1080,3262,6600,1,6598,1,3272,
870,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,3271,
3363,1028,1094,951,973,1160,457,1087,1030,1134,
1972,1120,821,1868,727,1594,1080,3262,6600,1,
6598,1,3272,870,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,3271,3363,1028,1094,951,973,1160,457,
1087,1030,1134,1972,1120,821,1868,727,1594,1080,
3262,6600,1,6598,1,3272,870,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3271,3363,1028,1094,951,
973,1160,457,1087,1030,1134,1972,1120,821,1868,
727,1594,1080,3262,6600,1,6598,1,3272,870,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,3271,3363,
1028,1094,951,973,1160,457,1087,1030,1134,1972,
1120,821,1868,727,1594,1080,3262,6600,1,6598,
1,3272,870,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,3271,3363,1028,1094,951,973,1160,457,1087,
1030,1134,1972,1120,821,1868,727,1594,1080,3262,
6600,1,6598,1,3272,870,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,3271,3363,1028,1094,951,973,
1160,457,1087,1030,1134,1972,1120,821,1868,727,
1594,1080,3262,6600,1,6598,1,3272,870,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,3271,3363,1028,
1094,951,973,1160,457,1087,1030,1134,1972,1120,
821,1868,727,1594,1080,3262,6600,1,6598,1,
3272,870,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
3271,3363,1028,1094,951,973,1160,457,1087,1030,
1134,1972,1120,821,1868,727,1594,1080,3262,6600,
1,6598,1,3272,870,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,3271,3363,1028,1094,951,973,1160,
457,1087,1030,1134,1972,1120,821,1868,727,1594,
1080,3262,6600,1,6598,1,3272,870,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,3271,3363,1028,1094,
951,973,1160,457,1087,1030,1134,1972,1120,821,
1868,727,1594,1080,3262,1,1,1,1,3272,
3262,3273,55,3274,3262,3273,739,3274,3262,236,
751,254,3489,678,224,1,3489,678,3262,3271,
3569,3262,263,3489,1838,3262,1,561,3262,59,
3262,1,3256,1838,224,3262,3268,1,1,1,
1,1,1,1,1,1,1,1,1,132,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3262,1,1,1,1,
3272,3477,3478,3479,3591,450,3592,802,593,2752,
224,301,237,1,224,2781,802,224,3268,1540,
3271,3569,3477,3478,3479,3591,450,3592,3426,3427,
3425,3480,3428,3424,3267,593,2752,224,1,1,
1,1,1,1,1,1,1,1,1,1,
133,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,3262,1,802,1,
43,192,186,6595,11,6595,3238,60,185,6596,
3262,6596,300,224,230,113,3267,224,207,6599,
233,6599,3459,3477,3478,3479,3591,450,3592,3426,
3427,3425,3480,3428,3424,134,3262,3262,407,1,
1,1,1,1,1,1,1,1,1,1,
1,3262,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,49,192,3262,
1,1288,1,62,191,1340,69,61,3477,3478,
3479,3591,450,3592,3426,3427,3425,3480,3428,3424,
2738,2724,2710,2693,63,3459,158,1307,1274,1241,
1208,1175,1109,1142,1076,1043,1010,250,3259,223,
328,643,1,1,1,1,1,1,1,1,
1,1,1,1,3234,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
3262,191,3262,1,428,1,3262,192,1255,1222,
1,1,1,1,1,1,2738,2724,2710,2693,
2738,2724,2710,2693,802,3235,51,607,3459,65,
1288,640,1,393,678,3274,3262,3273,2557,3274,
3262,3262,2630,2579,924,1,1,1,1,1,
1,1,1,1,1,1,1,3262,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,3262,192,3477,3478,3479,3591,450,
3592,3426,3427,3425,3480,3428,3424,67,3431,3436,
3435,3433,3434,3432,3437,3438,3430,3439,3440,3441,
371,681,427,3262,3273,3262,3274,1255,1222,1,
3273,2852,3274,851,3266,73,1123,1090,1156,1420,
1387,1354,3275,3276,3277,3278,987,382,3578,3579,
3580,1321,921,574,50,3262,3262,1,1288,3262,
3268,3266,3241,3262,3268,708,3477,3478,3479,3591,
450,3592,3426,3427,3425,3480,3428,3424,872,3431,
3436,3435,3433,3434,3432,3437,3438,3430,3439,3440,
3441,371,681,427,266,249,2781,1953,1,1,
3244,3262,3273,2852,3274,886,3266,3265,1123,1090,
1156,1420,1387,1354,3275,3276,3277,3278,987,382,
3578,3579,3580,1321,921,574,1643,1,3267,3269,
1818,1836,3267,58,3265,1255,1222,130,3477,3478,
3479,3591,450,3592,209,3273,3262,3274,2940,802,
1406,1,3273,2852,3274,1189,29,6557,1123,1090,
1156,1420,1387,1354,3275,3276,3277,3278,987,382,
3578,3579,3580,1321,921,574,3262,3262,3521,3265,
3477,3478,3479,3591,450,3592,3426,3427,3425,3480,
3428,3424,3262,3431,3436,3435,3433,3434,3432,3437,
3438,3430,3439,3440,3441,52,3521,54,68,593,
2752,3262,2829,2818,2829,2818,64,3262,3273,2852,
3274,621,3266,29,1123,1090,1156,1420,1387,1354,
3275,3276,3277,3278,987,382,3578,3579,3580,1321,
921,574,3262,3273,2852,3274,1189,3266,221,1123,
1090,1156,1420,1387,1354,3275,3276,3277,3278,987,
382,3578,3579,3580,1321,921,574,3262,3273,2852,
3274,1189,3262,6557,1123,1090,1156,1420,1387,1354,
3275,3276,3277,3278,987,382,3578,3579,3580,1321,
921,574,53,208,941,3265,941,1,1953,2829,
2818,3262,3268,802,2630,2579,1,1112,3262,3262,
3262,3166,870,3262,1244,3262,3273,2852,3274,1189,
3265,6557,1123,1090,1156,1420,1387,1354,3275,3276,
3277,3278,987,382,3578,3579,3580,1321,921,574,
1,3273,2852,3274,1189,212,6557,1123,1090,1156,
1420,1387,1354,3275,3276,3277,3278,987,382,3578,
3579,3580,1321,921,574,3262,3273,2852,3274,1189,
3267,6557,1123,1090,1156,1420,1387,1354,3275,3276,
3277,3278,987,382,3578,3579,3580,1321,921,574,
3262,3273,2867,3274,1189,3262,3262,1123,1090,1156,
1420,1387,1354,3275,3276,3277,3278,987,382,3578,
3579,3580,1321,921,574,3262,3273,2872,3274,1189,
1505,3262,1123,1090,1156,1420,1387,1354,3275,3276,
3277,3278,987,382,3578,3579,3580,1321,921,574,
3262,3273,2874,3274,1189,3262,3262,1123,1090,1156,
1420,1387,1354,3275,3276,3277,3278,987,382,3578,
3579,3580,1321,921,574,3262,3273,2890,3274,1189,
682,3262,1123,1090,1156,1420,1387,1354,3275,3276,
3277,3278,987,382,3578,3579,3580,1321,921,574,
3262,3273,2852,3274,1189,1765,3262,1123,1090,1156,
1420,1387,1354,3275,3276,3277,3278,987,382,3578,
3579,3580,1321,921,574,3262,3273,2895,3274,1189,
1989,257,1123,1090,1156,1420,1387,1354,3275,3276,
3277,3278,987,382,3578,3579,3580,1321,921,574,
1,3273,2852,3274,1189,1472,3262,1123,1090,1156,
1420,1387,1354,3275,3276,3277,3278,987,382,3578,
3579,3580,1321,921,574,20,180,3253,230,3253,
3253,32,3262,637,234,3262,119,3172,1,3262,
3262,3288,3289,3272,251,1463,3262,1,3181,1,
3253,254,731,57,91,70,252,269,3489,1838,
3262,254,253,3271,3250,3272,72,56,180,180,
180,180,180,180,180,180,180,180,180,180,
3253,271,3262,676,89,3271,1007,1,1,1,
1,1,1,269,293,2781,272,254,3253,3477,
3478,3479,3591,450,3592,3477,3478,3479,3591,450,
3592,963,802,1,3262,1,3262,1,117,3272,
3268,3272,91,3262,66,960,3521,286,3270,593,
2752,448,908,2557,30,208,802,1575,117,3271,
30,3271,3629,593,2752,3262,607,3183,802,1645,
324,802,202,322,320,1439,6557,42,1908,6557,
6557,3262,1061,6557,3262,190,190,6557,1,190,
1,186,185,3262,1488,207,3262,3262,3262,3262,
3262,3262,3262,3262,3262,2613,117,3262,3267,3262,
3262,3262,3262,3262,3262,3269,3520,3262,3262,908,
3262,3262,3262,3262,3262,3291,6183,3262,3262,3262,
3262,558,3262,3262,3262,3262,3262,3262,3262,3262,
3262,3262,3262,3262,3262,3262,1610,3262,3262,3262,
3262,3262,3262,3262,3262,3262,3262,3262,3262,748,
3262,3262,3274,3262,3273
};
};
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,
523,5,58,398,523,60,355,30,7,42,
353,42,353,353,42,353,42,400,600,60,
46,557,355,400,181,186,185,518,107,600,
517,359,301,353,104,104,353,104,60,600,
481,600,605,400,60,268,605,198,60,360,
323,380,84,84,84,84,84,84,84,84,
301,84,84,84,141,158,163,161,169,165,
172,171,174,173,175,355,222,355,255,600,
470,60,607,326,400,58,271,323,423,147,
301,607,252,355,84,107,517,359,182,82,
82,82,82,182,182,104,557,557,557,64,
557,557,182,359,192,84,192,380,481,481,
564,380,380,380,380,380,104,104,639,84,
84,84,84,84,84,84,84,84,84,84,
84,84,84,84,84,84,84,84,84,355,
222,255,255,470,470,481,476,480,60,423,
323,300,268,84,84,84,84,84,84,84,
84,84,84,84,480,252,196,357,182,84,
182,182,182,182,378,378,84,358,84,84,
360,64,192,64,178,430,198,600,602,479,
478,481,481,481,481,481,481,323,161,161,
158,158,165,165,163,163,163,163,171,169,
173,172,192,174,222,252,261,222,255,257,
559,257,470,423,602,600,607,84,84,323,
301,62,196,82,82,182,82,182,481,557,
481,481,359,64,84,564,481,570,605,484,
484,484,484,355,84,222,263,257,252,84,
104,423,470,570,476,323,323,257,2,82,
182,82,182,82,182,82,64,84,64,64,
481,607,252,181,84,180,252,470,252,194,
521,104,84,1,638,182,82,638,182,82,
82,182,639,182,481,358,481,263,84,141,
198,323,104,84,64,481,638,638,182,64,
481,638,638,182,638,182,82,481,639,182,
64,323,64,64,481,64,481,638,64,64,
481,64,481,638,64,481,638,638,182,64,
481,64,64,64,481,64,64,64,481,64,
64,481,64,481,638,64,64,64,64,64,
64,481,64
};
};
public final static char asb[] = Asb.asb;
public final int asb(int index) { return asb[index]; }
public interface Asr {
public final static byte asr[] = {0,
75,55,80,0,87,0,68,12,69,70,
13,14,15,16,3,10,11,9,7,8,
17,18,78,19,20,21,22,23,24,64,
56,61,59,60,58,57,62,63,65,66,
67,55,74,71,73,50,43,51,52,53,
44,49,54,45,46,47,48,25,5,4,
2,1,0,30,31,6,35,37,32,28,
33,42,34,27,29,36,39,41,38,40,
26,25,5,2,13,14,15,16,19,20,
21,10,11,9,4,7,8,17,18,12,
22,23,24,1,3,0,50,56,43,57,
68,51,58,52,59,60,53,44,61,62,
49,69,54,70,63,64,45,65,66,67,
1,3,46,47,48,5,75,71,25,0,
55,2,80,94,10,11,75,97,98,99,
100,101,103,102,104,105,106,4,81,82,
7,8,77,76,83,84,85,86,88,89,
9,90,91,92,72,95,96,78,73,74,
71,25,5,0,2,5,75,71,73,25,
55,74,0,5,72,55,80,2,13,14,
15,16,19,20,21,1,3,10,11,9,
4,7,8,17,18,12,22,23,24,6,
0,50,56,43,57,68,51,58,52,59,
60,53,44,61,62,49,69,54,70,63,
64,45,65,66,67,1,3,46,47,48,
26,5,72,0,1,3,5,72,71,0,
25,5,4,1,2,74,0,78,5,49,
43,44,45,46,47,48,10,11,9,4,
7,8,17,18,12,22,23,24,2,1,
3,13,14,15,16,19,20,21,0,49,
10,11,9,4,7,8,17,18,12,22,
23,24,2,1,3,13,14,15,16,19,
20,21,78,5,0,50,56,43,57,68,
51,58,52,59,60,53,44,61,62,49,
69,54,70,63,64,45,65,66,67,46,
47,48,1,3,6,0,87,93,72,30,
31,6,35,37,32,28,33,42,34,27,
29,36,39,41,38,40,26,25,5,12,
13,14,15,16,10,11,9,7,8,17,
18,19,20,21,22,23,24,4,2,1,
3,68,69,70,64,56,61,59,60,58,
57,62,63,65,66,67,54,51,49,50,
53,52,43,44,45,47,46,48,0,49,
54,53,52,51,50,80,94,10,11,9,
7,8,81,82,76,77,83,84,85,86,
88,89,90,91,92,95,96,75,97,98,
99,100,101,102,103,104,105,106,25,43,
44,45,46,47,48,4,1,2,55,71,
73,5,0,9,4,7,8,81,82,76,
77,83,84,85,86,88,89,90,91,92,
95,96,74,97,98,99,100,101,102,103,
104,105,106,78,73,72,6,5,71,25,
75,0,87,50,56,43,57,68,51,58,
52,59,60,53,44,61,62,49,69,54,
70,63,64,45,65,66,67,1,3,4,
46,47,48,25,5,26,2,0,5,71,
72,75,0,5,73,4,2,55,0,50,
56,43,57,68,51,58,52,59,60,53,
44,61,62,49,69,54,70,63,64,45,
65,66,67,1,3,46,47,48,79,4,
0,4,2,55,73,5,50,56,43,57,
68,51,58,52,59,60,53,44,61,62,
49,69,54,70,63,64,45,65,66,67,
1,3,46,47,48,79,0,27,5,73,
12,13,14,15,16,1,3,2,10,11,
9,4,7,8,17,18,19,20,21,22,
23,24,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,
105,34,64,24,88,145,20,124,37,125,
22,125,16,16,125,15,125,119,142,147,
34,34,20,138,65,44,44,34,34,142,
34,55,83,7,7,7,7,7,46,34,
158,142,157,115,147,82,157,61,127,109,
84,164,53,53,53,53,53,53,53,53,
83,53,53,53,34,34,34,34,34,34,
34,34,34,34,34,86,138,34,138,34,
13,129,79,94,27,64,52,84,103,34,
83,160,138,34,53,34,34,75,65,71,
71,71,71,65,65,7,34,34,34,39,
34,34,65,55,34,53,34,1,158,158,
136,164,164,164,164,164,92,92,58,72,
53,53,53,53,53,53,53,53,53,53,
53,53,53,53,53,53,53,72,53,34,
168,138,7,13,138,158,134,34,147,103,
84,83,99,53,53,53,53,53,53,53,
53,53,53,53,158,56,138,34,65,53,
65,65,65,65,69,172,72,34,72,72,
109,39,34,39,34,34,151,142,155,44,
44,158,158,158,158,158,158,84,34,34,
34,34,34,34,34,34,34,34,34,34,
34,34,34,34,138,56,64,181,7,101,
34,34,138,103,133,142,79,53,53,84,
83,34,51,71,71,65,174,65,158,34,
158,158,75,39,53,11,158,140,157,152,
152,152,152,152,53,168,147,101,56,53,
7,103,99,140,9,84,84,101,35,71,
65,71,65,71,65,174,39,72,39,39,
158,79,56,65,53,34,56,99,56,50,
34,7,53,18,177,65,71,177,65,71,
71,65,174,65,158,34,158,147,53,67,
61,84,7,53,39,158,177,177,65,39,
158,177,177,65,177,65,71,158,174,65,
39,84,39,39,158,39,158,177,39,39,
158,39,158,177,39,158,177,177,65,39,
158,39,39,39,158,39,39,39,158,39,
39,158,39,158,177,39,39,39,39,39,
39,158,39
};
};
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,
88,86,85,79,84,83,2,0,41,46,
66,65,40,0,116,91,0,125,0,110,
0,113,0,41,1,104,88,87,86,85,
79,84,83,0,123,0,128,0,2,18,
1,19,0,52,0,41,43,40,0,106,
53,1,8,0,1,49,0,1,112,0,
8,53,0,1,3,0,121,0,33,51,
3,1,14,0,18,2,73,49,1,33,
0,1,8,39,0,114,0,1,33,107,
0,94,0,1,33,51,16,0,35,0,
82,0,80,0,126,1,33,0,1,33,
2,18,96,0,33,1,127,0,79,74,
75,76,77,69,54,0,43,48,41,46,
40,0,11,41,46,65,66,1,0,1,
33,40,61,0,43,48,46,41,1,0,
8,53,50,0,65,66,1,11,0,117,
1,33,0,1,58,14,0,99,1,58,
0,33,51,1,68,0,1,44,11,0,
1,58,92,0
};
};
public final static char nasr[] = Nasr.nasr;
public final int nasr(int index) { return nasr[index]; }
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
85,2,86,9,87,3,10,11,8,6,
7,68,81,82,83,84,12,13,93,94,
95,100,101,102,92,107,49,77,45,46,
50,51,57,58,59,65,71,99,103,104,
105,106,48,64,76,96,97,98,69,44,
55,60,63,72,1,47,52,56,61,62,
66,67,74,75,78,79,80,54,70,73,
42,91,90,29,31,16,17,89,30,4,
14,15,18,19,20,21,108,22,23,24,
25,26,53,5,27,28,32,33,34,35,
36,37,38,39,40,41,88
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
public final int terminalIndex(int index) { return terminalIndex[index]; }
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
0,113,112,0,0,0,0,115,119,120,
110,121,122,114,123,136,124,132,135,0,
0,0,0,0,0,125,126,127,128,129,
130,0,140,131,148,0,0,0,109,0,
170,0,173,197,167,169,0,171,111,118,
139,172,0,147,0,0,0,162,158,134,
168,117,181,184,185,186,0,0,150,0,
174,180,138,151,152,153,154,157,159,179,
183,0,142,143,144,145,146,149,155,156,
0,161,166,116,133,137,141,0,160,164,
0,0,165,175,178,188,193,0,0,195,
0,0,0,0,163,0,176,177,182,187,
0,189,190,0,191,192,194,196,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[] = {
120,151,130,59,69,159,26,186,35,87,
105,75,6,12,16,40,83,52,141,195,
212,219,223,52,52,199,52,1,1,1,
44,47,92,115,47,227,20,145,206,206,
177,137,165,165,165,165,165,95,95,95
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
public final int scopePrefix(int index) { return scopePrefix[index]; }
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
128,128,128,4,4,128,32,192,10,4,
10,80,10,10,10,10,4,4,139,128,
10,10,4,56,80,203,65,4,4,4,
10,50,4,10,118,10,23,148,209,216,
180,139,167,169,171,173,175,102,97,110
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
public final int scopeSuffix(int index) { return scopeSuffix[index]; }
public interface ScopeLhs {
public final static char scopeLhs[] = {
76,74,76,52,52,74,50,22,67,52,
43,52,9,9,9,67,52,52,92,16,
9,8,8,52,52,32,52,128,125,124,
65,81,52,41,59,6,106,92,10,8,
23,92,87,86,85,84,83,43,48,43
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
public final int scopeLhs(int index) { return scopeLhs[index]; }
public interface ScopeLa {
public final static byte scopeLa[] = {
72,72,72,78,78,72,72,93,73,78,
73,13,73,73,73,73,78,78,25,72,
73,73,78,4,13,74,49,78,78,78,
73,2,78,73,1,73,75,1,73,73,
28,25,1,68,69,69,64,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
public final int scopeLa(int index) { return scopeLa[index]; }
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
153,153,153,126,126,153,49,10,130,126,
139,126,60,60,60,130,126,126,5,9,
60,60,60,126,126,94,126,137,1,3,
130,132,126,139,144,60,123,5,66,60,
10,5,154,154,154,154,154,139,141,139
};
};
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,
167,55,0,109,0,169,2,24,0,110,
0,169,2,23,0,169,2,22,0,229,
108,0,31,157,0,189,227,108,6,160,
0,111,0,0,178,108,2,172,0,178,
108,2,0,188,2,0,168,108,0,184,
0,212,108,55,0,9,109,0,141,49,
212,108,55,0,69,131,109,0,141,212,
108,49,55,0,212,108,49,55,0,131,
109,0,141,49,55,0,141,212,108,55,
0,141,55,0,148,0,2,0,176,110,
0,2,110,0,178,108,2,148,0,2,
0,174,110,0,166,2,0,167,0,189,
209,108,6,109,223,68,0,111,0,189,
209,108,6,223,68,0,165,0,112,0,
222,108,165,0,108,165,0,163,112,0,
205,108,6,221,109,220,186,0,205,108,
6,220,186,0,195,0,154,0,153,0,
152,0,151,0,150,0,126,32,0,77,
2,114,110,112,0,126,118,121,2,35,
0,53,135,0,203,108,6,0,121,96,
138,0,29,131,0,169,2,0,110,120,
0,169,2,12,0,110,118,0,219,2,
115,0,121,55,115,0,121,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
public final int scopeRhs(int index) { return scopeRhs[index]; }
public interface ScopeState {
public final static char scopeState[] = {0,
372,0,432,0,2902,2984,2879,0,1013,2531,
2521,2495,2485,2459,2449,2423,2413,2387,2377,2351,
2341,2315,2305,2279,2269,2243,2233,2207,2197,2171,
2161,2135,2125,2099,2089,2063,2053,2027,2017,1989,
1731,1765,682,1697,457,767,1663,0,748,558,
1843,1543,1509,1508,1491,519,2766,640,0,1420,
1387,1354,1321,921,574,886,2766,1818,607,1908,
2557,1953,2738,2724,2710,2693,2630,2579,2829,2818,
2752,593,1288,1255,1222,1189,851,1156,621,1123,
1090,987,382,1645,748,1610,1575,1540,1505,1472,
1439,1406,1373,940,1340,1307,1274,1241,1208,1175,
1142,1109,1076,1043,1010,905,368,973,872,640,
802,837,558,519,0,1127,1101,552,492,369,
2898,1838,2781,1811,1628,0,450,0,500,429,
369,2767,1760,2613,2575,1838,2560,1811,448,678,
1898,0,1740,368,659,429,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,218,140,108,233,108,211,190,47,191,
186,192,70,69,193,68,194,195,108,2,
1,148,211,225,204,153,148,197,155,108,
150,6,55,220,198,198,223,198,168,147,
166,108,2,108,71,55,2,75,168,108,
167,2,24,23,22,12,18,17,8,7,
4,9,11,10,115,119,122,120,133,124,
135,134,137,136,138,109,6,109,6,147,
4,168,108,234,108,140,49,141,108,116,
4,108,6,160,4,155,150,203,40,38,
41,39,36,29,27,34,42,33,28,32,
37,35,125,6,31,30,109,108,169,121,
165,2,2,2,2,2,94,80,2,55,
82,81,4,76,77,8,7,89,88,86,
85,84,83,90,9,92,91,96,95,221,
108,6,108,4,147,178,140,179,108,108,
141,212,187,106,105,104,102,103,101,100,
99,98,97,75,224,108,6,5,121,108,
121,121,121,109,2,2,2,126,2,2,
108,74,167,74,202,109,118,108,2,173,
172,169,169,169,169,169,219,121,120,120,
119,119,124,124,122,122,122,122,134,133,
136,135,121,137,6,205,165,206,108,209,
109,210,147,108,2,108,71,212,49,141,
4,71,108,158,110,121,158,175,121,28,
121,121,203,74,71,168,188,108,2,118,
118,118,118,118,74,108,108,209,189,75,
71,108,187,108,168,141,141,227,108,110,
121,110,121,110,175,110,118,2,118,118,
178,108,205,222,74,166,189,187,189,71,
229,80,55,230,110,121,110,110,121,110,
110,121,110,175,121,126,178,71,74,156,
75,167,80,55,118,151,110,110,121,118,
151,110,110,121,110,121,110,175,110,118,
93,167,118,118,151,118,151,110,118,118,
151,118,151,110,118,151,110,110,121,118,
175,118,118,118,151,118,118,118,151,118,
118,151,118,151,110,118,118,118,118,118,
118,151,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",
"MYTHREAD",
"THREADS",
"UPC_MAX_BLOCKSIZE",
"relaxed",
"shared",
"strict",
"upc_barrier",
"upc_localsizeof",
"upc_blocksizeof",
"upc_elemsizeof",
"upc_notify",
"upc_fence",
"upc_wait",
"upc_forall",
"ERROR_TOKEN",
"EOF_TOKEN",
"]",
")",
"}",
";",
"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",
"layout_qualifier",
"affinity"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
public final static int
ERROR_SYMBOL = 26,
SCOPE_UBOUND = 49,
SCOPE_SIZE = 50,
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 = 383,
NT_OFFSET = 107,
LA_STATE_OFFSET = 3629,
MAX_LA = 2147483647,
NUM_RULES = 367,
NUM_NONTERMINALS = 130,
NUM_SYMBOLS = 237,
SEGMENT_SIZE = 8192,
START_STATE = 1523,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 87,
EOLT_SYMBOL = 87,
ACCEPT_ACTION = 3234,
ERROR_ACTION = 3262;
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];
}
}