/******************************************************************************* * Copyright (c) 2006, 2011 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; @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[] = { 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; @Override public final int baseAction(int index) { return baseAction[index]; } public final static char lhs[] = baseAction; @Override public final int lhs(int index) { return lhs[index]; }; public interface TermCheck { public final static byte termCheck[] = {0, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, 50,51,52,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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @Override 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; @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", "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; @Override 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; @Override public final int getErrorSymbol() { return ERROR_SYMBOL; } @Override public final int getScopeUbound() { return SCOPE_UBOUND; } @Override public final int getScopeSize() { return SCOPE_SIZE; } @Override 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; @Override public final int getNumStates() { return NUM_STATES; } @Override public final int getNtOffset() { return NT_OFFSET; } @Override public final int getLaStateOffset() { return LA_STATE_OFFSET; } @Override public final int getMaxLa() { return MAX_LA; } @Override public final int getNumRules() { return NUM_RULES; } @Override public final int getNumNonterminals() { return NUM_NONTERMINALS; } @Override public final int getNumSymbols() { return NUM_SYMBOLS; } @Override public final int getSegmentSize() { return SEGMENT_SIZE; } @Override public final int getStartState() { return START_STATE; } @Override public final int getStartSymbol() { return lhs[0]; } public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; } @Override public final int getEoftSymbol() { return EOFT_SYMBOL; } @Override public final int getEoltSymbol() { return EOLT_SYMBOL; } @Override public final int getAcceptAction() { return ACCEPT_ACTION; } @Override public final int getErrorAction() { return ERROR_ACTION; } @Override public final boolean isValidForParser() { return isValidForParser; } @Override public final boolean getBacktrack() { return BACKTRACK; } @Override public final int originalState(int state) { return -baseCheck[state]; } @Override public final int asi(int state) { return asb[originalState(state)]; } @Override public final int nasi(int state) { return nasb[originalState(state)]; } @Override public final int inSymbol(int state) { return inSymb[originalState(state)]; } @Override public final int ntAction(int state, int sym) { return baseAction[state + sym]; } @Override public final int tAction(int state, int sym) { int i = baseAction[state], k = i + sym; return termAction[termCheck[k] == sym ? k : i]; } @Override public final int lookAhead(int la_state, int sym) { int k = la_state + sym; return termAction[termCheck[k] == sym ? k : la_state]; } }