blob: 33c84284b697f772310b2f09ecb806604c970f53 [file] [log] [blame]
/**
* Essential OCL Grammar
* <copyright>
*
* Copyright (c) 2005, 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 - Initial API and implementation
* E.D.Willink - Elimination of some shift-reduce conflicts
* E.D.Willink - Remove unnecessary warning suppression
* E.D.Willink - Bugs 184048, 225493, 243976, 259818, 282882, 287993, 288040, 292112, 295166
* Borland - Bug 242880
* Adolfo Sanchez-Barbudo Herrera (Open Canarias):
* - 242153: LPG v 2.0.17 adoption.
* - 299396: Introducing new LPG templates
* - 300534: Removing the use of deprecated macros.
* </copyright>
*
* $Id: QVTcParserprs.java,v 1.15 2010/07/10 09:34:36 ewillink Exp $
*/
package org.eclipse.qvt.declarative.parser.qvtcore;
public class QVTcParserprs implements lpg.runtime.ParseTable, QVTcParsersym {
public final static int ERROR_SYMBOL = 1;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
public final static int SCOPE_UBOUND = 51;
public final int getScopeUbound() { return SCOPE_UBOUND; }
public final static int SCOPE_SIZE = 52;
public final int getScopeSize() { return SCOPE_SIZE; }
public final static int MAX_NAME_LENGTH = 29;
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int NUM_STATES = 242;
public final int getNumStates() { return NUM_STATES; }
public final static int NT_OFFSET = 77;
public final int getNtOffset() { return NT_OFFSET; }
public final static int LA_STATE_OFFSET = 4449;
public final int getLaStateOffset() { return LA_STATE_OFFSET; }
public final static int MAX_LA = 1;
public final int getMaxLa() { return MAX_LA; }
public final static int NUM_RULES = 346;
public final int getNumRules() { return NUM_RULES; }
public final static int NUM_NONTERMINALS = 147;
public final int getNumNonterminals() { return NUM_NONTERMINALS; }
public final static int NUM_SYMBOLS = 224;
public final int getNumSymbols() { return NUM_SYMBOLS; }
public final static int SEGMENT_SIZE = 8192;
public final int getSegmentSize() { return SEGMENT_SIZE; }
public final static int START_STATE = 449;
public final int getStartState() { return START_STATE; }
public final static int IDENTIFIER_SYMBOL = 4;
public final int getIdentifier_SYMBOL() { return IDENTIFIER_SYMBOL; }
public final static int EOFT_SYMBOL = 75;
public final int getEoftSymbol() { return EOFT_SYMBOL; }
public final static int EOLT_SYMBOL = 75;
public final int getEoltSymbol() { return EOLT_SYMBOL; }
public final static int ACCEPT_ACTION = 4102;
public final int getAcceptAction() { return ACCEPT_ACTION; }
public final static int ERROR_ACTION = 4103;
public final int getErrorAction() { return ERROR_ACTION; }
public final static boolean BACKTRACK = true;
public final boolean getBacktrack() { return BACKTRACK; }
public final int getStartSymbol() { return lhs(0); }
public final boolean isValidForParser() { return QVTcParsersym.isValidForParser; }
public interface IsNullable {
public final static byte isNullable[] = {0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,1,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,
0,0,0,0,0,0,0,0,0,0,
0,0,1,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,1,1,1,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,1,1,0
};
};
public final static byte isNullable[] = IsNullable.isNullable;
public final boolean isNullable(int index) { return isNullable[index] != 0; }
public interface ProsthesesIndex {
public final static char prosthesesIndex[] = {0,
13,12,95,15,9,10,17,18,11,29,
30,31,32,33,38,39,40,41,42,43,
44,46,47,48,49,50,51,52,53,54,
59,60,61,89,91,86,88,90,83,84,
85,80,81,82,77,78,79,74,75,76,
71,72,73,68,69,70,65,66,67,24,
55,62,63,64,140,141,16,56,57,25,
103,21,58,136,139,87,128,130,137,138,
6,8,14,22,27,36,37,111,117,121,
23,26,34,35,96,100,110,112,113,114,
116,122,132,134,135,2,3,4,19,20,
45,92,93,97,98,99,101,102,104,105,
106,107,108,109,115,118,119,120,123,125,
127,129,131,133,142,143,144,145,146,1,
5,7,28,94,124,126,147
};
};
public final static char prosthesesIndex[] = ProsthesesIndex.prosthesesIndex;
public final int prosthesesIndex(int index) { return prosthesesIndex[index]; }
public interface IsKeyword {
public final static byte isKeyword[] = {0,
0,0,0,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,0,0,1,1,1,1,1,
1,1,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,
1,1,0,1,1,1,0,0,1,1,
1,1,1,1,1,0,1,1,1,1,
1,1,1,1,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,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,2,1,1,1,
3,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,4,4,
0,1,1,3,1,3,3,5,1,1,
1,1,1,1,1,1,1,1,1,1,
4,4,0,1,1,3,1,1,3,1,
1,1,1,1,1,1,4,1,3,1,
1,1,2,1,1,1,1,1,1,1,
1,1,1,1,1,8,10,10,8,10,
1,1,1,5,6,8,8,7,7,5,
6,9,1,4,6,4,7,5,0,0,
1,1,3,1,1,1,1,1,1,1,
1,1,3,1,3,1,1,1,3,1,
3,1,1,1,3,1,3,1,1,1,
3,1,3,1,1,1,3,3,1,3,
3,1,1,1,3,3,3,3,1,3,
3,3,3,1,1,1,3,3,1,3,
3,1,1,1,3,3,1,3,3,1,
1,1,2,2,1,2,2,1,1,1,
1,1,1,3,7,4,1,3,1,1,
1,1,4,2,1,4,7,5,3,3,
3,0,2,2,2,3,3,2,1,2,
2,2,1,1,2,2,2,1,1,1,
2,1,3,1,3,3,2,2,3,4,
2,2,6,2,1,2,1,2,1,1,
1,1,1,1,3,2,2,3,1,1,
0,1,3,1,3,2,2,1,3,2,
1,1,0,1,3,3,3,4,1,1,
1,3,1,2,1,1,1,1,1,1,
1,1,3,2,2,4,2,4,3,3,
2,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,-167,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,55,56,57,58,59,60,61,62,63,
64,65,-91,1,2,3,-3,-5,-6,-11,
74,75,-14,77,78,79,80,-16,-23,-24,
-25,-28,-27,1,2,3,4,-29,-30,-31,
-32,-35,-36,-90,1,2,3,4,-1,103,
104,-37,-38,-41,-43,-44,-10,1,2,3,
4,-15,1,2,3,4,-42,1,2,3,
-45,5,6,-47,128,-48,130,-49,-50,133,
134,-40,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,55,56,57,58,
59,60,61,62,63,64,65,81,82,83,
107,108,96,121,106,74,75,96,77,78,
79,80,-111,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,-21,127,-39,
129,-46,131,132,-191,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,55,
56,57,58,59,60,61,62,63,64,-51,
69,-54,-34,-55,-56,-57,-58,-59,-60,75,
-61,-62,78,79,80,-63,89,-64,89,-65,
-69,-70,-71,-87,1,2,3,-72,5,6,
-174,1,2,3,-73,5,6,-77,104,-85,
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,55,56,57,58,59,60,
61,62,63,64,81,82,83,-78,-79,-80,
-81,81,82,83,75,113,-126,78,79,80,
-94,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,55,56,57,58,59,
60,61,62,63,64,69,-82,-84,-86,-89,
-97,-98,-99,-106,-107,-108,-117,-118,-119,-120,
-122,-124,-127,-130,-132,-133,86,87,-219,1,
2,3,-129,93,94,-95,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,
55,56,57,58,59,60,61,62,63,64,
72,69,-134,-135,-136,-137,-138,-139,-140,-141,
-142,-143,84,85,-145,-146,-147,-148,-149,-150,
-151,86,87,-181,1,2,3,-131,93,94,
-177,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,55,56,57,58,59,
60,61,62,63,64,72,69,-152,-153,-154,
70,-158,72,-159,-160,-161,-162,-163,-164,-165,
-166,-171,-170,-195,84,85,-221,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,55,56,57,58,59,60,61,62,63,
64,69,69,-172,68,-173,-176,-184,72,-185,
-186,-188,-192,-193,-196,-198,-199,-200,-203,-214,
84,85,-128,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,55,56,57,
58,59,60,61,62,63,64,69,69,-201,
68,-155,1,2,3,73,-168,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,55,56,57,58,59,60,61,62,63,
64,70,-202,-206,68,-217,1,2,3,73,
-183,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,55,56,57,58,59,
60,61,62,63,64,70,-207,-208,-209,-210,
-212,-213,-215,-223,-226,-227,-228,-229,-230,-231,
-232,-233,-235,-236,-234,-240,86,87,-194,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,55,56,57,58,59,60,61,
62,63,64,69,-241,-242,68,0,0,0,
0,73,-197,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,55,56,57,
58,59,60,61,62,63,64,0,0,0,
68,0,0,0,0,73,-225,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,55,56,57,58,59,60,61,62,63,
64,0,0,0,68,0,0,0,0,73,
-83,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,55,56,57,58,59,
60,61,62,63,64,0,0,0,0,0,
0,0,0,0,0,75,-88,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,55,56,57,58,59,60,61,62,63,
64,0,0,0,68,-175,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,
55,56,57,58,59,60,61,62,63,64,
0,0,0,68,-220,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,55,
56,57,58,59,60,61,62,63,64,0,
0,0,68,-33,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,55,56,
57,58,59,60,61,62,63,64,-52,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,55,56,57,58,59,60,61,
62,63,64,-53,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,55,56,
57,58,59,60,61,62,63,64,-123,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,55,56,57,58,59,60,61,
62,63,64,-144,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,55,56,
57,58,59,60,61,62,63,64,-156,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,55,56,57,58,59,60,61,
62,63,64,-169,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,55,56,
57,58,59,60,61,62,63,64,-179,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,55,56,57,58,59,60,61,
62,63,64,-182,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,55,56,
57,58,59,60,61,62,63,64,-204,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,55,56,57,58,59,60,61,
62,63,64,-205,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,55,56,
57,58,59,60,61,62,63,64,-216,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,55,56,57,58,59,60,61,
62,63,64,-218,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,55,56,
57,58,59,60,61,62,63,64,-237,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,55,56,57,58,59,60,61,
62,63,64,-238,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,55,56,
57,58,59,60,61,62,63,64,-239,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,55,56,57,58,59,60,61,
62,63,64,-100,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,55,56,
57,58,59,-116,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,55,56,
-101,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,-115,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,-102,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,-103,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,-112,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,-113,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,-114,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,-104,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,-105,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,
-66,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,-189,
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,0,76,-67,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,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,105,0,0,0,0,0,
0,0,0,76,-109,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,-190,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,-2,
76,-110,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,
-9,1,-74,1,2,3,4,5,6,7,
8,-75,1,2,3,4,5,6,7,8,
0,0,0,-26,1,-125,1,0,105,0,
0,-13,1,2,3,4,0,76,-76,1,
2,3,4,5,6,7,8,0,0,0,
0,0,0,0,95,0,97,98,99,100,
101,0,0,0,0,65,66,0,0,67,
-7,71,0,114,115,116,0,0,67,-96,
1,2,3,4,5,6,7,8,65,66,
65,0,0,0,71,136,137,0,139,74,
0,0,77,0,0,67,-121,1,2,3,
4,5,6,7,8,-8,1,117,118,119,
120,0,122,123,124,-157,1,2,3,4,
5,6,7,8,-180,1,2,3,4,5,
6,7,8,0,-20,1,67,-222,1,2,
3,4,5,6,7,8,-224,1,2,3,
4,5,6,7,8,95,135,97,98,99,
100,101,0,67,-92,1,2,3,-211,1,
65,66,-93,1,2,3,71,-178,1,2,
3,0,67,-19,1,0,126,-22,1,0,
0,67,0,0,0,90,-4,1,0,65,
66,-12,1,0,67,71,0,102,-68,1,
2,3,0,67,-17,1,0,0,-187,1,
-18,1,0,0,90,0,0,0,0,0,
125,0,0,65,70,0,102,0,0,0,
0,0,74,0,72,77,0,70,65,66,
0,0,65,66,71,91,92,0,71,0,
0,65,66,0,0,0,65,66,91,92,
0,103,89,0,0,111,0,90,70,65,
66,109,110,65,88,65,66,0,0,0,
0,0,74,0,0,0,0,0,0,0,
0,0,88,0,0,0,0,0,88,0,
0,0,0,0,0,0,0,0,0,0,
112,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,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
};
};
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[] = {
106,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,108,141,141,141,
141,141,141,141,141,141,141,141,81,142,
82,82,82,9,2,2,1,1,83,83,
4,4,6,6,6,6,6,6,6,6,
5,5,5,5,5,67,67,67,67,7,
8,109,109,110,110,84,72,91,70,92,
92,85,85,143,143,143,143,10,10,10,
10,11,11,93,93,94,94,86,86,87,
13,13,13,13,13,13,13,12,111,111,
15,16,17,17,18,18,19,20,21,14,
14,14,22,22,24,24,25,25,25,26,
26,23,23,23,28,28,28,28,28,28,
28,28,28,30,29,29,31,31,31,69,
73,73,68,68,60,60,33,32,61,61,
64,64,62,62,63,63,58,58,57,57,
59,59,55,55,54,54,56,56,52,52,
51,51,53,53,49,49,48,48,48,50,
50,50,46,46,45,45,45,45,45,47,
47,47,47,47,43,43,42,42,42,44,
44,44,40,40,39,39,39,41,41,41,
76,76,36,36,36,37,37,37,27,27,
34,34,34,34,34,35,38,112,112,113,
144,3,2,7,12,111,31,35,35,35,
35,27,106,106,106,106,116,116,114,118,
119,119,120,122,122,123,123,124,117,117,
97,97,98,98,99,99,99,100,100,101,
101,101,95,89,90,102,102,125,125,126,
127,145,128,146,131,131,132,132,132,129,
129,129,133,133,133,133,134,134,134,134,
134,130,130,130,105,104,104,77,103,78,
78,79,75,80,80,71,71,88,88,121,
135,96,74,136,136,137,139,115,115,138,
138,138,147,147,147,147,147,147,147,147,
147,147,141,66,65,65,65,1,791,612,
232,471,680,109,479,111,146,222,77,78,
79,80,90,91,476,93,94,95,96,220,
112,113,114,115,474,121,122,123,133,688,
221,456,223,204,207,215,682,701,199,685,
700,189,684,702,179,687,698,172,686,703,
166,691,696,160,689,708,154,868,144,715,
149,692,322,45,440,885,232,211,620,9,
58,788,313,640,292,1152,309,310,36,294,
761,64,786,45,440,40,232,454,305,60,
52,604,633,928,609,440,988,232,884,10,
294,298,904,933,910,170,253,45,440,40,
232,441,45,440,40,232,441,664,440,38,
232,934,30,31,809,1151,937,282,123,899,
1153,615,128,791,612,232,471,680,109,479,
111,146,222,77,78,79,80,90,91,476,
93,94,95,96,220,112,113,114,115,474,
121,122,123,133,688,221,456,223,204,207,
215,682,701,199,685,700,189,684,702,179,
687,698,172,686,703,166,691,696,160,689,
708,154,868,144,715,149,692,322,32,39,
41,16,893,439,252,3710,788,313,263,284,
789,309,310,506,440,612,232,471,680,109,
479,111,146,222,77,78,79,80,90,91,
476,93,94,95,96,220,112,113,114,115,
474,121,122,123,133,1062,221,456,223,204,
207,215,682,701,199,194,1064,193,913,718,
913,280,720,869,720,66,440,612,232,471,
680,109,479,111,146,222,77,78,79,80,
90,91,476,93,94,95,96,220,112,113,
114,115,474,121,122,123,133,688,221,456,
223,204,207,215,682,701,199,685,700,189,
684,702,179,687,698,172,686,703,166,691,
696,160,689,708,154,868,144,715,149,692,
727,870,736,584,173,853,935,778,690,944,
313,611,117,1380,309,310,946,274,815,270,
854,857,582,945,664,440,38,232,947,30,
31,664,440,38,232,950,30,31,715,300,
174,440,612,232,471,680,109,479,111,146,
222,77,78,79,80,90,91,476,93,94,
95,96,220,112,113,114,115,474,121,122,
123,133,688,221,456,223,204,207,215,682,
701,199,685,700,189,684,702,179,687,698,
172,686,703,166,691,696,160,689,708,154,
868,144,715,149,692,32,39,797,951,364,
953,862,32,39,1074,313,331,749,882,309,
310,220,440,612,232,471,680,109,479,111,
146,222,77,78,79,80,90,91,476,93,
94,95,96,220,112,113,114,115,474,121,
122,123,133,688,221,456,223,204,207,215,
682,701,199,685,700,189,684,702,179,687,
698,172,686,703,166,691,696,160,689,708,
154,969,144,715,149,692,134,954,952,219,
956,831,445,865,842,105,957,959,960,963,
964,965,434,111,967,968,834,85,87,45,
440,1389,232,37,968,970,258,440,612,232,
471,680,109,479,111,146,222,77,78,79,
80,90,91,476,93,94,95,96,220,112,
113,114,115,474,121,122,123,133,688,221,
456,223,204,207,215,682,701,199,685,700,
189,684,702,179,687,698,172,686,703,166,
691,696,160,689,708,154,969,144,715,149,
692,72,1146,868,870,969,972,974,971,975,
979,978,878,71,1388,712,981,758,982,810,
628,724,85,87,45,440,966,232,63,971,
970,366,440,1159,232,471,680,109,479,111,
146,222,77,78,79,80,90,91,476,93,
94,95,96,220,112,113,114,115,474,121,
122,123,133,688,221,456,223,204,207,215,
682,701,199,685,700,189,684,702,179,687,
698,172,686,703,166,691,696,160,689,708,
154,1156,1303,715,149,692,64,1147,874,883,
884,1157,797,1230,881,894,896,901,785,876,
739,989,992,37,1007,71,1158,506,440,1395,
232,471,680,109,479,111,146,222,77,78,
79,80,90,91,476,93,94,95,96,220,
112,113,114,115,474,121,122,123,133,688,
221,456,223,204,207,215,682,701,199,685,
700,189,684,702,179,687,698,172,686,703,
166,691,696,160,689,708,154,142,144,715,
149,692,138,1382,994,1392,991,1010,908,72,
34,998,469,647,1011,897,1016,771,892,805,
37,71,1391,296,440,612,232,471,680,109,
479,111,146,222,77,78,79,80,90,91,
476,93,94,95,96,220,112,113,114,115,
474,121,122,123,133,688,221,456,223,204,
207,215,682,701,199,685,700,189,684,702,
179,687,698,172,686,703,166,691,696,160,
689,708,154,142,144,715,149,692,870,137,
1014,1144,45,440,876,232,1072,331,440,612,
232,471,680,109,479,111,146,222,77,78,
79,80,90,91,476,93,94,95,96,220,
112,113,114,115,474,121,122,123,133,688,
221,456,223,204,207,215,682,701,199,685,
700,189,684,702,179,687,698,172,686,703,
166,691,696,160,689,708,154,142,144,715,
149,692,228,1017,1001,1144,45,440,876,232,
1154,506,440,612,232,471,680,109,479,111,
146,222,77,78,79,80,90,91,476,93,
94,95,96,220,112,113,114,115,474,121,
122,123,133,688,221,456,223,204,207,215,
682,701,199,685,700,189,684,702,179,687,
698,172,686,703,166,691,696,160,689,708,
154,969,144,715,149,692,1386,1018,885,1020,
1021,1028,1025,1029,921,1030,1031,1039,1042,1043,
918,1044,932,1045,1048,822,1049,86,87,401,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,142,
144,715,149,692,870,1050,1051,1144,4103,4103,
4103,4103,1381,436,440,612,232,471,680,109,
479,111,146,222,77,78,79,80,90,91,
476,93,94,95,96,220,112,113,114,115,
474,121,122,123,133,688,221,456,223,204,
207,215,682,701,199,685,700,189,684,702,
179,687,698,172,686,703,166,691,696,160,
689,708,154,142,144,715,149,692,4103,4103,
4103,1144,4103,4103,4103,4103,1383,471,440,612,
232,471,680,109,479,111,146,222,77,78,
79,80,90,91,476,93,94,95,96,220,
112,113,114,115,474,121,122,123,133,688,
221,456,223,204,207,215,682,701,199,685,
700,189,684,702,179,687,698,172,686,703,
166,691,696,160,689,708,154,142,144,715,
149,692,4103,4103,4103,1144,4103,4103,4103,4103,
1394,506,440,612,232,471,680,109,479,111,
146,222,77,78,79,80,90,91,476,93,
94,95,96,220,112,113,114,115,474,121,
122,123,133,688,221,456,223,204,207,215,
682,701,199,685,700,189,684,702,179,687,
698,172,686,703,166,691,696,160,689,708,
154,881,144,715,149,692,4103,4103,4103,4103,
4103,4103,4103,4103,4103,4103,314,506,440,612,
232,471,680,109,479,111,146,222,77,78,
79,80,90,91,476,93,94,95,96,220,
112,113,114,115,474,121,122,123,133,688,
221,456,223,204,207,215,682,701,199,685,
700,189,684,702,179,687,698,172,686,703,
166,691,696,160,689,708,154,142,144,715,
149,692,4103,4103,4103,883,506,440,612,232,
471,680,109,479,111,146,222,77,78,79,
80,90,91,476,93,94,95,96,220,112,
113,114,115,474,121,122,123,133,688,221,
456,223,204,207,215,682,701,199,685,700,
189,684,702,179,687,698,172,686,703,166,
691,696,160,689,708,154,142,144,715,149,
692,4103,4103,4103,1155,506,440,612,232,471,
680,109,479,111,146,222,77,78,79,80,
90,91,476,93,94,95,96,220,112,113,
114,115,474,121,122,123,133,688,221,456,
223,204,207,215,682,701,199,685,700,189,
684,702,179,687,698,172,686,703,166,691,
696,160,689,708,154,142,144,715,149,692,
4103,4103,4103,1390,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,455,144,715,149,692,541,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,871,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,873,144,715,149,692,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,312,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,1148,144,715,149,692,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,226,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,143,144,715,149,692,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,67,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,89,144,715,149,692,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,1384,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,68,144,715,149,692,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,1385,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,1387,144,715,149,692,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,1396,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,688,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,689,708,154,1465,144,715,149,692,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,688,221,456,223,204,207,215,682,701,
199,685,700,189,684,702,179,687,698,172,
686,703,166,691,696,160,689,708,154,1466,
144,715,149,692,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,975,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,691,696,
160,156,976,155,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,1070,221,456,223,
204,207,215,682,701,199,685,700,189,684,
702,179,687,698,172,686,703,166,162,1071,
161,506,440,612,232,471,680,109,479,111,
146,222,77,78,79,80,90,91,476,93,
94,95,96,220,112,113,114,115,474,121,
122,123,133,977,221,456,223,204,207,215,
682,701,199,685,700,189,684,702,179,687,
698,172,168,978,167,506,440,612,232,471,
680,109,479,111,146,222,77,78,79,80,
90,91,476,93,94,95,96,220,112,113,
114,115,474,121,122,123,133,1068,221,456,
223,204,207,215,682,701,199,685,700,189,
684,702,179,174,1069,173,506,440,612,232,
471,680,109,479,111,146,222,77,78,79,
80,90,91,476,93,94,95,96,220,112,
113,114,115,474,121,122,123,133,979,221,
456,223,204,207,215,682,701,199,685,700,
189,182,980,181,506,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,474,121,122,123,133,979,221,456,223,
204,207,215,682,701,199,685,700,189,182,
981,180,506,440,612,232,471,680,109,479,
111,146,222,77,78,79,80,90,91,476,
93,94,95,96,220,112,113,114,115,474,
121,122,123,133,1062,221,456,223,204,207,
215,682,701,199,194,1065,192,506,440,612,
232,471,680,109,479,111,146,222,77,78,
79,80,90,91,476,93,94,95,96,220,
112,113,114,115,474,121,122,123,133,1062,
221,456,223,204,207,215,682,701,199,194,
1066,191,506,440,612,232,471,680,109,479,
111,146,222,77,78,79,80,90,91,476,
93,94,95,96,220,112,113,114,115,474,
121,122,123,133,1062,221,456,223,204,207,
215,682,701,199,194,1067,190,506,440,612,
232,471,680,109,479,111,146,222,77,78,
79,80,90,91,476,93,94,95,96,220,
112,113,114,115,474,121,122,123,133,1058,
221,456,223,204,207,215,202,1059,201,506,
440,612,232,471,680,109,479,111,146,222,
77,78,79,80,90,91,476,93,94,95,
96,220,112,113,114,115,474,121,122,123,
133,1058,221,456,223,204,207,215,202,1060,
200,506,440,612,232,471,680,109,479,111,
146,222,77,78,79,80,90,91,476,93,
94,95,96,220,112,113,114,115,474,121,
122,123,133,874,221,456,223,210,217,215,
576,440,612,232,471,680,109,479,111,146,
222,77,78,79,80,90,91,476,93,94,
95,96,220,112,113,114,115,1378,121,122,
123,133,219,221,218,223,4103,214,506,440,
612,232,471,680,109,479,111,146,222,77,
78,79,80,90,91,476,93,94,95,96,
220,112,113,114,115,474,121,122,123,133,
874,221,456,223,210,216,215,4103,4103,4103,
4103,4103,4103,4103,4103,4103,4103,4103,4103,4103,
4103,4103,4103,4103,4103,4103,4103,4103,4103,4103,
4103,4103,4103,4103,4103,1377,4103,4103,4103,4103,
4103,4103,4103,4103,213,506,440,612,232,471,
680,109,479,111,146,222,77,78,79,80,
90,91,476,93,94,95,96,220,112,113,
114,115,474,121,122,123,133,874,221,456,
223,210,209,215,576,440,612,232,471,680,
109,479,111,146,222,77,78,79,80,90,
91,476,93,94,95,96,220,112,113,114,
115,1378,121,122,123,133,219,221,218,223,
47,206,506,440,612,232,471,680,109,479,
111,146,222,77,78,79,80,90,91,476,
93,94,95,96,220,112,113,114,115,474,
121,122,123,133,874,221,456,223,210,208,
215,618,428,688,440,40,232,879,878,55,
57,58,688,440,40,232,879,878,55,57,
58,4103,4103,4103,209,428,836,428,4103,1379,
4103,4103,45,440,40,232,452,4103,205,688,
440,40,232,879,878,55,57,58,4103,4103,
4103,4103,4103,4103,4103,243,4103,417,419,418,
3866,3821,4103,4103,4103,4103,315,316,4103,4103,
330,658,249,4103,244,245,3751,4103,4103,329,
688,440,40,232,879,878,55,57,58,315,
316,322,4103,4103,4103,257,3962,423,4103,420,
788,4103,4103,285,4103,4103,326,688,440,40,
232,879,878,55,57,58,39,428,429,438,
433,432,4103,431,3774,430,688,440,40,232,
879,878,55,57,58,688,440,40,232,879,
878,55,57,58,4103,631,428,972,688,440,
40,232,879,878,55,57,58,688,440,40,
232,879,878,55,57,58,279,443,417,419,
418,3866,3821,4103,307,713,440,964,232,808,
428,315,316,638,440,966,232,608,45,440,
964,232,4103,1150,163,428,4103,271,209,428,
4103,4103,66,4103,4103,4103,275,50,428,4103,
315,316,209,428,4103,1393,608,4103,277,45,
440,876,232,4103,308,209,428,4103,4103,836,
428,209,428,4103,4103,275,4103,4103,4103,4103,
4103,268,4103,4103,322,70,4103,278,4103,4103,
4103,4103,4103,788,4103,63,293,4103,70,315,
316,4103,4103,315,316,610,69,98,4103,608,
4103,4103,317,318,4103,4103,4103,683,442,69,
99,4103,295,269,4103,4103,886,4103,276,227,
317,318,965,967,322,261,317,318,4103,4103,
4103,4103,4103,1304,4103,4103,4103,4103,4103,4103,
4103,4103,4103,266,4103,4103,4103,4103,4103,265,
4103,4103,4103,4103,4103,4103,4103,4103,4103,4103,
4103,875,4103,4103,4103,4103,4103,4103,4103,4103,
4103,4103,4103,4103,4103,4103,4103,4103,4103,4103,
325,4103,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,0,0,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,0,34,0,0,37,0,1,
5,3,4,5,0,1,0,3,4,0,
1,0,3,4,5,55,5,0,9,0,
60,61,0,0,64,0,1,2,3,4,
5,6,7,65,41,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,49,34,
62,39,37,46,0,56,49,69,49,63,
0,1,74,9,65,53,0,71,72,9,
55,75,0,1,2,60,61,0,1,2,
3,4,5,6,7,8,73,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
56,34,0,1,2,3,4,5,58,0,
54,49,0,0,1,2,3,4,5,6,
7,8,55,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,37,34,0,1,
0,3,4,5,42,43,44,45,0,0,
1,2,3,4,5,6,7,9,55,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,0,34,0,0,37,0,1,2,
3,4,5,6,7,47,56,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
38,34,40,0,37,0,1,2,3,4,
5,6,7,8,0,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,0,34,
0,1,2,3,4,5,6,7,8,46,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,0,34,0,1,2,3,4,
5,6,7,8,70,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,0,34,
0,1,2,3,4,5,6,7,8,46,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,0,34,0,1,2,3,4,
5,6,7,8,0,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,0,34,
0,1,2,3,4,5,6,7,8,46,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,59,34,0,1,2,3,4,
5,6,7,0,46,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,0,34,
0,1,2,3,4,5,6,7,0,0,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,0,34,0,1,2,3,4,
5,0,7,0,1,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,0,29,30,31,32,0,1,
0,3,4,0,6,7,33,0,1,0,
3,4,5,42,43,44,45,0,9,0,
0,1,0,3,4,5,28,0,1,0,
3,4,39,35,36,8,0,8,9,41,
42,43,44,45,37,9,48,0,50,51,
52,51,54,0,1,33,3,4,49,42,
43,44,45,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,0,1,0,
3,4,62,47,37,6,7,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,0,0,1,0,3,4,6,7,0,
63,2,8,0,35,36,0,38,2,40,
41,42,43,44,45,0,0,48,0,50,
51,52,7,54,6,7,35,36,0,38,
2,40,41,42,43,44,45,0,39,48,
0,50,51,6,7,42,43,44,45,9,
0,36,53,35,36,49,38,0,40,41,
42,43,44,45,0,0,48,39,50,0,
6,7,35,36,9,38,0,40,41,42,
43,44,45,7,0,48,2,0,0,0,
3,4,5,9,0,6,7,47,41,35,
36,0,38,2,40,48,42,43,44,45,
0,1,36,0,38,0,40,33,3,4,
5,0,9,39,35,36,38,38,40,40,
46,47,0,0,33,41,0,53,6,6,
39,0,48,7,0,1,5,0,47,0,
37,64,8,0,53,0,9,0,1,38,
0,40,0,0,0,8,6,35,35,7,
7,0,36,0,33,0,0,67,0,6,
0,6,33,0,37,9,6,0,1,0,
41,38,0,40,2,35,41,0,36,36,
0,1,38,48,40,8,9,0,35,2,
35,0,0,0,0,35,0,46,47,8,
9,5,39,0,0,0,0,49,39,0,
0,0,0,0,58,0,0,2,0,0,
2,2,0,0,0,33,0,0,0,2,
0,0,39,0,0,68,8,0,0,59,
0,0,9,33,50,33,33,9,0,33,
0,0,2,0,50,52,51,0,52,8,
0,39,9,54,33,39,0,37,57,0,
0,2,49,0,37,0,0,0,8,0,
0,57,9,8,0,9,2,0,0,0,
0,50,52,33,37,8,8,8,0,51,
66,0,0,0,0,39,8,0,0,0,
0,0,0,0,0,8,8,8,8,0,
0,0,0,46,0,46,46,0,0,0,
0,0,0,0,0,33,0,47,0,0,
0,0,0,0,0,41,0,0,47,0,
47,0,0,0,0,0,0,0,0,0,
0,0,0,0,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,
4103,4334,2034,4139,867,790,3558,4209,264,242,
4153,4154,4155,4156,4157,4148,4146,4149,4147,4145,
478,4150,4152,4151,4203,4204,4136,1969,3481,4207,
4208,4211,4210,4103,3969,346,139,303,4103,4446,
4140,4139,4447,4448,4103,4334,4103,4139,4137,4103,
4446,35,4139,4447,4448,1621,4140,4103,260,4103,
3674,3520,139,258,3979,4103,4334,2034,4139,4137,
4205,3558,4209,3981,2554,4153,4154,4155,4156,4157,
4148,4146,4149,4147,4145,478,4150,4152,4151,4203,
4204,4136,1969,3481,4207,4208,4211,4210,260,3969,
3948,40,302,4430,4103,260,1904,3895,4349,3957,
4103,4339,3944,1232,260,1766,4103,3782,457,2294,
1621,4102,4103,4337,3933,3674,3520,4103,4334,2034,
4139,867,790,3558,4209,291,4358,4153,4154,4155,
4156,4157,4148,4146,4149,4147,4145,478,4150,4152,
4151,4203,4204,4136,1969,3481,4207,4208,4211,4210,
2229,3969,4103,4446,482,4139,4447,4448,1073,4103,
2944,3925,176,4103,4334,2034,4139,4137,4205,3558,
4209,290,1621,4153,4154,4155,4156,4157,4148,4146,
4149,4147,4145,478,4150,4152,4151,4203,4204,4136,
1969,3481,4207,4208,4211,4210,4431,3969,4103,4446,
262,4139,4447,4448,182,182,182,182,289,4103,
4334,2034,4139,4137,4205,3558,4209,3776,1621,4153,
4154,4155,4156,4157,4148,4146,4149,4147,4145,478,
4150,4152,4151,4203,4204,4136,1969,3481,4207,4208,
4211,4210,212,3969,4103,4103,83,4103,4334,2034,
4139,4137,4205,3558,4209,4389,462,4153,4154,4155,
4156,4157,4148,4146,4149,4147,4145,478,4150,4152,
4151,4203,4204,4136,1969,3481,4207,4208,4211,4210,
218,3969,218,4103,83,4103,4334,2034,4139,4137,
4205,3558,4209,140,253,4153,4154,4155,4156,4157,
4148,4146,4149,4147,4145,478,4150,4152,4151,4203,
4204,4136,1969,3481,4207,4208,4211,4210,4103,3969,
4103,4334,2034,4139,4137,4205,3558,4209,140,4350,
4153,4154,4155,4156,4157,4148,4146,4149,4147,4145,
478,4150,4152,4151,4203,4204,4136,1969,3481,4207,
4208,4211,4210,4103,3969,4103,4334,2034,4139,4137,
4205,3558,4209,4227,4353,4153,4154,4155,4156,4157,
4148,4146,4149,4147,4145,478,4150,4152,4151,4203,
4204,4136,1969,3481,4207,4208,4211,4210,4103,3969,
4103,4334,2034,4139,4137,4205,3558,4209,140,4390,
4153,4154,4155,4156,4157,4148,4146,4149,4147,4145,
478,4150,4152,4151,4203,4204,4136,1969,3481,4207,
4208,4211,4210,4103,3969,4103,4334,2034,4139,4137,
4205,3558,4209,140,231,4153,4154,4155,4156,4157,
4148,4146,4149,4147,4145,478,4150,4152,4151,4203,
4204,4136,1969,3481,4207,4208,4211,4210,4103,3969,
4103,4334,2034,4139,4137,4205,3558,4209,140,4391,
4153,4154,4155,4156,4157,4148,4146,4149,4147,4145,
478,4150,4152,4151,4203,4204,4136,1969,3481,4207,
4208,4211,4210,4343,3969,4103,4334,2034,4139,4137,
4205,3558,4209,4103,4400,4153,4154,4155,4156,4157,
4148,4146,4149,4147,4145,478,4150,4152,4151,4203,
4204,4136,1969,3481,4207,4208,4211,4210,4103,3969,
4103,872,2034,4139,4137,4205,3558,4209,4103,4103,
4153,4154,4155,4156,4157,4148,4146,4149,4147,4145,
478,4150,4152,4151,4203,4204,4136,1969,3481,4207,
4208,4211,4210,4103,3969,4103,4334,2034,4139,4137,
4205,4103,4209,4103,4332,4153,4154,4155,4156,4157,
4148,4146,4149,4147,4145,478,4150,4152,4151,4203,
4204,4136,1969,321,4207,4208,4211,4210,4103,4334,
158,4139,4137,4103,4116,4117,3753,4103,4446,4103,
4139,4447,4448,3352,3307,3262,563,178,3975,4103,
4103,4446,4103,4139,4447,4448,4106,4103,4334,4103,
4139,4137,467,4115,4118,61,301,453,4427,4113,
4112,4109,4111,4110,4351,3929,4114,4103,4104,4107,
4108,162,4105,4103,4334,3762,4139,4137,4370,3352,
3307,3262,563,4153,4154,4155,4156,4157,4148,4146,
4149,4147,4145,4131,4150,4152,4151,4103,4334,145,
4139,4137,3948,4399,4375,195,203,4153,4154,4155,
4156,4157,4148,4146,4149,4147,4145,877,4150,4152,
4151,157,4103,963,4103,4139,4137,195,203,147,
3957,139,880,177,195,203,4103,219,3830,219,
175,183,183,183,183,196,4103,175,163,169,
163,157,202,151,195,203,195,203,139,219,
1237,219,175,183,183,183,183,169,40,175,
259,169,163,195,203,3352,3307,3262,563,4359,
4103,202,1697,195,203,896,219,170,219,175,
183,183,183,183,175,254,175,41,169,4103,
195,203,195,203,4354,219,195,219,175,183,
183,183,183,203,147,175,139,4103,4103,183,
4139,4447,4448,1077,4103,195,203,2619,174,195,
203,147,219,139,219,174,183,183,183,183,
4103,4342,203,4103,219,4103,219,3898,4139,4447,
4448,211,3938,40,195,203,413,219,444,219,
65,65,184,4103,3885,3214,4103,1697,194,3397,
40,35,3166,3712,4103,4344,4140,231,65,4103,
4200,3979,4327,203,1697,171,235,4103,4336,219,
188,219,198,197,304,4162,3397,194,3439,3712,
3712,4103,3635,187,346,186,4103,2164,110,3397,
185,3397,3876,320,235,2294,3397,4103,4341,319,
2359,219,4103,219,482,3439,3214,4103,3635,3635,
4103,4340,413,3166,444,4229,2294,4103,3439,4426,
3439,4103,4103,4103,164,3439,92,1306,2684,4230,
2294,4206,467,152,4103,4103,4103,801,467,148,
4103,311,102,34,1160,4103,4103,1163,4103,4103,
3933,3830,56,4103,4103,3789,4103,4103,4103,991,
4103,4103,704,62,88,2489,4163,4103,84,4328,
153,165,984,3857,168,345,344,1311,159,3876,
4103,4103,1399,141,3115,156,3061,4103,3004,4233,
4103,467,2294,150,3885,711,139,4185,2099,136,
4103,1473,347,72,4184,4103,144,4103,4234,4103,
4103,2099,889,4228,135,1835,1547,4103,4103,4103,
4103,3115,3004,3907,4376,4231,4232,4222,4103,3061,
2424,4103,65,4103,66,41,4219,4103,4103,4103,
4103,4103,4103,4103,4103,4235,4223,4221,4220,4103,
4103,4103,4103,4409,4103,4408,4402,4103,4103,4103,
4103,4103,4103,4103,4103,3885,4103,2749,4103,4103,
4103,4103,4103,4103,4103,2554,4103,4103,2814,4103,
2879
};
};
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,
119,119,48,404,50,49,383,386,377,34,
38,227,34,371,34,41,227,227,226,388,
165,227,196,195,129,227,34,128,53,51,
57,95,6,232,340,165,124,340,165,198,
127,20,331,65,98,62,291,132,163,167,
164,6,6,67,71,69,77,75,65,79,
78,235,237,239,242,6,6,34,116,158,
245,247,80,20,20,20,372,340,196,249,
270,271,6,294,198,370,20,6,165,100,
34,34,399,5,5,20,297,300,401,6,
6,6,6,6,6,65,410,340,6,6,
6,6,6,6,6,6,165,165,323,51,
20,295,6,196,228,63,333,199,165,98,
62,165,330,337,267,372,340,371,331,342,
330,331,401,6,65,79,65,77,65,71,
71,65,67,67,34,6,20,65,69,69,
69,69,65,75,65,78,1,199,6,65,
372,371,165,20,6,64,199,34,6,20,
34,6,6,346,268,331,228,196,9,9,
2,329,372,199,63,334,199,372,93,92,
91,371,349,6,6,340,196,290,196,196,
394,372,64,65,372,6,34,6,34,6,
6,20,320,20,199,372,93,372,93,374,
371,93,371,350,193,372,6,6,6,372,
372,372
};
};
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,
64,60,61,55,37,34,6,28,2,27,
31,32,7,29,30,5,25,24,26,20,
19,16,18,15,17,21,23,22,10,11,
12,13,14,3,1,4,0,46,49,0,
2,33,46,70,73,1,5,56,65,9,
49,0,46,73,70,0,49,33,65,73,
5,53,39,2,38,40,7,36,35,6,
42,43,44,45,41,48,50,51,52,54,
57,8,37,58,66,67,68,59,56,1,
9,46,47,0,49,9,65,39,0,3,
1,4,50,54,28,51,52,43,45,44,
42,41,48,35,6,7,36,0,63,71,
72,75,0,2,39,0,39,9,46,73,
0,57,35,6,7,36,41,48,8,37,
58,38,47,9,46,40,66,67,68,59,
50,51,52,54,56,1,5,42,43,44,
45,0,1,49,2,0,57,35,6,7,
36,42,43,44,45,48,8,37,58,38,
40,66,67,68,59,50,51,52,54,56,
1,49,47,41,9,46,0,55,8,34,
6,28,27,10,11,12,13,14,20,31,
32,7,29,30,25,24,19,16,18,15,
17,21,23,22,26,2,1,3,4,5,
0,1,33,0,54,0,51,0,41,48,
0,35,6,0,50,0,52,0,57,5,
35,6,7,36,42,43,44,45,48,38,
46,40,50,51,52,54,33,41,0,5,
33,57,35,6,7,36,42,43,41,44,
45,48,2,53,39,50,51,52,54,46,
38,40,0,46,57,0,67,1,0,35,
6,7,36,42,43,41,44,45,48,2,
53,38,39,40,67,50,51,52,54,59,
1,0,41,8,49,46,1,39,47,9,
37,0,1,58,9,0,37,9,41,33,
0,37,9,66,0,68,1,0,46,35,
6,7,36,42,43,41,44,45,48,38,
40,50,51,52,54,39,2,33,53,47,
9,8,0,47,33,0,1,3,4,5,
37,0,63,37,0,69,74,4,5,3,
1,62,0,64,3,4,5,0,3,4,
8,1,0,49,65,4,5,3,1,56,
9,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,
11,97,107,44,107,107,114,119,108,44,
107,144,44,107,44,107,44,44,138,122,
139,141,107,107,107,44,44,107,107,107,
107,107,41,34,107,107,107,107,139,13,
107,44,107,107,107,26,107,107,107,107,
107,41,41,107,107,107,107,107,107,107,
107,107,107,107,107,91,91,148,107,107,
107,107,107,43,43,43,107,107,107,107,
107,107,49,107,41,107,44,41,107,8,
44,125,132,41,41,43,107,107,107,55,
67,79,79,85,85,107,107,107,91,91,
20,20,20,20,73,61,107,107,107,107,
43,107,41,107,129,26,107,41,26,107,
26,107,107,107,107,107,107,107,107,107,
107,107,107,41,107,107,107,107,107,107,
107,107,107,107,46,41,43,107,107,107,
107,107,107,107,107,107,1,41,41,26,
107,107,107,44,41,107,39,135,41,43,
36,41,41,107,107,107,44,107,41,41,
28,107,107,41,26,107,41,107,107,107,
107,107,26,41,41,107,107,107,107,107,
128,107,107,26,107,41,46,41,44,41,
41,43,107,43,41,107,107,107,107,107,
107,107,107,26,107,107,41,41,41,107,
107,107
};
};
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,
133,134,1,7,17,5,0,1,108,0,
106,0,131,132,1,7,17,5,0,5,
7,17,1,44,0,69,0,5,7,17,
1,104,0,113,0,1,72,0,72,70,
7,17,5,1,0,1,70,0,1,7,
17,5,75,0,7,17,5,1,59,0,
5,7,17,1,56,0,7,17,5,1,
53,0,5,7,17,1,50,0,7,17,
5,1,47,0,7,17,5,1,41,0,
1,7,17,5,37,0,137,136,139,116,
100,101,97,95,114,115,0,120,119,1,
123,124,0,101,100,97,126,0,1,125,
0,1,102,0,1,111,0,103,1,77,
0,110,1,0,1,92,0,1,89,0,
1,90,0,1,66,138,0,1,112,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,
78,12,27,75,30,3,4,13,20,47,
48,49,50,51,52,53,54,55,56,57,
58,59,60,28,29,31,32,39,43,44,
45,46,21,41,2,5,15,18,22,24,
8,6,7,9,10,23,19,11,14,36,
37,38,16,40,63,42,1,17,35,62,
64,65,67,69,70,25,33,34,61,66,
68,71,72,73,74,76,77
};
};
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,
82,81,0,84,80,0,86,0,0,0,
0,0,0,0,0,0,95,0,0,0,
0,0,0,0,0,0,97,0,0,0,
0,100,0,126,0,0,125,0,121,122,
123,118,119,120,115,116,117,112,113,114,
109,110,111,106,107,108,103,104,105,89,
98,101,0,102,165,166,85,99,0,90,
136,88,0,163,164,124,155,157,0,0,
0,0,83,0,92,94,0,144,150,152,
0,91,0,93,129,133,143,145,146,147,
149,153,159,161,162,0,0,79,0,87,
96,127,128,130,131,132,134,135,137,138,
139,140,141,142,148,151,0,0,0,0,
154,156,158,160,167,168,169,170,171,0,
0,0,0,0,0,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[] = {
200,236,246,134,168,176,222,256,210,22,
22,154,161,143,194,128,184,230,13,149,
13,13,39,43,264,268,272,276,43,39,
5,10,5,47,10,10,10,1,67,67,
75,75,83,83,83,83,97,97,105,110,
115,120
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
public final int scopePrefix(int index) { return scopePrefix[index]; }
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
65,65,65,65,65,65,65,65,218,8,
53,65,65,65,65,125,190,218,8,65,
29,55,8,8,3,3,3,65,65,125,
8,8,65,50,18,33,59,3,69,72,
77,80,85,88,91,94,99,102,107,112,
117,122
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
public final int scopeSuffix(int index) { return scopeSuffix[index]; }
public interface ScopeLhs {
public final static char scopeLhs[] = {
26,25,25,28,28,28,26,25,26,35,
35,28,28,28,28,31,28,26,35,28,
35,35,31,7,12,11,11,8,7,31,
27,35,34,38,35,35,35,95,41,41,
44,44,47,47,47,47,50,50,53,56,
59,63
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
public final int scopeLhs(int index) { return scopeLhs[index]; }
public interface ScopeLa {
public final static byte scopeLa[] = {
8,8,8,8,8,8,8,8,47,1,
59,8,8,8,8,58,9,47,1,8,
68,68,1,1,37,37,37,8,8,58,
1,1,8,56,67,67,67,37,36,7,
6,35,45,44,43,42,48,41,50,51,
52,54
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
public final int scopeLa(int index) { return scopeLa[index]; }
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10,1,10,10,10,1,1,10,
10,10,10,12,10,10,10,63,16,16,
18,18,22,22,22,22,24,24,25,26,
27,28
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
public final int scopeStateSet(int index) { return scopeStateSet[index]; }
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
178,0,37,0,137,2,0,1,0,137,
27,0,137,67,137,27,0,67,137,1,
0,137,68,137,67,137,27,0,68,137,
1,0,67,137,68,137,1,0,145,53,
79,0,144,2,82,0,189,34,0,56,
137,0,59,0,68,137,59,0,67,137,
68,137,59,0,8,0,117,0,36,114,
0,7,114,0,120,0,6,118,0,35,
118,0,123,0,45,121,0,44,121,0,
43,121,0,42,121,0,126,0,48,124,
0,41,124,0,129,0,50,127,0,132,
0,51,130,0,135,0,52,133,0,141,
0,54,136,0,58,146,0,145,53,79,
40,104,0,150,2,146,160,39,81,40,
104,0,150,2,160,39,81,0,150,2,
146,79,0,150,2,146,79,40,104,0,
150,2,146,185,40,104,0,145,9,79,
2,79,38,104,0,145,9,138,2,79,
38,104,0,138,2,79,38,104,0,9,
145,8,0,137,2,79,38,104,0,137,
47,147,46,162,2,79,38,104,0,147,
46,162,2,79,38,104,0,47,137,8,
0,137,47,147,2,79,38,104,0,147,
2,79,38,104,0,137,47,162,9,149,
2,79,38,104,0,137,47,162,9,79,
2,79,38,104,0,137,47,162,2,79,
38,104,0,188,49,20,0,170,49,84,
0,170,49,82,0,186,2,20,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,
3907,3898,3885,3876,3857,3830,3789,3762,3753,3674,
3520,3712,3635,3558,3481,3439,3397,3352,3307,3262,
563,3214,3166,3115,3061,3004,2944,2879,2814,2749,
1547,1077,1835,2684,2619,2554,2489,1473,1399,615,
1311,2424,2359,991,1766,2294,1237,347,2229,2164,
1163,2099,896,801,1697,720,1621,2034,1969,482,
1904,0,3821,3710,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,183,174,63,176,175,178,177,193,72,
216,213,71,214,56,78,9,65,74,69,
148,62,194,201,199,200,196,197,195,173,
78,81,49,142,143,212,81,8,148,2,
81,39,137,111,81,79,104,94,20,84,
82,27,2,116,122,119,128,125,109,134,
131,141,132,126,120,28,6,34,117,123,
129,135,139,33,33,33,204,151,155,5,
78,4,55,137,209,208,39,53,146,40,
38,49,2,49,49,2,137,1,137,54,
51,48,41,6,35,109,189,79,36,7,
45,44,43,42,50,52,20,82,81,8,
33,137,57,155,9,160,145,2,185,81,
79,79,188,1,79,186,79,187,170,137,
171,170,144,67,109,135,109,129,109,123,
123,109,117,117,9,56,33,109,120,120,
120,120,109,126,109,132,49,2,9,58,
150,145,146,39,53,146,2,9,41,33,
9,66,9,137,144,205,64,155,61,60,
211,210,150,2,160,145,2,137,147,162,
149,138,79,68,41,151,182,104,182,155,
9,150,146,58,150,47,46,47,9,9,
9,33,137,33,2,137,147,137,162,79,
145,162,145,79,144,150,47,47,47,137,
137,137
};
};
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",
"QUOTED_IDENTIFIER",
"INTEGER_LITERAL",
"REAL_LITERAL",
"STRING_LITERAL",
"self",
"if",
"then",
"else",
"endif",
"and",
"or",
"xor",
"not",
"implies",
"let",
"in",
"true",
"false",
"null",
"invalid",
"Set",
"Bag",
"Sequence",
"Collection",
"OrderedSet",
"String",
"Integer",
"UnlimitedNatural",
"Real",
"Boolean",
"Tuple",
"OclAny",
"OclVoid",
"OclInvalid",
"check",
"creation",
"default",
"deletion",
"enforce",
"imports",
"map",
"query",
"realize",
"refines",
"transformation",
"uses",
"where",
"EOF_TOKEN",
"IDENTIFIER",
"SINGLE_LINE_COMMENT",
"MULTI_LINE_COMMENT",
"ERROR_TOKEN",
"conceptualOperationNameCS",
"CollectionTypeIdentifierCS",
"simpleNameCS",
"QuotedSimpleNameCS",
"unreservedSimpleNameCS",
"pathNameCS",
"typeCS",
"collectionTypeCS",
"tupleTypePartsCS",
"typedUninitializedVariableCS",
"OclExpressionCS",
"typedInitializedVariableCS",
"initializedVariableCS",
"uninitializedVariableCS",
"CollectionLiteralPartsCS",
"CollectionLiteralPartCS",
"StringLiteralExpCS",
"TupleLiteralPartsCS",
"primaryExpCS",
"notNameExpressionCS",
"argumentsCS",
"SimpleNameExpCS",
"impliesNotNameNotLetCS",
"impliesNotLetCS",
"xorNotNameNotLetCS",
"xorNotLetCS",
"xorWithLetCS",
"orNotNameNotLetCS",
"orNotLetCS",
"orWithLetCS",
"andNotNameNotLetCS",
"andNotLetCS",
"andWithLetCS",
"equalityNotNameNotLetCS",
"equalityNotLetCS",
"equalityWithLetCS",
"relationalNotNameNotLetCS",
"relationalNotLetCS",
"relationalWithLetCS",
"additiveNotNameNotLetCS",
"additiveNotLetCS",
"additiveWithLetCS",
"multiplicativeNotNameNotLetCS",
"multiplicativeNotLetCS",
"multiplicativeWithLetCS",
"unaryNotLetCS",
"unaryWithLetCS",
"primaryNotNameCS",
"letVariablesCS",
"ERROR_Colon",
"MappingCS",
"TransformationCS",
"QueryCS",
"TransformationCS_0_",
"TransformationNameCS",
"DirectionCS",
"DirectionCS_0_",
"DirectionNameCS",
"DirectionCS_1_",
"DirectionCS_2_",
"PackageNameCS",
"DirectionCS_3_",
"DirectionCS_4_",
"DirectionCS_5_",
"MappingCS_1_",
"MappingNameCS",
"MappingCS_2_",
"MappingCS_3_",
"MappingCS_4_",
"DomainCS",
"MappingCS_8",
"DomainCS_0_",
"ComposedMappingCS",
"DomainCS_1_",
"DomainCS_2_",
"GuardPatternCS_1_",
"UnrealizedVariableCS",
"GuardPatternCS_2_",
"ConstraintCS",
"BottomPatternCS_1_",
"RealizedVariableCS",
"BottomPatternCS_2_",
"EnforcementOperationCS",
"EnforcementOperationCS_1_",
"VariableNameCS",
"AssignmentCS_0_",
"identifierCS",
"ERROR_identifierCS",
"QueryNameCS",
"QueryCS_preParamDeclaration",
"QueryCS_postParamDeclaration",
"paramDeclarationCS",
"QueryCS_postType"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
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)];
}
/**
* assert(! goto_default);
*/
public final int ntAction(int state, int sym) {
return baseAction[state + sym];
}
/**
* assert(! shift_default);
*/
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];
}
}