blob: 330a533eede3a8bf7570f9c24a2ec7e5e75a3ece [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: QVTrParserprs.java,v 1.17 2010/07/10 09:34:46 ewillink Exp $
*/
package org.eclipse.qvt.declarative.parser.qvtrelation;
public class QVTrParserprs implements lpg.runtime.ParseTable, QVTrParsersym {
public final static int ERROR_SYMBOL = 1;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
public final static int SCOPE_UBOUND = 54;
public final int getScopeUbound() { return SCOPE_UBOUND; }
public final static int SCOPE_SIZE = 55;
public final int getScopeSize() { return SCOPE_SIZE; }
public final static int MAX_NAME_LENGTH = 40;
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int NUM_STATES = 279;
public final int getNumStates() { return NUM_STATES; }
public final static int NT_OFFSET = 81;
public final int getNtOffset() { return NT_OFFSET; }
public final static int LA_STATE_OFFSET = 4680;
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 = 378;
public final int getNumRules() { return NUM_RULES; }
public final static int NUM_NONTERMINALS = 159;
public final int getNumNonterminals() { return NUM_NONTERMINALS; }
public final static int NUM_SYMBOLS = 240;
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 = 4138;
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 = 72;
public final int getEoftSymbol() { return EOFT_SYMBOL; }
public final static int EOLT_SYMBOL = 72;
public final int getEoltSymbol() { return EOLT_SYMBOL; }
public final static int ACCEPT_ACTION = 4301;
public final int getAcceptAction() { return ACCEPT_ACTION; }
public final static int ERROR_ACTION = 4302;
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 QVTrParsersym.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,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,
0,0,0,0,1,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,
0,1,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,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 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,9,15,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,136,142,143,144,
146,147,148,150,151,152,153,65,66,67,
24,55,62,63,64,100,159,57,16,56,
135,25,21,58,87,111,6,8,14,22,
27,36,37,145,23,26,34,35,102,110,
112,113,114,118,119,125,137,138,139,141,
2,3,4,19,20,45,92,96,97,98,
99,101,103,104,105,106,107,108,109,115,
116,117,120,121,122,123,124,126,127,128,
129,130,131,132,133,134,140,149,154,155,
156,157,158,1,5,7,28,93,94
};
};
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,1,0,
0,0,0,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,0,1,0,
0,1,1,1,1,1,1,0,0,1,
0,0,0,0,1,0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,0,0,1,1,0,1,
1,0,0,1,0,0,1,1,1,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,4,2,2,2,1,1,1,3,
4,3,2,2,1,3,2,2,1,2,
2,2,2,2,2,2,2,2,2,2,
2,1,1,3,2,2,2,3,1,1,
2,1,2,1,3,2,2,2,2,1,
2,1,2,2,2,2,1,3,2,2,
2,1,3,2,1,3,4,3,1,2,
2,2,1,3,3,2,1,2,2,6,
1,1,1,4,1,1,1,4,3,1,
2,2,2,2,3,2,3,2,1,2,
2,4,3,2,1,1,4,3,2,2,
4,2,4,3,2,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,-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,65,66,67,68,69,70,71,
72,73,74,75,-120,1,2,3,-2,-151,
1,2,3,4,5,6,7,8,-22,-4,
92,93,-5,-6,-8,97,98,-124,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,66,67,68,69,70,71,72,
73,74,75,94,-102,1,2,3,4,5,
-13,7,-18,1,2,3,-14,5,-16,92,
93,-47,-48,105,97,98,-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,65,66,67,68,69,70,71,72,73,
74,75,81,81,-19,-20,-21,-24,82,83,
-28,-31,-252,1,2,3,90,91,-254,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,66,67,68,69,70,71,
72,73,74,75,-32,83,-35,-38,80,-39,
-40,83,90,91,-192,1,2,3,90,91,
-210,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,66,67,68,69,
70,71,72,73,74,75,82,-41,-43,-44,
80,-49,-57,-58,84,-213,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,66,67,68,69,70,71,72,73,74,
75,-45,81,81,81,80,-59,-51,-101,84,
-224,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,66,67,68,69,
70,71,72,73,74,75,78,81,-52,-54,
-55,-60,-62,-107,1,2,3,4,-63,6,
-64,-66,92,93,-233,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,
66,67,68,69,70,71,72,73,74,75,
87,88,89,-67,80,-68,-69,-136,84,-236,
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,66,67,68,69,70,
71,72,73,74,75,78,-70,-71,-72,80,
-73,-76,-165,84,-257,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,
66,67,68,69,70,71,72,73,74,75,
78,-77,-78,-79,80,-80,-81,-82,84,-152,
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,66,67,68,69,70,
71,72,73,74,75,-222,1,2,3,80,
-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,65,66,67,68,69,
70,71,72,73,74,75,-83,-84,83,-166,
80,-253,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,66,67,68,
69,70,71,72,73,74,75,78,-85,-86,
-87,80,-37,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,66,67,
68,69,70,71,72,73,74,75,-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,65,66,67,68,69,70,71,
72,73,74,75,-61,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,
66,67,68,69,70,71,72,73,74,75,
-74,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,66,67,68,69,
70,71,72,73,74,75,-75,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,66,67,68,69,70,71,72,73,
74,75,-147,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,66,67,
68,69,70,71,72,73,74,75,-163,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,66,67,68,69,70,71,
72,73,74,75,-181,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,
66,67,68,69,70,71,72,73,74,75,
-193,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,66,67,68,69,
70,71,72,73,74,75,-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,65,66,67,68,69,70,71,72,73,
74,75,-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,65,66,67,
68,69,70,71,72,73,74,75,-223,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,66,67,68,69,70,71,
72,73,74,75,-227,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,
66,67,68,69,70,71,72,73,74,75,
-243,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,66,67,68,69,
70,71,72,73,74,75,-244,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,66,67,68,69,70,71,72,73,
74,75,-249,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,66,67,
68,69,70,71,72,73,74,75,-251,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,66,67,68,69,70,71,
72,73,74,75,-273,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,
66,67,68,69,70,71,72,73,74,75,
-274,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,66,67,68,69,
70,71,72,73,74,75,-275,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,66,67,68,69,70,71,72,73,
74,75,-129,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,-91,
-92,-93,-94,-95,-96,-97,-99,-100,-103,-105,
68,69,70,-146,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,
-130,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,-145,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,-131,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,-132,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,-141,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,-142,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,-143,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,-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,-133,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,-134,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,-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,-89,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,-29,1,2,3,-10,5,-112,
85,-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,-113,-114,85,
-139,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,-140,
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,-104,1,
2,3,-9,126,131,85,-117,130,-126,132,
-127,-128,-26,1,-12,1,-168,-228,-234,-111,
1,2,3,-255,1,2,3,4,5,6,
7,8,-276,1,2,3,4,5,6,7,
8,-135,-137,-138,85,-148,-149,-30,1,-153,
-154,-33,1,-25,-242,57,58,59,60,61,
62,63,64,65,66,67,-247,-250,1,2,
3,-155,-266,-156,76,77,57,58,59,60,
61,62,63,64,65,66,67,-157,76,77,
76,77,-158,81,78,78,78,-159,-160,-161,
86,-162,79,-164,-167,-169,-170,105,-171,-172,
-173,79,-174,99,100,101,102,94,106,107,
108,109,110,76,77,-175,94,76,77,-176,
128,129,78,-177,81,133,134,135,-178,137,
138,-3,140,-179,78,-180,-182,149,136,82,
78,104,150,151,103,153,-183,-184,146,106,
107,108,109,110,-106,1,2,3,4,5,
6,7,8,-108,1,2,3,4,5,6,
7,8,-115,1,2,3,4,5,6,7,
8,-185,139,-186,-187,142,143,-125,1,2,
3,4,5,6,7,8,-194,1,2,3,
4,5,6,7,8,-211,1,2,3,4,
5,6,7,8,-221,1,2,3,4,5,
6,7,8,-36,1,-118,1,2,3,4,
-188,6,-189,79,-122,1,2,3,-121,1,
2,3,79,-215,1,2,3,4,-190,6,
-191,79,121,122,123,124,125,-195,127,-119,
1,2,3,-196,5,-27,79,-197,-219,1,
2,3,-198,-199,-200,79,-90,1,2,3,
-98,1,-201,-202,79,-11,1,-1,-203,-17,
1,-34,1,79,-204,-206,-207,-46,1,76,
77,-50,1,-56,1,-7,1,-208,-209,86,
-15,1,87,88,89,-23,1,83,-212,-214,
82,-217,99,100,101,102,-42,1,-225,-226,
87,88,89,95,96,-65,1,-109,1,-116,
1,-150,1,-229,-230,-231,-232,-235,114,115,
82,-237,-238,-239,116,-240,76,77,82,-241,
-245,76,77,95,96,76,77,76,77,-246,
-248,112,113,76,77,-256,-258,76,77,76,
77,76,77,86,104,-259,76,77,-260,86,
-261,76,77,117,103,-262,-263,-264,111,-265,
-267,-268,76,77,119,118,141,120,-269,144,
145,76,77,76,77,76,77,76,77,-270,
-271,-272,-277,-278,-279,0,0,0,148,0,
0,0,0,0,0,0,0,0,0,0,
0,152,0,0,0,0,0,0,147,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
public final int baseCheck(int index) { return baseCheck[index]; }
public final static short rhs[] = baseCheck;
public final int rhs(int index) { return rhs[index]; };
public interface BaseAction {
public final static char baseAction[] = {
111,112,112,112,112,112,112,112,112,112,
112,112,112,112,112,112,113,155,155,155,
155,155,155,155,155,155,155,155,87,156,
88,88,88,9,2,2,1,1,89,89,
5,5,6,6,6,6,6,6,6,6,
4,4,4,4,4,79,79,79,79,7,
8,114,114,115,115,90,83,95,82,96,
96,91,91,157,157,157,157,10,10,10,
10,11,11,97,97,98,98,92,92,93,
13,13,13,13,13,13,13,12,116,116,
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,78,
84,84,80,80,71,71,33,32,72,72,
75,75,73,73,74,74,69,69,68,68,
70,70,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,
85,85,36,36,36,37,37,37,27,27,
34,34,34,34,34,35,38,117,117,158,
159,3,2,7,12,116,31,35,35,35,
35,27,118,118,118,120,120,111,111,119,
119,122,122,122,123,124,124,125,125,127,
127,127,127,121,100,101,101,102,99,102,
99,99,86,103,130,130,132,132,126,131,
104,105,133,133,134,134,135,135,137,137,
138,138,140,140,129,142,142,143,143,139,
144,144,145,145,141,146,146,136,81,107,
107,107,107,108,108,109,109,110,110,106,
106,58,58,57,57,94,94,94,61,61,
62,62,63,59,59,148,64,64,65,66,
66,67,60,60,60,149,149,147,150,150,
151,153,128,128,152,152,72,77,77,77,
77,77,77,77,77,77,77,77,77,77,
77,77,77,77,155,76,76,76,76,83,
751,929,232,1191,1106,109,1189,111,146,222,
77,78,79,80,90,91,1187,93,94,95,
96,220,112,113,114,115,1107,121,122,123,
133,1277,221,1104,223,204,207,215,1192,3100,
199,1273,1521,189,1272,3101,179,1276,1520,172,
1274,3102,166,1437,1519,160,356,3104,321,322,
3106,4131,3105,3109,3108,3839,3107,1278,3103,154,
3974,144,3110,149,1438,750,751,3946,232,644,
921,751,40,232,3912,4158,327,337,325,398,
676,85,87,245,597,286,3970,3979,124,751,
929,232,1191,1106,109,1189,111,146,222,77,
78,79,80,90,91,1187,93,94,95,96,
220,112,113,114,115,1107,121,122,123,133,
1277,221,1104,223,204,207,215,1192,3100,199,
1273,1521,189,1272,3101,179,1276,1520,172,1274,
3102,166,1437,1519,160,356,3104,321,322,3106,
4131,3105,3109,3108,3839,3107,1278,3103,154,3974,
144,3110,149,1438,4147,1010,751,40,232,3912,
3891,132,336,750,751,40,232,408,750,711,
85,87,799,799,283,3984,3979,247,751,3895,
232,1191,1106,109,1189,111,146,222,77,78,
79,80,90,91,1187,93,94,95,96,220,
112,113,114,115,1107,121,122,123,133,1277,
221,1104,223,204,207,215,1192,3100,199,1273,
1521,189,1272,3101,179,1276,1520,172,1274,3102,
166,1437,1519,160,356,3104,321,322,3106,4131,
3105,3109,3108,3839,3107,1278,3103,154,4202,4210,
3110,149,1438,312,311,793,399,822,136,4203,
4206,111,175,750,751,4246,232,71,4204,411,
751,3913,232,1191,1106,109,1189,111,146,222,
77,78,79,80,90,91,1187,93,94,95,
96,220,112,113,114,115,1107,121,122,123,
133,1277,221,1104,223,204,207,215,1192,3100,
199,1273,1521,189,1272,3101,179,1276,1520,172,
1274,3102,166,1437,1519,160,356,3104,321,322,
3106,4131,3105,3109,3108,3839,3107,1278,3103,154,
142,144,3110,149,1438,152,72,616,562,4250,
612,989,72,71,4241,750,751,3884,232,71,
4248,165,751,929,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,1277,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,1274,3102,166,1437,1519,160,356,3104,
321,322,3106,4131,3105,3109,3108,3839,3107,1278,
3103,154,142,144,3110,149,1438,228,764,731,
234,4195,799,1112,1121,4194,206,751,929,232,
1191,1106,109,1189,111,146,222,77,78,79,
80,90,91,1187,93,94,95,96,220,112,
113,114,115,1107,121,122,123,133,1277,221,
1104,223,204,207,215,1192,3100,199,1273,1521,
189,1272,3101,179,1276,1520,172,1274,3102,166,
1437,1519,160,356,3104,321,322,3106,4131,3105,
3109,3108,3839,3107,1278,3103,154,142,144,3110,
149,1438,450,310,312,311,4195,1122,957,1077,
4197,411,751,929,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,1277,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,1274,3102,166,1437,1519,160,356,3104,
321,322,3106,4131,3105,3109,3108,3839,3107,1278,
3103,154,3974,144,3110,149,1438,3890,310,713,
589,1091,826,258,949,751,38,232,30,1051,
31,575,977,86,87,288,751,929,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,1277,221,1104,
223,204,207,215,1192,3100,199,1273,1521,189,
1272,3101,179,1276,1520,172,1274,3102,166,1437,
1519,160,356,3104,321,322,3106,4131,3105,3109,
3108,3839,3107,1278,3103,154,142,144,3110,149,
1438,32,39,41,419,4195,1059,460,797,4211,
329,751,929,232,1191,1106,109,1189,111,146,
222,77,78,79,80,90,91,1187,93,94,
95,96,220,112,113,114,115,1107,121,122,
123,133,1277,221,1104,223,204,207,215,1192,
3100,199,1273,1521,189,1272,3101,179,1276,1520,
172,1274,3102,166,1437,1519,160,356,3104,321,
322,3106,4131,3105,3109,3108,3839,3107,1278,3103,
154,142,144,3110,149,1438,3890,1125,755,1118,
4195,829,491,875,4221,370,751,929,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,1277,221,1104,
223,204,207,215,1192,3100,199,1273,1521,189,
1272,3101,179,1276,1520,172,1274,3102,166,1437,
1519,160,356,3104,321,322,3106,4131,3105,3109,
3108,3839,3107,1278,3103,154,142,144,3110,149,
1438,134,859,652,795,4195,861,952,657,4272,
411,751,929,232,1191,1106,109,1189,111,146,
222,77,78,79,80,90,91,1187,93,94,
95,96,220,112,113,114,115,1107,121,122,
123,133,1277,221,1104,223,204,207,215,1192,
3100,199,1273,1521,189,1272,3101,179,1276,1520,
172,1274,3102,166,1437,1519,160,356,3104,321,
322,3106,4131,3105,3109,3108,3839,3107,1278,3103,
154,142,144,3110,149,1438,750,751,3953,232,
4159,411,751,929,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,1277,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,1274,3102,166,1437,1519,160,356,3104,
321,322,3106,4131,3105,3109,3108,3839,3107,1278,
3103,154,142,144,3110,149,1438,918,1123,64,
53,4198,411,751,929,232,1191,1106,109,1189,
111,146,222,77,78,79,80,90,91,1187,
93,94,95,96,220,112,113,114,115,1107,
121,122,123,133,1277,221,1104,223,204,207,
215,1192,3100,199,1273,1521,189,1272,3101,179,
1276,1520,172,1274,3102,166,1437,1519,160,356,
3104,321,322,3106,4131,3105,3109,3108,3839,3107,
1278,3103,154,142,144,3110,149,1438,4170,1127,
917,688,4247,411,751,929,232,1191,1106,109,
1189,111,146,222,77,78,79,80,90,91,
1187,93,94,95,96,220,112,113,114,115,
1107,121,122,123,133,1277,221,1104,223,204,
207,215,1192,3100,199,1273,1521,189,1272,3101,
179,1276,1520,172,1274,3102,166,1437,1519,160,
356,3104,321,322,3106,4131,3105,3109,3108,3839,
3107,1278,3103,154,1022,144,3110,149,1438,1,
751,929,232,1191,1106,109,1189,111,146,222,
77,78,79,80,90,91,1187,93,94,95,
96,220,112,113,114,115,1107,121,122,123,
133,1277,221,1104,223,204,207,215,1192,3100,
199,1273,1521,189,1272,3101,179,1276,1520,172,
1274,3102,166,1437,1519,160,356,3104,321,322,
3106,4131,3105,3109,3108,3839,3107,1278,3103,154,
3759,144,3110,149,1438,42,751,929,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,1277,221,1104,
223,204,207,215,1192,3100,199,1273,1521,189,
1272,3101,179,1276,1520,172,1274,3102,166,1437,
1519,160,356,3104,321,322,3106,4131,3105,3109,
3108,3839,3107,1278,3103,154,3847,144,3110,149,
1438,452,751,929,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,1277,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,1274,3102,166,1437,1519,160,356,3104,
321,322,3106,4131,3105,3109,3108,3839,3107,1278,
3103,154,3849,144,3110,149,1438,411,751,929,
232,1191,1106,109,1189,111,146,222,77,78,
79,80,90,91,1187,93,94,95,96,220,
112,113,114,115,1107,121,122,123,133,1277,
221,1104,223,204,207,215,1192,3100,199,1273,
1521,189,1272,3101,179,1276,1520,172,1274,3102,
166,1437,1519,160,356,3104,321,322,3106,4131,
3105,3109,3108,3839,3107,1278,3103,154,3852,144,
3110,149,1438,411,751,929,232,1191,1106,109,
1189,111,146,222,77,78,79,80,90,91,
1187,93,94,95,96,220,112,113,114,115,
1107,121,122,123,133,1277,221,1104,223,204,
207,215,1192,3100,199,1273,1521,189,1272,3101,
179,1276,1520,172,1274,3102,166,1437,1519,160,
356,3104,321,322,3106,4131,3105,3109,3108,3839,
3107,1278,3103,154,4145,144,3110,149,1438,411,
751,929,232,1191,1106,109,1189,111,146,222,
77,78,79,80,90,91,1187,93,94,95,
96,220,112,113,114,115,1107,121,122,123,
133,1277,221,1104,223,204,207,215,1192,3100,
199,1273,1521,189,1272,3101,179,1276,1520,172,
1274,3102,166,1437,1519,160,356,3104,321,322,
3106,4131,3105,3109,3108,3839,3107,1278,3103,154,
4169,144,3110,149,1438,411,751,929,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,1277,221,1104,
223,204,207,215,1192,3100,199,1273,1521,189,
1272,3101,179,1276,1520,172,1274,3102,166,1437,
1519,160,356,3104,321,322,3106,4131,3105,3109,
3108,3839,3107,1278,3103,154,4179,144,3110,149,
1438,411,751,929,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,1277,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,1274,3102,166,1437,1519,160,356,3104,
321,322,3106,4131,3105,3109,3108,3839,3107,1278,
3103,154,226,144,3110,149,1438,411,751,929,
232,1191,1106,109,1189,111,146,222,77,78,
79,80,90,91,1187,93,94,95,96,220,
112,113,114,115,1107,121,122,123,133,1277,
221,1104,223,204,207,215,1192,3100,199,1273,
1521,189,1272,3101,179,1276,1520,172,1274,3102,
166,1437,1519,160,356,3104,321,322,3106,4131,
3105,3109,3108,3839,3107,1278,3103,154,335,144,
3110,149,1438,411,751,929,232,1191,1106,109,
1189,111,146,222,77,78,79,80,90,91,
1187,93,94,95,96,220,112,113,114,115,
1107,121,122,123,133,1277,221,1104,223,204,
207,215,1192,3100,199,1273,1521,189,1272,3101,
179,1276,1520,172,1274,3102,166,1437,1519,160,
356,3104,321,322,3106,4131,3105,3109,3108,3839,
3107,1278,3103,154,67,144,3110,149,1438,411,
751,929,232,1191,1106,109,1189,111,146,222,
77,78,79,80,90,91,1187,93,94,95,
96,220,112,113,114,115,1107,121,122,123,
133,1277,221,1104,223,204,207,215,1192,3100,
199,1273,1521,189,1272,3101,179,1276,1520,172,
1274,3102,166,1437,1519,160,356,3104,321,322,
3106,4131,3105,3109,3108,3839,3107,1278,3103,154,
89,144,3110,149,1438,411,751,929,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,1277,221,1104,
223,204,207,215,1192,3100,199,1273,1521,189,
1272,3101,179,1276,1520,172,1274,3102,166,1437,
1519,160,356,3104,321,322,3106,4131,3105,3109,
3108,3839,3107,1278,3103,154,143,144,3110,149,
1438,411,751,929,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,1277,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,1274,3102,166,1437,1519,160,356,3104,
321,322,3106,4131,3105,3109,3108,3839,3107,1278,
3103,154,4226,144,3110,149,1438,411,751,929,
232,1191,1106,109,1189,111,146,222,77,78,
79,80,90,91,1187,93,94,95,96,220,
112,113,114,115,1107,121,122,123,133,1277,
221,1104,223,204,207,215,1192,3100,199,1273,
1521,189,1272,3101,179,1276,1520,172,1274,3102,
166,1437,1519,160,356,3104,321,322,3106,4131,
3105,3109,3108,3839,3107,1278,3103,154,68,144,
3110,149,1438,411,751,929,232,1191,1106,109,
1189,111,146,222,77,78,79,80,90,91,
1187,93,94,95,96,220,112,113,114,115,
1107,121,122,123,133,1277,221,1104,223,204,
207,215,1192,3100,199,1273,1521,189,1272,3101,
179,1276,1520,172,1274,3102,166,1437,1519,160,
356,3104,321,322,3106,4131,3105,3109,3108,3839,
3107,1278,3103,154,4227,144,3110,149,1438,411,
751,929,232,1191,1106,109,1189,111,146,222,
77,78,79,80,90,91,1187,93,94,95,
96,220,112,113,114,115,1107,121,122,123,
133,1277,221,1104,223,204,207,215,1192,3100,
199,1273,1521,189,1272,3101,179,1276,1520,172,
1274,3102,166,1437,1519,160,356,3104,321,322,
3106,4131,3105,3109,3108,3839,3107,1278,3103,154,
4239,144,3110,149,1438,411,751,929,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,1277,221,1104,
223,204,207,215,1192,3100,199,1273,1521,189,
1272,3101,179,1276,1520,172,1274,3102,166,1437,
1519,160,356,3104,321,322,3106,4131,3105,3109,
3108,3839,3107,1278,3103,154,4273,144,3110,149,
1438,411,751,929,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,1277,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,1274,3102,166,1437,1519,160,356,3104,
321,322,3106,4131,3105,3109,3108,3839,3107,1278,
3103,154,4274,144,3110,149,1438,411,751,929,
232,1191,1106,109,1189,111,146,222,77,78,
79,80,90,91,1187,93,94,95,96,220,
112,113,114,115,1107,121,122,123,133,1277,
221,1104,223,204,207,215,1192,3100,199,1273,
1521,189,1272,3101,179,1276,1520,172,1274,3102,
166,1437,1519,160,356,3104,321,322,3106,4131,
3105,3109,3108,3839,3107,1278,3103,154,4275,144,
3110,149,1438,493,751,1108,232,1191,1106,109,
1189,111,146,222,77,78,79,80,90,91,
1187,93,94,95,96,220,112,113,114,115,
1107,121,122,123,133,3987,221,1104,223,204,
207,215,1192,3100,199,1273,1521,189,1272,3101,
179,1276,1520,172,1274,3102,166,1437,1519,160,
920,932,1126,1129,1133,193,1143,913,1144,1148,
1137,156,3997,155,493,751,1108,232,1191,1106,
109,1189,111,146,222,77,78,79,80,90,
91,1187,93,94,95,96,220,112,113,114,
115,1107,121,122,123,133,4134,221,1104,223,
204,207,215,1192,3100,199,1273,1521,189,1272,
3101,179,1276,1520,172,1274,3102,166,162,4139,
161,493,751,1108,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,3998,221,1104,223,204,207,215,
1192,3100,199,1273,1521,189,1272,3101,179,1276,
1520,172,168,4032,167,493,751,1108,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,4125,221,1104,
223,204,207,215,1192,3100,199,1273,1521,189,
1272,3101,179,174,4133,173,493,751,1108,232,
1191,1106,109,1189,111,146,222,77,78,79,
80,90,91,1187,93,94,95,96,220,112,
113,114,115,1107,121,122,123,133,4034,221,
1104,223,204,207,215,1192,3100,199,1273,1521,
189,182,4035,181,493,751,1108,232,1191,1106,
109,1189,111,146,222,77,78,79,80,90,
91,1187,93,94,95,96,220,112,113,114,
115,1107,121,122,123,133,4034,221,1104,223,
204,207,215,1192,3100,199,1273,1521,189,182,
4081,180,493,751,1108,232,1191,1106,109,1189,
111,146,222,77,78,79,80,90,91,1187,
93,94,95,96,220,112,113,114,115,1107,
121,122,123,133,4108,221,1104,223,204,207,
215,1192,3100,199,194,4114,193,493,751,1108,
232,1191,1106,109,1189,111,146,222,77,78,
79,80,90,91,1187,93,94,95,96,220,
112,113,114,115,1107,121,122,123,133,4108,
221,1104,223,204,207,215,1192,3100,199,194,
4118,192,493,751,1108,232,1191,1106,109,1189,
111,146,222,77,78,79,80,90,91,1187,
93,94,95,96,220,112,113,114,115,1107,
121,122,123,133,4108,221,1104,223,204,207,
215,1192,3100,199,194,4123,191,493,751,1108,
232,1191,1106,109,1189,111,146,222,77,78,
79,80,90,91,1187,93,94,95,96,220,
112,113,114,115,1107,121,122,123,133,4108,
221,1104,223,204,207,215,1192,3100,199,194,
4124,190,493,751,1108,232,1191,1106,109,1189,
111,146,222,77,78,79,80,90,91,1187,
93,94,95,96,220,112,113,114,115,1107,
121,122,123,133,4083,221,1104,223,204,207,
215,202,4099,201,493,751,1108,232,1191,1106,
109,1189,111,146,222,77,78,79,80,90,
91,1187,93,94,95,96,220,112,113,114,
115,1107,121,122,123,133,4083,221,1104,223,
204,207,215,202,4101,200,493,751,1108,232,
1191,1106,109,1189,111,146,222,77,78,79,
80,90,91,1187,93,94,95,96,220,112,
113,114,115,1107,121,122,123,133,3882,221,
1104,223,210,217,215,493,751,1108,232,1191,
1106,109,1189,111,146,222,77,78,79,80,
90,91,1187,93,94,95,96,220,112,113,
114,115,1107,121,122,123,133,3882,221,1104,
223,210,216,215,750,751,40,232,13,1021,
259,214,534,751,1108,232,1191,1106,109,1189,
111,146,222,77,78,79,80,90,91,1187,
93,94,95,96,220,112,113,114,115,1107,
3942,122,123,133,219,221,218,223,1155,275,
213,493,751,1108,232,1191,1106,109,1189,111,
146,222,77,78,79,80,90,91,1187,93,
94,95,96,220,112,113,114,115,1107,121,
122,123,133,3882,221,1104,223,210,209,215,
493,751,1108,232,1191,1106,109,1189,111,146,
222,77,78,79,80,90,91,1187,93,94,
95,96,220,112,113,114,115,1107,121,122,
123,133,3882,221,1104,223,210,208,215,609,
3928,3914,232,480,258,1019,206,299,3888,842,
661,1139,954,794,567,757,567,216,53,1214,
591,751,3914,232,921,751,40,232,3912,4270,
4259,4252,4271,921,751,40,232,3912,4270,4259,
4252,4271,719,994,1156,205,602,1158,646,567,
877,1006,572,567,590,1065,346,3104,321,322,
3106,4131,3105,3109,3108,3839,3107,53,750,751,
3884,232,1159,1066,1164,345,376,308,3104,321,
322,3106,4131,3105,3109,3108,3839,3107,1008,305,
376,272,376,1165,309,4172,138,4220,1163,1157,
1171,747,1039,4251,339,1172,1174,316,282,357,
785,1173,66,1175,252,3892,4142,745,4147,288,
922,928,4152,840,280,376,1178,4147,273,376,
1182,260,261,3890,544,309,658,657,3853,1179,
3894,4116,9,656,1186,137,984,539,341,287,
4236,3890,276,4140,655,268,569,1183,1009,1010,
289,922,928,4152,840,921,751,40,232,3912,
3939,55,57,58,921,751,40,232,3912,3939,
55,57,58,921,751,40,232,3912,3939,55,
57,58,1184,291,830,983,297,1599,921,751,
40,232,3912,3939,55,57,58,921,751,40,
232,3912,3939,55,57,58,921,751,40,232,
3912,3939,55,57,58,921,751,40,232,3912,
3939,55,57,58,757,567,949,751,38,232,
30,1037,31,872,354,678,751,3953,232,787,
751,3950,232,351,949,751,38,232,30,1072,
31,1099,3944,245,474,475,473,3718,674,3843,
863,751,3857,232,1090,3945,30,3986,1104,750,
751,3950,232,1109,1111,1054,4180,750,751,3884,
232,757,567,1049,997,4196,757,567,12,1187,
757,567,683,567,66,1188,1191,1197,757,567,
272,376,720,567,831,567,757,567,1202,39,
747,757,567,32,39,1193,757,567,63,380,
1203,70,1204,251,3892,4142,745,757,567,521,
656,32,39,3859,69,98,757,567,757,567,
757,567,757,567,1210,1205,1212,1211,80,3951,
3966,70,1215,1217,29,3947,1220,280,376,227,
1221,1225,249,376,69,99,748,376,273,376,
1224,1226,16,1440,272,376,805,1228,3720,376,
272,376,561,376,3860,3886,1222,256,376,1229,
3860,1235,281,376,3883,267,1238,1067,1239,3982,
1108,1240,1244,285,376,662,470,293,459,1245,
302,1675,250,376,3940,376,306,376,4146,376,
1124,1246,1241,1252,1259,1261,4302,4302,4302,332,
4302,4302,4302,4302,4302,4302,4302,4302,4302,4302,
4302,4302,350,4302,4302,4302,4302,4302,4302,316,
4302,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,9,
10,0,0,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,0,0,
30,31,32,33,34,35,36,37,0,1,
40,0,1,2,3,4,5,6,7,11,
9,10,0,45,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,57,
42,30,31,32,33,34,35,36,37,0,
72,40,0,1,2,3,4,5,6,7,
11,9,10,64,66,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
0,73,30,31,32,33,34,35,36,37,
10,11,40,0,1,2,3,4,5,6,
7,0,9,10,3,0,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,0,73,30,31,32,33,34,35,36,
37,10,11,40,0,1,2,3,4,5,
6,7,8,9,0,0,0,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,0,58,30,31,32,33,34,35,
36,37,10,11,40,0,1,2,3,4,
5,6,7,8,9,0,42,43,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,0,0,30,31,32,33,34,
35,36,37,28,0,40,0,1,2,3,
4,5,6,7,8,9,12,0,0,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,0,42,30,31,32,33,
34,35,36,37,69,0,40,0,1,2,
3,4,5,6,7,8,9,39,0,42,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,0,42,30,31,32,
33,34,35,36,37,10,11,40,0,1,
2,3,4,5,6,7,8,9,0,54,
42,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,0,0,30,31,
32,33,34,35,36,37,10,11,40,0,
1,2,3,4,5,6,7,8,9,0,
42,0,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,0,0,30,
31,32,33,34,35,36,37,0,10,40,
0,1,2,3,4,5,6,7,0,9,
13,42,0,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,0,0,
30,31,32,33,34,35,36,37,51,0,
40,0,1,2,3,4,5,6,7,0,
9,43,44,0,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,0,
1,30,31,32,33,34,35,36,37,10,
0,40,0,1,2,3,4,7,6,7,
0,9,43,44,55,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
0,1,30,31,32,33,34,35,36,37,
51,41,40,0,1,2,3,4,0,60,
7,62,9,0,6,7,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,0,1,30,31,32,5,34,35,36,
37,0,1,2,0,4,38,39,0,41,
9,43,44,12,46,47,48,49,0,0,
0,1,2,5,4,5,0,1,78,11,
29,0,28,65,8,67,68,11,0,1,
2,0,4,5,3,0,45,9,29,76,
5,50,51,52,53,54,55,56,57,58,
59,60,61,62,63,64,0,29,0,28,
39,52,53,0,1,0,1,2,59,4,
61,0,63,45,9,0,0,6,50,51,
52,53,54,55,56,57,58,59,60,61,
62,63,64,0,29,0,1,0,1,2,
7,4,0,1,2,8,4,0,45,38,
45,9,0,6,39,50,51,52,53,54,
55,56,57,58,59,60,61,62,63,64,
0,29,0,1,41,72,43,44,0,0,
45,2,12,4,12,38,70,45,9,10,
0,56,50,51,52,53,54,55,56,57,
58,59,60,61,62,63,64,72,29,0,
1,2,42,4,0,1,0,3,2,29,
4,43,44,0,45,9,12,0,5,50,
51,52,53,54,55,56,57,58,59,60,
61,62,63,64,0,29,0,1,2,5,
4,0,0,0,0,2,0,4,0,3,
8,45,9,11,0,1,50,51,52,53,
54,55,56,57,58,59,60,61,62,63,
64,0,29,39,28,0,1,29,0,0,
0,3,2,12,4,6,7,12,45,9,
12,0,1,50,51,52,53,54,55,56,
57,58,59,60,61,62,63,64,0,29,
0,67,0,1,2,69,4,38,6,7,
41,0,43,44,0,45,0,3,74,3,
50,51,52,53,54,55,56,57,58,59,
60,61,62,63,64,33,0,0,0,39,
38,39,28,41,46,47,48,49,46,47,
48,49,0,1,43,44,0,0,77,0,
0,1,2,11,4,65,7,65,0,67,
68,0,70,71,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,0,1,
2,0,4,0,1,39,0,6,7,0,
41,8,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,0,46,47,48,
49,65,0,0,1,68,10,75,0,38,
39,8,41,0,43,44,0,46,47,48,
49,13,6,7,11,0,50,0,0,0,
1,2,5,4,6,7,65,12,67,68,
13,70,71,14,15,16,17,18,46,47,
48,49,0,28,38,39,0,41,0,43,
44,0,46,47,48,49,38,39,0,41,
0,43,44,0,46,47,48,49,0,6,
7,65,12,67,0,0,0,3,3,5,
5,0,79,65,8,11,0,11,7,3,
42,5,46,47,48,49,28,39,50,0,
0,38,28,28,41,6,43,44,0,46,
47,48,49,0,28,7,42,0,0,6,
0,0,41,65,6,8,6,0,11,29,
0,0,0,0,0,0,0,38,0,12,
66,66,0,69,69,12,0,13,0,41,
29,38,0,0,12,69,38,0,38,29,
29,28,10,10,0,0,0,0,0,12,
5,3,0,0,0,3,12,10,5,5,
0,0,0,0,0,5,3,0,0,5,
8,0,0,0,28,0,0,0,11,11,
0,10,67,71,68,10,0,10,70,28,
10,0,0,0,0,3,3,71,12,0,
0,0,74,0,0,11,0,8,8,0,
0,0,8,0,0,0,3,0,0,28,
11,11,8,8,0,8,8,0,0,0,
0,28,5,0,0,0,0,0,8,0,
67,0,70,42,68,12,12,12,0,8,
0,0,0,0,0,0,8,0,8,0,
0,0,0,0,0,0,0,0,39,0,
0,0,66,0,0,0,0,66,0,0,
0,0,0,0,0,0,0,0,0,0,
66,0,0,0,66,0,0,0,0,0,
0,0,0,0,0,0,0,0,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,
4302,4533,4338,1827,4336,555,3675,4408,4302,4335,
4601,242,259,4404,4352,4353,4354,4355,4356,4347,
4345,4348,4346,4344,1188,4349,4351,4350,4302,292,
4402,4403,1751,3636,4406,4407,4410,4409,4302,4538,
4127,4302,4533,4338,1827,4336,555,3675,4408,2435,
4335,4606,139,4156,4404,4352,4353,4354,4355,4356,
4347,4345,4348,4346,4344,1188,4349,4351,4350,3714,
3908,4402,4403,1751,3636,4406,4407,4410,4409,4302,
4301,4127,4302,4533,4338,1827,4336,555,3675,4408,
2435,4335,83,1012,2739,4404,4352,4353,4354,4355,
4356,4347,4345,4348,4346,4344,1188,4349,4351,4350,
4302,3858,4402,4403,1751,3636,4406,4407,4410,4409,
1013,4577,4127,4302,4533,4338,1827,4336,555,3675,
4408,4302,4335,83,4074,284,4404,4352,4353,4354,
4355,4356,4347,4345,4348,4346,4344,1188,4349,4351,
4350,4302,3907,4402,4403,1751,3636,4406,4407,4410,
4409,4573,4568,4127,4302,4533,4338,1827,4336,555,
3675,4408,140,4335,4302,4302,4302,4404,4352,4353,
4354,4355,4356,4347,4345,4348,4346,4344,1188,4349,
4351,4350,4302,4177,4402,4403,1751,3636,4406,4407,
4410,4409,4636,4633,4127,4302,4533,4338,1827,4336,
555,3675,4408,140,4335,139,4545,4186,4404,4352,
4353,4354,4355,4356,4347,4345,4348,4346,4344,1188,
4349,4351,4350,4302,4302,4402,4403,1751,3636,4406,
4407,4410,4409,40,4302,4127,4302,4533,4338,1827,
4336,555,3675,4408,4426,4335,4559,4302,4302,4404,
4352,4353,4354,4355,4356,4347,4345,4348,4346,4344,
1188,4349,4351,4350,4302,4621,4402,4403,1751,3636,
4406,4407,4410,4409,1361,255,4127,4302,4533,4338,
1827,4336,555,3675,4408,140,4335,1979,4302,4580,
4404,4352,4353,4354,4355,4356,4347,4345,4348,4346,
4344,1188,4349,4351,4350,4302,4600,4402,4403,1751,
3636,4406,4407,4410,4409,4399,4119,4127,4302,4533,
4338,1827,4336,555,3675,4408,140,4335,4302,4161,
4605,4404,4352,4353,4354,4355,4356,4347,4345,4348,
4346,4344,1188,4349,4351,4350,231,4302,4402,4403,
1751,3636,4406,4407,4410,4409,235,235,4127,4302,
4533,4338,1827,4336,555,3675,4408,140,4335,4302,
4609,4302,4404,4352,4353,4354,4355,4356,4347,4345,
4348,4346,4344,1188,4349,4351,4350,4302,4302,4402,
4403,1751,3636,4406,4407,4410,4409,378,4596,4127,
4302,4533,4338,1827,4336,555,3675,4408,212,4335,
4339,4649,4302,4404,4352,4353,4354,4355,4356,4347,
4345,4348,4346,4344,1188,4349,4351,4350,4302,4302,
4402,4403,1751,3636,4406,4407,4410,4409,4166,313,
4127,4302,3851,4338,1827,4336,555,3675,4408,4302,
4335,218,218,4302,4404,4352,4353,4354,4355,4356,
4347,4345,4348,4346,4344,1188,4349,4351,4350,4302,
4564,4402,4403,1751,3636,4406,4407,4410,4409,4565,
196,4127,4302,4533,4338,1827,4336,202,3675,4408,
4302,4335,4110,455,3722,4404,4352,4353,4354,4355,
4356,4347,4345,4348,4346,4344,1188,4349,4351,4350,
4302,4540,4402,4403,1751,3636,4406,4407,4410,4409,
4166,202,4127,4302,4533,4338,1827,4336,157,563,
4408,469,4335,88,195,203,4404,4352,4353,4354,
4355,4356,4347,4345,4348,4346,4344,1188,4349,4351,
4350,4302,4657,4402,4403,1751,4005,4406,4407,4410,
4409,4302,4572,4338,279,4677,195,175,4302,203,
4679,219,219,4567,183,183,183,183,4302,290,
4302,4533,4338,4023,4336,555,4302,4555,2511,4190,
4661,4302,1014,175,4556,169,163,3855,4302,4533,
4338,4302,3933,555,4650,4302,4673,4679,4148,2359,
4566,4660,4670,4659,4662,4663,4664,4665,4666,4667,
4668,4669,4671,4672,4674,4675,4302,4661,4302,1014,
2207,842,573,4302,4548,4302,4579,4338,839,4677,
572,184,1009,4673,4679,4302,152,194,4660,4670,
4659,4662,4663,4664,4665,4666,4667,4668,4669,4671,
4672,4674,4675,195,4661,4302,4546,4302,4533,4338,
203,4336,4302,4571,4338,61,4677,4302,248,194,
4673,4679,4302,3552,2587,4660,4670,4659,4662,4663,
4664,4665,4666,4667,4668,4669,4671,4672,4674,4675,
4302,4661,4302,4598,203,248,219,219,211,4302,
247,4338,1523,4677,4597,3594,156,4673,4679,4620,
4302,4136,4660,4670,4659,4662,4663,4664,4665,4666,
4667,4668,4669,4671,4672,4674,4675,247,4661,4302,
4533,4338,4654,4336,4302,4536,4302,4085,4338,4188,
4677,219,219,4302,4673,4679,4089,4302,4014,4660,
4670,4659,4662,4663,4664,4665,4666,4667,4668,4669,
4671,4672,4674,4675,4302,4661,4302,3949,4338,4047,
4336,4302,4302,4302,164,4338,147,4677,4302,139,
838,4673,4679,4651,4302,4539,4660,4670,4659,4662,
4663,4664,4665,4666,4667,4668,4669,4671,4672,4674,
4675,4302,4154,2283,40,4302,4603,4148,4302,183,
359,4038,4338,4588,4677,195,203,4602,4673,4679,
478,4302,4541,4660,4670,927,844,4663,4664,4665,
4666,4667,1011,4669,843,4672,4674,4675,176,4661,
170,168,4302,4533,4338,1280,4336,195,4315,4316,
203,203,219,219,139,4673,4302,846,4527,761,
4660,4670,4659,4662,4663,4664,4665,4666,4667,4668,
4669,4671,4672,4674,4675,4305,4302,4302,4302,174,
4314,4312,41,4317,182,182,182,182,4311,4308,
4310,4309,4302,3887,219,219,4302,158,2055,4302,
4302,4533,4338,4642,4336,174,3800,4313,4302,4303,
4306,4302,4307,4304,4352,4353,4354,4355,4356,4347,
4345,4348,4346,4344,3938,4349,4351,4350,4302,4533,
4338,145,4336,4302,4543,3324,317,195,203,4302,
3761,4526,4352,4353,4354,4355,4356,4347,4345,4348,
4346,4344,4330,4349,4351,4350,4302,3507,3462,3417,
3372,3276,178,4302,4535,162,4655,4192,35,195,
175,4361,203,4302,219,219,163,183,183,183,
183,4339,195,203,755,4302,3758,378,169,4302,
4533,4338,35,4336,195,203,175,4631,169,163,
4339,157,151,4352,4353,4354,4355,4356,3507,3462,
3417,3372,4302,1014,195,175,177,203,121,219,
219,4302,183,183,183,183,195,175,171,203,
4302,219,219,175,183,183,183,183,4302,195,
203,175,4576,169,147,147,4302,139,139,3864,
3873,198,2131,175,4428,669,147,2435,3800,139,
314,460,3507,3462,3417,3372,4076,3324,314,188,
366,195,40,40,203,3552,219,219,197,183,
183,183,183,187,40,3800,65,4302,186,3552,
185,369,3761,3276,3552,4429,3552,110,2435,4188,
360,357,4302,56,92,4302,4302,3594,4302,379,
65,65,323,1280,1280,326,148,4405,231,3761,
4148,3594,330,339,1903,1280,3594,4302,3594,4148,
4148,1014,4635,4646,4302,4302,56,4302,4302,4640,
4047,4038,4302,4302,375,4085,4617,4645,460,34,
4302,4302,4302,4302,4302,4056,577,62,84,4065,
4362,4302,153,165,1014,4302,159,4302,1356,931,
4302,4384,3225,3043,3171,4383,4302,4626,3114,4094,
4644,326,4302,136,141,1025,1110,150,4630,4302,
4302,4302,4542,139,4302,2435,4302,4432,4433,72,
144,4302,4427,135,4302,4302,1195,4302,4302,1014,
663,1442,4430,4431,4302,4421,4418,65,4302,66,
4302,41,4065,57,55,58,4302,4302,4434,4302,
3225,4302,3114,4622,3171,337,327,325,4302,4422,
4302,4302,4302,4302,4302,4302,4420,4302,4419,4302,
4302,4302,4302,4302,4302,4302,4302,4302,2587,4302,
4302,4302,2663,4302,4302,4302,4302,2815,4302,4302,
4302,4302,4302,4302,4302,4302,4302,4302,4302,4302,
2891,4302,4302,4302,2967
};
};
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,
394,395,396,394,319,1,240,5,262,261,
240,240,140,8,240,23,240,100,2,419,
319,266,240,26,412,240,418,367,100,239,
29,367,298,239,214,240,71,213,32,35,
214,240,259,106,104,240,259,259,259,399,
105,318,182,441,440,421,440,440,440,318,
182,106,319,358,240,419,41,359,363,108,
138,142,139,71,71,43,47,45,53,51,
41,55,54,172,174,176,179,72,72,100,
391,133,216,218,220,367,399,240,348,237,
37,95,319,238,56,86,86,86,240,75,
211,170,319,106,86,240,106,86,375,100,
100,370,182,182,86,268,271,372,72,72,
72,72,72,72,41,38,295,214,72,72,
72,72,72,72,72,72,71,170,419,240,
86,71,140,358,140,214,346,347,140,352,
214,361,71,106,39,140,359,38,140,367,
18,20,373,214,2,419,366,367,419,372,
71,41,55,41,53,41,47,47,41,43,
43,100,71,86,41,45,45,45,45,41,
51,41,54,419,71,419,319,358,233,70,
86,106,70,140,86,71,40,70,100,71,
86,100,71,71,444,170,71,41,373,2,
106,373,70,39,234,70,373,68,67,66,
2,321,71,71,373,40,41,373,71,100,
71,100,71,71,86,292,70,373,68,373,
68,343,2,68,2,322,167,166,166,354,
166,373,71,71,71,86,373,373,373
};
};
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,
1,11,8,0,12,54,0,2,3,8,
12,42,43,58,4,1,13,10,11,39,
5,0,42,12,0,12,58,0,42,43,
0,28,3,0,12,13,5,69,28,3,
44,43,7,41,38,6,46,47,48,49,
39,65,67,68,70,71,8,10,73,76,
77,78,74,79,1,11,42,66,0,8,
5,40,6,33,9,30,31,13,34,35,
7,37,36,32,3,23,20,22,19,21,
25,27,26,24,14,15,16,17,18,4,
1,2,0,55,50,42,0,38,6,7,
41,39,65,8,10,73,44,66,11,42,
43,76,77,78,74,67,68,70,71,79,
1,13,46,47,48,49,0,1,12,3,
0,38,6,7,41,46,47,48,49,65,
8,10,73,44,43,76,77,78,74,67,
68,70,71,79,1,12,66,11,42,39,
0,71,0,68,0,39,65,0,38,6,
0,40,6,33,3,32,14,15,16,17,
18,24,36,37,7,34,35,13,31,30,
23,20,22,19,21,25,27,26,9,10,
2,4,1,5,0,67,0,70,0,75,
8,10,66,42,76,77,78,74,79,50,
55,12,1,73,11,0,10,5,1,52,
50,53,54,55,56,57,58,59,60,51,
61,62,45,63,64,2,4,9,29,0,
57,62,60,1,10,51,0,77,1,0,
38,6,7,41,46,47,39,48,49,65,
3,69,44,5,28,43,77,67,68,70,
71,74,1,0,79,11,0,4,9,2,
52,50,29,53,54,55,56,57,58,59,
60,51,61,62,45,63,64,1,12,0,
42,38,6,7,41,46,47,39,48,49,
65,8,44,11,43,67,68,70,71,28,
3,69,66,5,0,13,5,11,75,1,
0,8,1,39,66,11,42,12,28,0,
42,50,44,43,0,76,11,10,0,4,
2,1,8,0,2,1,4,67,71,33,
68,70,47,49,48,46,39,65,38,6,
7,41,0,56,1,72,45,0,4,9,
2,50,54,55,56,57,58,60,51,62,
45,63,52,53,61,29,59,64,10,0,
52,50,53,54,55,56,57,58,59,60,
51,61,62,45,63,64,2,4,9,29,
11,5,0,78,1,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,
143,17,117,17,17,17,16,17,84,74,
16,99,17,17,16,17,146,16,17,17,
17,1,16,17,111,93,131,17,16,16,
17,17,16,16,17,99,7,17,17,17,
17,16,17,17,17,16,3,3,3,149,
17,17,7,17,17,16,3,3,3,17,
7,17,17,17,16,17,17,17,17,17,
17,17,17,7,7,17,17,17,17,17,
17,17,17,17,17,17,17,68,68,137,
17,17,17,17,17,17,17,140,17,17,
21,107,17,10,17,108,16,108,16,78,
10,17,17,17,108,16,17,16,128,16,
125,122,7,7,108,17,17,17,26,38,
50,50,62,62,17,21,17,17,68,68,
56,56,56,56,44,32,7,17,17,16,
107,7,17,17,17,17,17,17,17,17,
17,17,7,17,21,21,17,21,17,17,
17,17,17,17,17,17,17,17,17,17,
7,17,17,17,17,17,17,17,17,17,
17,18,7,108,17,17,17,17,17,17,
17,17,17,17,7,17,17,17,17,7,
108,17,7,17,16,7,17,5,134,7,
108,23,7,7,17,17,7,21,17,17,
17,17,7,21,17,7,17,17,17,17,
17,21,7,7,17,17,21,17,7,18,
7,16,7,7,105,17,7,17,17,17,
17,17,17,17,17,21,17,17,17,17,
17,17,7,7,7,105,17,17,17
};
};
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,
105,0,81,0,83,82,4,7,17,58,
61,63,67,65,64,1,0,1,82,0,
78,0,1,83,0,7,17,4,1,70,
0,4,7,17,1,56,0,7,17,4,
1,53,0,4,7,17,1,50,0,7,
17,4,1,47,0,4,7,17,1,44,
0,7,17,4,1,41,0,1,7,17,
4,37,0,130,132,126,0,28,7,17,
4,1,0,135,137,133,151,150,153,128,
129,0,109,107,1,136,106,0,1,101,
100,102,99,0,8,6,7,1,4,0,
143,109,107,106,139,0,125,123,122,121,
0,115,1,0,1,116,0,1,113,0,
145,141,0,1,96,0,1,117,0,1,
148,0,118,120,0,1,152,0,1,147,
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,
82,27,12,79,21,3,4,13,31,15,
20,14,30,47,48,49,50,51,52,53,
54,55,56,57,58,59,60,22,63,28,
29,32,39,43,44,45,46,2,8,41,
5,23,24,18,75,6,7,9,10,62,
72,61,64,65,66,67,68,69,70,71,
73,74,76,77,11,19,36,37,16,38,
40,78,17,35,1,25,33,34,42,80,
81
};
};
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,
87,86,0,84,89,85,91,92,0,0,
0,0,0,0,0,0,101,0,0,0,
0,0,0,0,0,0,103,104,0,0,
0,107,0,133,0,0,132,0,128,129,
130,125,126,127,122,123,124,119,120,121,
116,117,118,113,114,115,172,178,0,0,
180,181,182,184,185,186,187,110,111,112,
95,105,108,0,109,138,0,0,90,106,
171,96,94,0,131,149,0,0,88,0,
98,100,0,179,0,97,0,99,140,148,
150,151,152,156,157,163,173,174,175,177,
0,0,83,0,93,102,134,0,135,136,
137,139,141,142,143,144,145,146,147,153,
154,155,158,159,160,161,162,164,165,166,
167,0,168,0,169,170,176,183,188,189,
190,191,192,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[] = {
213,249,259,147,181,189,235,269,223,35,
35,167,174,156,207,141,197,243,26,162,
26,26,14,52,56,277,281,285,289,56,
52,18,23,18,60,23,23,23,10,1,
80,80,88,88,96,96,96,96,110,110,
118,123,128,133,1
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
public final int scopePrefix(int index) { return scopePrefix[index]; }
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
78,78,78,78,78,78,78,78,231,21,
66,78,78,78,78,138,203,231,21,78,
42,68,12,21,21,12,12,12,78,78,
138,21,21,78,63,31,46,72,12,3,
82,85,90,93,98,101,104,107,112,115,
120,125,130,135,6
};
};
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,57,31,7,12,11,11,8,7,
31,27,35,34,38,35,35,35,59,60,
41,41,44,44,47,47,47,47,50,50,
53,56,70,74,60
};
};
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,66,1,
74,8,8,8,8,73,11,66,1,8,
78,78,10,1,1,10,10,10,8,8,
73,1,1,8,79,77,77,77,10,1,
41,7,6,38,49,48,47,46,65,39,
67,68,70,71,75
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
public final int scopeLa(int index) { return scopeLa[index]; }
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
48,48,48,48,48,48,48,48,48,48,
48,48,48,48,48,48,48,48,48,48,
48,48,1,48,37,48,48,48,38,37,
48,48,48,48,49,48,48,48,1,1,
53,53,55,55,59,59,59,59,61,61,
62,63,64,65,1
};
};
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,
148,0,1,10,0,75,157,10,0,144,
0,10,0,152,12,139,0,152,3,0,
1,0,152,32,0,152,77,152,32,0,
77,152,1,0,152,78,152,77,152,32,
0,78,152,1,0,77,152,78,152,1,
0,161,69,83,0,160,3,85,0,198,
40,0,79,152,0,74,0,78,152,74,
0,77,152,78,152,74,0,8,0,121,
0,41,118,0,7,118,0,124,0,6,
122,0,38,122,0,127,0,49,125,0,
48,125,0,47,125,0,46,125,0,130,
0,65,128,0,39,128,0,133,0,67,
131,0,136,0,68,134,0,150,0,70,
137,0,156,0,71,151,0,73,159,0,
161,69,83,43,108,0,165,3,159,170,
28,86,43,108,0,165,3,170,28,86,
0,165,3,159,83,0,165,3,159,83,
43,108,0,165,3,159,194,43,108,0,
161,11,83,3,83,44,108,0,161,11,
153,3,83,44,108,0,153,3,83,44,
108,0,11,161,8,0,152,3,83,44,
108,0,152,66,163,42,172,3,83,44,
108,0,163,42,172,3,83,44,108,0,
66,152,8,0,152,66,163,3,83,44,
108,0,163,3,83,44,108,0,152,66,
172,11,164,3,83,44,108,0,152,66,
172,11,83,3,83,44,108,0,152,66,
172,3,83,44,108,0,197,12,24,0,
178,12,88,0,178,12,85,0,195,3,
24,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,
2967,2891,2815,1195,669,1442,2739,2663,2587,2511,
1110,1025,2435,931,2359,2283,577,1361,846,761,
2207,2131,2055,1979,1280,1903,478,379,3860,3839,
1827,1751,1675,1599,1523,0,555,3873,3864,4065,
4056,4047,460,4038,4023,4014,4005,3722,3800,3761,
3675,3636,3594,3552,3507,3462,3417,3372,3324,3276,
3225,3171,3114,3043,2967,2891,2815,1195,669,1442,
2739,2663,2587,2511,1110,1025,2435,931,2359,2283,
577,1361,846,761,2207,2131,2055,1979,1280,1903,
478,379,1827,1751,1675,1599,1523,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,201,192,199,205,203,45,204,208,206,
56,11,157,82,54,234,231,60,232,221,
215,62,51,214,218,216,219,213,57,211,
200,183,181,182,167,3,12,157,86,82,
8,58,59,191,188,29,61,53,52,190,
189,63,224,227,59,29,61,53,52,64,
226,10,212,86,43,152,115,86,108,98,
24,88,85,32,3,120,126,123,132,129,
113,149,135,156,136,130,124,33,6,40,
121,127,133,150,139,144,142,143,148,146,
83,5,145,147,154,5,28,5,29,55,
167,157,50,152,5,11,152,28,43,44,
12,3,12,12,3,152,1,152,71,68,
65,39,6,38,113,83,198,83,41,7,
49,48,47,46,67,70,12,185,1,75,
5,69,159,86,85,83,82,4,24,86,
157,109,39,160,170,194,86,83,83,197,
1,83,195,83,196,178,152,179,178,160,
77,113,150,113,133,113,127,127,113,121,
121,11,79,5,113,124,124,124,124,113,
130,113,136,152,39,157,175,86,161,3,
5,152,3,159,28,69,159,3,11,39,
5,11,76,11,152,160,11,73,165,161,
160,165,3,170,161,3,152,163,172,164,
153,83,78,39,165,159,73,165,66,42,
66,11,11,11,5,152,3,152,163,152,
172,83,161,172,161,83,160,88,87,86,
89,165,66,66,66,5,152,152,152
};
};
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",
"checkonly",
"default_values",
"domain",
"enforce",
"extends",
"implementedby",
"import",
"key",
"overrides",
"primitive",
"query",
"relation",
"replace",
"top",
"transformation",
"when",
"where",
"EOF_TOKEN",
"IDENTIFIER",
"SINGLE_LINE_COMMENT",
"MULTI_LINE_COMMENT",
"ERROR_TOKEN",
"conceptualOperationNameCS",
"CollectionTypeIdentifierCS",
"primitiveTypeCS",
"simpleNameCS",
"QuotedSimpleNameCS",
"unreservedSimpleNameCS",
"pathNameCS",
"typeCS",
"collectionTypeCS",
"tupleTypeCS",
"tupleTypePartsCS",
"typedUninitializedVariableCS",
"OclExpressionCS",
"typedInitializedVariableCS",
"initializedVariableCS",
"uninitializedVariableCS",
"CollectionLiteralPartsCS",
"CollectionLiteralPartCS",
"StringLiteralExpCS",
"TupleLiteralPartsCS",
"primaryExpCS",
"OperationCallExpCS",
"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",
"unitCS",
"topLevelCS_1_",
"transformationCS",
"identifierCS",
"transformationCS_0_",
"modelDeclCS",
"transformationCS_1_",
"transformationCS_2_",
"transformationCS_3_",
"keyDeclCS",
"transformationCS_4_",
"queryCS",
"relationCS",
"modelDeclCS_0_",
"modelIdCS",
"modelDeclCS_1_",
"modelDeclCS_2_",
"metaModelIdCS",
"keyDeclCS_0_",
"classIdCS",
"keyDeclCS_1_",
"propertyIdCS",
"relationCS_withName",
"relationCS_postName",
"relationCS_postOverrides",
"relationCS_postVariable",
"varDeclarationCS",
"relationCS_postDomain",
"domainCS",
"relationCS_postWhen",
"whenCS",
"relationCS_postWhere",
"whereCS",
"whenCS_1",
"whereCS_1",
"varDeclarationCS_0",
"domainCS_0_",
"templateCS",
"domainCS_1_",
"domainCS_postImplementedby",
"domainCS_preDefaultValue",
"defaultValueCS",
"domainCS_postDefaultValues",
"templateCS_0_",
"notCollectionTypeCS",
"objectTemplateCS_prePropertyTe" +
"mplates",
"objectTemplateCS_prePropertyTe" +
"mplate",
"objectTemplateCS_postPropertyT" +
"emplate",
"propertyTemplateCS",
"collectionTemplateCS_1_",
"collectionTemplateCS_preMember" +
"Selections",
"collectionTemplateCS_preMember" +
"Selection",
"collectionTemplateCS_postMembe" +
"rSelection",
"memberSelectorCS",
"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];
}
}