/*******************************************************************************
* Copyright (c) 2006, 2007 Eclipse.org
*
* 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
*******************************************************************************/
package org.eclipse.gmf.internal.xpand.expression.parser;
public class ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, ExpressionParsersym {
public interface IsKeyword {
public final static byte isKeyword[] = {0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
public interface BaseCheck {
public final static byte baseCheck[] = {0,
1,6,1,4,1,1,3,1,5,10,
1,0,5,1,3,1,3,1,3,1,
3,1,1,1,1,1,1,1,3,1,
1,1,3,1,1,1,2,2,2,3,
1,2,1,1,1,1,1,1,1,1,
3,4,3,1,1,3,2,2,1,1,
1,1,1,4,6,4,1,1,1,1,
1,1,0,1,2,4,1,3,1,1,
4,1,1,1,3,1,1,3,-14,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-33,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-53,0,0,0,0,0,0,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,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-8,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-25,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-29,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-42,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-59,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-57,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-64,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-43,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-22,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-58,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-23,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-66,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-69,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-70,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-41,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-24,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-40,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-38,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-39,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-6,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-7,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-46,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-37,0,0,0,0,0,0,
0,0,-30,0,0,0,0,0,-13,0,
0,-17,-28,0,0,-15,-16,-31,0,-32,
0,-54,-63,-55,-2,-72,-3,-4,-5,-9,
-10,-11,-12,-18,-19,-20,-21,-26,-27,-34,
-35,-36,-44,0,-45,0,-47,-48,0,-49,
-50,0,-51,0,0,0,0,-52,-56,-60,
-61,-62,-65,-67,-68,-71,0
};
};
public final static byte baseCheck[] = BaseCheck.baseCheck;
public final int baseCheck(int index) { return baseCheck[index]; }
public final static byte rhs[] = baseCheck;
public final int rhs(int index) { return rhs[index]; };
public interface BaseAction {
public final static char baseAction[] = {
28,28,29,29,27,27,25,25,26,26,
24,24,31,31,23,23,21,21,22,22,
20,20,34,34,34,34,34,34,19,19,
32,32,17,17,35,35,18,18,18,33,
33,9,9,10,10,10,10,10,10,10,
10,10,6,6,6,6,15,15,16,11,
11,14,12,13,7,7,7,8,8,8,
8,8,8,37,37,38,38,30,30,3,
3,4,5,5,5,2,2,1,1,1,
86,80,54,79,780,50,55,781,36,766,
44,45,46,47,48,49,28,767,762,779,
778,784,11,777,5,786,3,792,1,791,
30,86,80,54,79,780,50,55,781,36,
766,44,45,46,47,48,49,28,767,762,
779,778,784,11,777,5,786,3,792,1,
808,56,86,80,54,79,780,50,55,781,
36,766,44,45,46,47,48,49,28,767,
762,779,778,784,11,777,5,786,3,792,
1,78,56,86,80,54,79,780,50,55,
781,36,766,44,45,46,47,48,49,28,
767,762,779,778,784,11,777,5,786,3,
775,1,56,86,80,789,79,780,50,55,
781,36,766,44,45,46,47,48,49,28,
767,762,779,778,784,11,777,5,786,3,
788,1,56,86,80,54,79,780,50,55,
781,36,766,44,45,46,47,48,49,28,
767,762,779,778,784,11,777,5,786,3,
788,1,82,86,80,54,79,780,50,55,
781,36,766,44,45,46,47,48,49,28,
767,762,779,778,784,11,777,5,786,3,
798,1,56,86,80,54,79,780,50,55,
781,36,766,44,45,46,47,48,49,28,
767,762,779,778,784,11,777,5,786,3,
809,1,56,86,80,54,79,780,50,55,
781,36,766,44,45,46,47,48,49,28,
767,762,779,778,784,11,777,5,786,3,
812,1,133,86,80,54,79,780,50,55,
781,36,766,44,45,46,47,48,49,28,
767,762,779,778,784,11,777,5,786,811,
133,86,80,54,79,780,50,55,781,36,
766,44,45,46,47,48,49,28,767,762,
779,778,784,11,777,5,786,2,108,86,
80,54,79,780,50,55,781,36,766,44,
45,46,47,48,49,28,767,762,779,778,
784,11,777,7,786,108,86,80,54,79,
780,50,55,781,36,766,44,45,46,47,
48,49,28,767,762,779,778,784,11,795,
108,86,80,54,79,780,50,55,781,36,
766,44,45,46,47,48,49,28,767,762,
779,778,784,11,9,158,86,80,54,79,
780,50,55,781,36,766,44,45,46,47,
48,49,28,767,762,779,778,784,15,158,
86,80,54,79,780,50,55,781,36,766,
44,45,46,47,48,49,28,767,762,779,
778,784,815,158,86,80,54,79,780,50,
55,781,36,766,44,45,46,47,48,49,
28,767,762,779,778,784,816,158,86,80,
54,79,780,50,55,781,36,766,44,45,
46,47,48,49,28,767,762,779,778,784,
776,158,86,80,54,79,780,50,55,781,
36,766,44,45,46,47,48,49,28,767,
762,779,17,784,158,86,80,54,79,780,
50,55,781,36,766,44,45,46,47,48,
49,28,767,762,19,158,86,80,54,79,
780,50,55,781,36,766,44,45,46,47,
48,49,28,767,774,158,86,80,54,79,
780,50,55,781,36,766,44,45,46,47,
48,49,33,767,158,86,80,54,79,780,
50,55,781,36,766,44,45,46,47,48,
49,29,767,181,86,80,54,79,780,50,
55,781,38,766,44,45,46,47,48,49,
181,86,80,54,79,780,50,55,781,37,
766,44,45,46,47,48,49,181,86,80,
54,79,780,50,55,781,4,766,44,45,
46,47,48,49,225,86,80,54,79,780,
772,55,781,240,86,80,801,79,780,280,
86,58,217,280,86,797,254,227,289,88,
289,85,298,309,249,28,309,238,156,248,
247,255,267,251,266,283,270,286,273,288,
242,291,292,293,674,294,635,295,297,42,
250,299,655,105,813,40,674,13,301,302,
303,305,306,308,310,312,315,819,819
};
};
public final static char baseAction[] = BaseAction.baseAction;
public final int baseAction(int index) { return baseAction[index]; }
public final static char lhs[] = baseAction;
public final int lhs(int index) { return lhs[index]; };
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,0,24,25,0,0,28,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,51,24,
25,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,0,24,25,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
26,24,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,0,24,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,39,15,16,17,18,19,
20,21,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,0,15,16,17,
18,19,20,21,0,1,0,3,4,5,
6,7,8,9,10,11,12,0,22,0,
1,0,3,4,5,29,0,0,0,0,
0,2,2,0,0,14,2,41,42,43,
44,45,46,14,14,0,0,26,2,0,
22,34,0,47,48,26,26,29,31,0,
1,35,0,30,2,0,1,0,0,1,
0,0,0,0,0,23,0,0,0,50,
0,0,0,38,0,0,37,0,0,0,
23,0,0,0,0,13,0,0,28,23,
27,23,0,23,23,0,0,30,23,0,
36,27,40,0,0,0,27,0,27,32,
49,33,28,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,
819,783,212,901,902,903,782,886,887,888,
889,890,891,89,710,862,881,882,759,878,
879,880,693,819,785,787,819,819,876,819,
783,212,901,902,903,782,886,887,888,889,
890,891,89,710,862,881,882,759,878,879,
880,693,872,785,787,819,783,212,901,902,
903,782,886,887,888,889,890,891,89,710,
862,881,882,759,878,879,880,693,818,785,
787,819,800,212,901,902,903,782,886,887,
888,889,890,891,89,710,862,881,882,759,
878,879,880,693,87,785,787,819,783,242,
901,902,903,782,886,887,888,889,890,891,
89,710,862,881,882,759,878,879,880,693,
768,785,819,783,212,901,902,903,782,886,
887,888,889,890,891,89,710,862,881,882,
759,878,879,880,693,14,785,819,783,242,
901,902,903,782,886,887,888,889,890,891,
89,710,862,881,882,759,878,879,880,693,
819,783,242,901,902,903,782,886,887,888,
889,890,891,89,495,862,881,882,759,878,
879,880,54,727,727,727,727,727,727,727,
727,727,727,727,727,727,20,727,727,727,
727,727,727,727,819,783,32,901,902,903,
782,886,887,888,889,890,891,8,850,819,
790,87,901,902,903,849,819,18,21,87,
87,120,120,41,819,770,272,841,842,843,
844,845,846,770,770,16,819,768,753,6,
850,445,819,853,854,768,768,849,614,819,
790,763,819,744,302,819,793,54,819,803,
819,77,819,819,819,870,819,39,819,332,
819,819,819,591,819,819,418,819,12,819,
1110,819,819,819,819,773,819,819,875,885,
470,883,819,871,810,819,819,744,884,819,
900,390,362,819,819,819,543,819,567,814,
151,519,829
};
};
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,
28,56,106,103,101,32,32,28,58,140,
140,60,51,1,90,91,93,102,140,107,
51,29,30,30,28,85,69,51,28,48,
51,51,27,87,112,110,41,30,30,30,
30,28,29,114,116,32,118,85,120,85,
88,85,28,90,99,85,29,29,28,25,
116,85,53,29,54,30,116,116,30,30,
112,53
};
};
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,
2,14,22,15,1,3,4,5,6,7,
8,9,10,11,12,18,21,17,16,19,
20,24,25,28,13,0,23,25,24,14,
22,15,2,18,13,21,17,16,19,20,
6,7,8,9,10,11,12,3,4,5,
1,0,33,32,0,51,0,35,0,32,
33,27,28,49,51,2,14,26,31,34,
37,38,39,41,42,43,44,45,46,29,
22,47,48,30,23,0,14,36,26,30,
47,48,41,42,43,44,45,46,29,22,
31,38,32,33,39,34,27,51,37,23,
49,28,0,40,0,27,0,36,0,31,
34,23,37,38,39,41,42,43,44,45,
46,29,22,47,48,30,50,14,26,2,
0
};
};
public final static byte asr[] = Asr.asr;
public final int asr(int index) { return asr[index]; }
public interface Nasb {
public final static byte nasb[] = {0,
1,12,12,12,12,1,1,5,12,12,
12,12,13,1,18,20,15,12,12,12,
12,1,1,1,1,12,12,13,1,6,
22,22,1,12,12,12,9,1,1,1,
1,1,1,12,12,1,12,12,12,12,
12,12,1,18,16,12,1,1,1,12,
12,12,24,1,12,1,12,12,1,1,
12,24
};
};
public final static byte nasb[] = Nasb.nasb;
public final int nasb(int index) { return nasb[index]; }
public interface Nasr {
public final static byte nasr[] = {0,
10,8,5,0,8,5,3,0,5,8,
6,0,2,0,34,32,0,33,0,35,
0,1,0,31,0
};
};
public final static byte nasr[] = Nasr.nasr;
public final int nasr(int index) { return nasr[index]; }
public interface TerminalIndex {
public final static byte terminalIndex[] = {0,
29,4,42,43,44,45,46,47,48,49,
50,51,6,11,30,31,32,36,37,38,
39,22,5,34,33,2,3,7,21,25,
35,40,41,1,8,9,10,12,13,14,
15,16,17,18,19,20,23,24,26,27,
52,53
};
};
public final static byte terminalIndex[] = TerminalIndex.terminalIndex;
public final int terminalIndex(int index) { return terminalIndex[index]; }
public interface NonterminalIndex {
public final static byte nonterminalIndex[] = {0,
78,75,56,0,77,72,0,76,57,73,
0,0,0,0,0,0,67,69,65,64,
62,63,61,60,58,59,55,54,0,74,
0,68,71,66,70,0,0,0
};
};
public final static byte nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
public interface ScopePrefix {
public final static byte scopePrefix[] = {
37,47,7,78,1,18,71,59,13,22,
25,30
};
};
public final static byte scopePrefix[] = ScopePrefix.scopePrefix;
public final int scopePrefix(int index) { return scopePrefix[index]; }
public interface ScopeSuffix {
public final static byte scopeSuffix[] = {
16,54,5,83,5,5,75,63,16,5,
28,33
};
};
public final static byte scopeSuffix[] = ScopeSuffix.scopeSuffix;
public final int scopeSuffix(int index) { return scopeSuffix[index]; }
public interface ScopeLhs {
public final static byte scopeLhs[] = {
24,24,7,29,7,6,26,24,15,10,
33,31
};
};
public final static byte scopeLhs[] = ScopeLhs.scopeLhs;
public final int scopeLhs(int index) { return scopeLhs[index]; }
public interface ScopeLa {
public final static byte scopeLa[] = {
28,32,23,27,23,23,27,23,28,23,
30,27
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
public final int scopeLa(int index) { return scopeLa[index]; }
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
20,20,7,25,7,7,22,20,8,8,
4,1
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
public final int scopeStateSet(int index) { return scopeStateSet[index]; }
public interface ScopeRhs {
public final static byte scopeRhs[] = {0,
80,2,60,0,5,0,80,50,1,2,
60,0,82,13,0,7,0,82,2,1,
0,80,2,0,58,30,0,71,0,75,
33,0,3,61,0,0,75,27,32,83,
13,23,80,2,24,0,83,13,23,80,
2,24,0,40,3,61,7,0,80,2,
24,0,5,6,0,40,3,61,7,0,
76,34,76,0,3,60,0,79,40,1,
25,0,3,55,0
};
};
public final static byte scopeRhs[] = ScopeRhs.scopeRhs;
public final int scopeRhs(int index) { return scopeRhs[index]; }
public interface ScopeState {
public final static char scopeState[] = {0,
776,773,0,772,766,0,744,567,543,519,
727,591,635,674,655,614,495,710,693,470,
445,390,362,418,332,151,302,120,272,242,
89,212,182,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
public final int scopeState(int index) { return scopeState[index]; }
public interface InSymb {
public final static byte inSymb[] = {0,
0,80,76,73,72,22,14,2,57,60,
6,1,18,13,62,70,71,74,24,78,
25,34,39,31,2,80,55,35,2,2,
26,14,2,1,82,80,30,87,84,86,
38,2,37,1,76,23,54,80,1,55,
1,82,49,58,71,80,40,27,50,23,
79,80,13,27,83,33,32,75,27,27,
75,75
};
};
public final static byte inSymb[] = InSymb.inSymb;
public final int inSymb(int index) { return inSymb[index]; }
public interface Name {
public final static String name[] = {
"",
"?",
"::",
":",
"(",
")",
"{",
"}",
"[",
"]",
"->",
"!",
"&&",
"||",
"=",
"==",
"!=",
">=",
"<=",
">",
"<",
"+",
"-",
"*",
"/",
".",
",",
"|",
"$empty",
"IDENT",
"STRING",
"INT_CONST",
"REAL_CONST",
"let",
"switch",
"implies",
"new",
"false",
"true",
"null",
"default",
"case",
"Collection",
"List",
"Set",
"typeSelect",
"collect",
"select",
"reject",
"exists",
"notExists",
"forAll",
"EOF_TOKEN",
"ERROR_TOKEN",
"expression",
"castedExpression",
"type",
"infixExpression",
"chainExpression",
"ifExpression",
"switchExpression",
"orExpression",
"andExpression",
"impliesExpression",
"relationalExpression",
"additiveExpression",
"relationalOperator",
"multiplicativeExpression",
"additiveOperator",
"unaryExpression",
"multiplicativeOperator",
"infixExpressionSuffix",
"featureCall",
"primaryExpression",
"parameterList",
"simpleType",
"collectionExpressionName",
"collectionTypeName",
"qualifiedType"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
public final static int
ERROR_SYMBOL = 52,
SCOPE_UBOUND = 11,
SCOPE_SIZE = 12,
MAX_NAME_LENGTH = 24;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
public final int getScopeUbound() { return SCOPE_UBOUND; }
public final int getScopeSize() { return SCOPE_SIZE; }
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
NUM_STATES = 72,
NT_OFFSET = 52,
LA_STATE_OFFSET = 907,
MAX_LA = 2,
NUM_RULES = 88,
NUM_NONTERMINALS = 38,
NUM_SYMBOLS = 90,
SEGMENT_SIZE = 8192,
START_STATE = 182,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 51,
EOLT_SYMBOL = 51,
ACCEPT_ACTION = 818,
ERROR_ACTION = 819;
public final static boolean BACKTRACK = false;
public final int getNumStates() { return NUM_STATES; }
public final int getNtOffset() { return NT_OFFSET; }
public final int getLaStateOffset() { return LA_STATE_OFFSET; }
public final int getMaxLa() { return MAX_LA; }
public final int getNumRules() { return NUM_RULES; }
public final int getNumNonterminals() { return NUM_NONTERMINALS; }
public final int getNumSymbols() { return NUM_SYMBOLS; }
public final int getSegmentSize() { return SEGMENT_SIZE; }
public final int getStartState() { return START_STATE; }
public final int getStartSymbol() { return lhs[0]; }
public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
public final int getEoftSymbol() { return EOFT_SYMBOL; }
public final int getEoltSymbol() { return EOLT_SYMBOL; }
public final int getAcceptAction() { return ACCEPT_ACTION; }
public final int getErrorAction() { return ERROR_ACTION; }
public final boolean isValidForParser() { return isValidForParser; }
public final boolean getBacktrack() { return BACKTRACK; }
public final int originalState(int state) {
return -baseCheck[state];
}
public final int asi(int state) {
return asb[originalState(state)];
}
public final int nasi(int state) {
return nasb[originalState(state)];
}
public final int inSymbol(int state) {
return inSymb[originalState(state)];
}
public final int ntAction(int state, int sym) {
return baseAction[state + sym];
}
public final int tAction(int state, int sym) {
int i = baseAction[state],
k = i + sym;
return termAction[termCheck[k] == sym ? k : i];
}
public final int lookAhead(int la_state, int sym) {
int k = la_state + sym;
return termAction[termCheck[k] == sym ? k : la_state];
}
}