Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/upc
diff options
context:
space:
mode:
authorMike Kucera2008-05-26 21:38:36 +0000
committerMike Kucera2008-05-26 21:38:36 +0000
commit0676e6587ade38cd6f63a3e827ed732955d3f536 (patch)
treeb99806f43c941550bfc16be1b63c1f43aff7c3d2 /upc
parent109f2fb5fcd5d53e85c096de34037140a757ff83 (diff)
downloadorg.eclipse.cdt-0676e6587ade38cd6f63a3e827ed732955d3f536.tar.gz
org.eclipse.cdt-0676e6587ade38cd6f63a3e827ed732955d3f536.tar.xz
org.eclipse.cdt-0676e6587ade38cd6f63a3e827ed732955d3f536.zip
Bug 233310, support for ambiguous template arguments for LR parser
Diffstat (limited to 'upc')
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g (renamed from upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionStatementParser.g)2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g14
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java6
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java (renamed from upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParser.java)34
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java1281
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java (renamed from upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParsersym.java)16
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParserprs.java1279
8 files changed, 1318 insertions, 1316 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml b/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml
index 0b39b1f8bab..fb3fb979f0b 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml
@@ -32,7 +32,7 @@
</antcall>
<!-- Generate parser for disambiguating declarations vs expression statements -->
<antcall target="generate_upc">
- <param name="grammar_name" value="UPCExpressionStatementParser"/>
+ <param name="grammar_name" value="UPCExpressionParser"/>
</antcall>
<!-- Generate parser for disambiguating cast expressions vs binary expressions-->
<antcall target="generate_upc">
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionStatementParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
index ea3e51ec175..7b345e28f3f 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionStatementParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
@@ -15,7 +15,7 @@
$Import
- C99ExpressionStatementParser.g
+ C99ExpressionParser.g
$End
$Import
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g
index f0d19361368..588730c103c 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g
@@ -22,7 +22,7 @@ import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
-import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnaryExpression;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
./
$End
@@ -65,17 +65,17 @@ literal
-- causes ambiguities because of no type information, solution is SGLR
unary_expression
::= 'upc_localsizeof' unary_expression
- /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnaryExpression.upc_localsizeof); $EndBuild ./
+ /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); $EndBuild ./
| 'upc_localsizeof' '(' type_name ')'
- /. $Build consumeExpressionSizeofTypeId(IUPCASTUnaryExpression.upc_localsizeof); $EndBuild ./
+ /. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); $EndBuild ./
| 'upc_blocksizeof' unary_expression
- /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnaryExpression.upc_blocksizeof); $EndBuild ./
+ /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); $EndBuild ./
| 'upc_blocksizeof' '(' type_name ')'
- /. $Build consumeExpressionSizeofTypeId(IUPCASTUnaryExpression.upc_blocksizeof); $EndBuild ./
+ /. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); $EndBuild ./
| 'upc_elemsizeof' unary_expression
- /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnaryExpression.upc_elemsizeof); $EndBuild ./
+ /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); $EndBuild ./
| 'upc_elemsizeof' '(' type_name ')'
- /. $Build consumeExpressionSizeofTypeId(IUPCASTUnaryExpression.upc_elemsizeof); $EndBuild ./
+ /. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); $EndBuild ./
-----------------------------------------------------------------------------------
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java
index 5360a56e123..1c7ed626755 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java
@@ -28,7 +28,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTDeclSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
-import org.eclipse.cdt.internal.core.dom.parser.upc.UPCExpressionStatementParser;
+import org.eclipse.cdt.internal.core.dom.parser.upc.UPCExpressionParser;
import org.eclipse.cdt.internal.core.dom.parser.upc.UPCNoCastExpressionParser;
import org.eclipse.cdt.internal.core.dom.parser.upc.UPCSizeofExpressionParser;
@@ -61,8 +61,8 @@ public class UPCParserAction extends C99BuildASTParserAction {
}
@Override
- protected IParser getExpressionStatementParser() {
- return new UPCExpressionStatementParser(parser.getOrderedTerminalSymbols());
+ protected IParser getExpressionParser() {
+ return new UPCExpressionParser(parser.getOrderedTerminalSymbols());
}
@Override
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java
index cfa5f7fbdbf..64b67b3dbe5 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParser.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java
@@ -32,9 +32,9 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
-public class UPCExpressionStatementParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+public class UPCExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
- private static ParseTable prs = new UPCExpressionStatementParserprs();
+ private static ParseTable prs = new UPCExpressionParserprs();
private BacktrackingParser btParser;
public BacktrackingParser getParser() { return btParser; }
@@ -69,13 +69,13 @@ public class UPCExpressionStatementParser extends PrsStream implements RuleActio
return (ErrorToken) (err instanceof ErrorToken ? err : null);
}
- public UPCExpressionStatementParser(LexStream lexStream)
+ public UPCExpressionParser(LexStream lexStream)
{
super(lexStream);
try
{
- super.remapTerminalSymbols(orderedTerminalSymbols(), UPCExpressionStatementParserprs.EOFT_SYMBOL);
+ super.remapTerminalSymbols(orderedTerminalSymbols(), UPCExpressionParserprs.EOFT_SYMBOL);
}
catch(NullExportedSymbolsException e) {
}
@@ -88,7 +88,7 @@ public class UPCExpressionStatementParser extends PrsStream implements RuleActio
for (int i = 0; i < unimplemented_symbols.size(); i++)
{
Integer id = (Integer) unimplemented_symbols.get(i);
- System.out.println(" " + UPCExpressionStatementParsersym.orderedTerminalSymbols[id.intValue()]);
+ System.out.println(" " + UPCExpressionParsersym.orderedTerminalSymbols[id.intValue()]);
}
System.out.println();
}
@@ -96,13 +96,13 @@ public class UPCExpressionStatementParser extends PrsStream implements RuleActio
{
throw new Error(new UndefinedEofSymbolException
("The Lexer does not implement the Eof symbol " +
- UPCExpressionStatementParsersym.orderedTerminalSymbols[UPCExpressionStatementParserprs.EOFT_SYMBOL]));
+ UPCExpressionParsersym.orderedTerminalSymbols[UPCExpressionParserprs.EOFT_SYMBOL]));
}
}
- public String[] orderedTerminalSymbols() { return UPCExpressionStatementParsersym.orderedTerminalSymbols; }
- public String getTokenKindName(int kind) { return UPCExpressionStatementParsersym.orderedTerminalSymbols[kind]; }
- public int getEOFTokenKind() { return UPCExpressionStatementParserprs.EOFT_SYMBOL; }
+ public String[] orderedTerminalSymbols() { return UPCExpressionParsersym.orderedTerminalSymbols; }
+ public String getTokenKindName(int kind) { return UPCExpressionParsersym.orderedTerminalSymbols[kind]; }
+ public int getEOFTokenKind() { return UPCExpressionParserprs.EOFT_SYMBOL; }
public PrsStream getParseStream() { return (PrsStream) this; }
//
@@ -147,11 +147,11 @@ public class UPCExpressionStatementParser extends PrsStream implements RuleActio
catch (NotBacktrackParseTableException e)
{
throw new Error(new NotBacktrackParseTableException
- ("Regenerate UPCExpressionStatementParserprs.java with -BACKTRACK option"));
+ ("Regenerate UPCExpressionParserprs.java with -BACKTRACK option"));
}
catch (BadParseSymFileException e)
{
- throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- UPCExpressionStatementParsersym.java"));
+ throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- UPCExpressionParsersym.java"));
}
try
@@ -171,7 +171,7 @@ public class UPCExpressionStatementParser extends PrsStream implements RuleActio
private UPCParserAction action;
-public UPCExpressionStatementParser() { // constructor
+public UPCExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu) {
@@ -213,11 +213,11 @@ public IASTNode getSecondaryParseResult() {
}
public String[] getOrderedTerminalSymbols() {
- return UPCExpressionStatementParsersym.orderedTerminalSymbols;
+ return UPCExpressionParsersym.orderedTerminalSymbols;
}
public String getName() {
- return "UPCExpressionStatementParser"; //$NON-NLS-1$
+ return "UPCExpressionParser"; //$NON-NLS-1$
}
@@ -231,11 +231,11 @@ public void setTokens(List<IToken> tokens) {
token.setKind(tokenMap.mapKind(token.getKind()));
addToken(token);
}
- addToken(new Token(null, 0, 0, UPCExpressionStatementParsersym.TK_EOF_TOKEN));
+ addToken(new Token(null, 0, 0, UPCExpressionParsersym.TK_EOF_TOKEN));
}
-public UPCExpressionStatementParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(UPCExpressionStatementParsersym.orderedTerminalSymbols, mapFrom);
+public UPCExpressionParser(String[] mapFrom) { // constructor
+ tokenMap = new TokenMap(UPCExpressionParsersym.orderedTerminalSymbols, mapFrom);
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java
new file mode 100644
index 00000000000..9d802d02b0b
--- /dev/null
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java
@@ -0,0 +1,1281 @@
+/*******************************************************************************
+* Copyright (c) 2006, 2008 IBM Corporation and others.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+* IBM Corporation - initial API and implementation
+*********************************************************************************/
+
+// This file was generated by LPG
+
+package org.eclipse.cdt.internal.core.dom.parser.upc;
+
+public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UPCExpressionParsersym {
+
+ public interface IsKeyword {
+ public final static byte isKeyword[] = {0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0
+ };
+ };
+ public final static byte isKeyword[] = IsKeyword.isKeyword;
+ public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
+
+ public interface BaseCheck {
+ public final static short baseCheck[] = {0,
+ 0,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,3,1,1,1,4,
+ 4,3,3,2,2,8,1,0,1,1,
+ 1,2,2,2,2,2,2,2,2,2,
+ 4,1,4,1,3,3,3,1,3,3,
+ 1,3,3,1,3,3,3,3,1,3,
+ 3,1,3,1,3,1,3,1,3,1,
+ 3,1,5,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,1,2,1,0,
+ 1,3,1,1,1,1,1,1,1,1,
+ 3,3,2,2,4,1,2,1,1,1,
+ 2,5,7,5,1,0,7,5,9,8,
+ 3,2,2,2,3,2,4,2,2,2,
+ 2,2,1,1,1,1,2,1,2,2,
+ 2,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,3,1,3,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,5,5,6,6,2,2,2,1,0,
+ 1,2,4,2,1,1,1,3,1,1,
+ 2,3,6,7,1,0,1,3,1,3,
+ 1,1,1,1,1,1,3,1,1,1,
+ 1,1,3,1,2,2,1,5,3,1,
+ 3,5,1,3,1,3,2,4,3,5,
+ 4,6,6,3,5,1,1,2,3,4,
+ 1,2,1,3,1,1,3,2,1,1,
+ 1,1,2,1,2,3,1,1,1,3,
+ 1,2,2,2,3,4,5,1,5,1,
+ 1,3,3,4,1,1,2,3,2,3,
+ 2,1,0,1,2,1,1,1,1,1,
+ 2,4,3,6,2,4,1,1,1,1,
+ 1,2,4,2,4,2,4,1,1,2,
+ 1,1,1,3,3,2,1,3,2,3,
+ 2,3,2,2,11,10,10,9,10,9,
+ 9,8,10,9,9,8,9,8,8,7,
+ 10,9,9,8,9,8,8,7,1,1,
+ -43,0,0,0,0,0,0,-2,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -82,-4,-80,0,0,0,0,-5,0,0,
+ 0,0,0,0,0,0,0,-61,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-17,0,-36,0,-6,0,
+ 0,0,0,0,0,0,0,0,-19,-20,
+ -88,-21,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,
+ -189,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -44,0,0,0,0,0,0,0,0,-143,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -22,0,0,-159,-23,-24,0,-56,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -37,-25,0,-184,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-83,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-147,-170,0,-7,0,0,0,
+ 0,0,-59,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -85,0,0,0,0,0,0,0,0,0,
+ -62,0,0,0,0,0,0,-26,0,0,
+ 0,0,0,0,0,0,0,-27,0,0,
+ 0,-8,0,0,0,0,0,0,0,0,
+ 0,-15,0,0,0,0,0,0,0,0,
+ 0,0,0,-3,0,0,0,0,0,0,
+ -158,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-123,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-130,0,0,0,0,0,0,
+ -28,0,0,0,0,0,0,0,0,0,
+ 0,0,-29,-97,0,0,-98,-99,-100,-57,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-204,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-30,0,0,0,0,0,0,-40,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-45,0,0,0,0,0,0,0,0,
+ -63,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,-41,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -65,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,-74,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -67,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -68,0,0,0,0,0,0,-75,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,
+ -70,0,0,0,0,0,0,-76,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -71,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -72,0,0,0,0,0,0,-77,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -73,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -163,0,0,0,0,0,0,-78,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -164,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -187,0,0,0,0,0,0,-101,0,0,
+ 0,0,0,0,0,0,0,0,0,-201,
+ 0,0,0,0,0,0,-102,0,0,0,
+ 0,0,0,0,0,0,0,0,-207,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-211,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-221,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-137,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-174,-146,-144,-86,-79,-202,
+ -168,0,0,-58,0,0,0,0,0,0,
+ -103,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-213,0,0,0,-104,-210,0,
+ 0,0,0,0,0,0,0,0,0,-167,
+ -91,0,0,0,0,0,0,-49,0,0,
+ 0,0,0,0,-127,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-92,
+ -96,-196,0,0,0,-105,0,0,0,0,
+ 0,0,0,-106,0,0,0,0,0,0,
+ -175,-94,-120,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-125,0,0,
+ 0,0,0,0,0,-198,-107,0,0,0,
+ 0,-122,0,0,-188,0,-108,0,0,-124,
+ 0,0,0,0,0,0,0,0,-55,0,
+ 0,0,0,0,0,-142,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-109,
+ 0,-145,-132,-134,-87,0,-220,0,0,0,
+ 0,-110,-150,0,-50,0,0,0,0,0,
+ 0,0,0,0,0,-135,-139,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-111,0,0,0,0,0,0,0,0,
+ -16,0,0,0,0,0,0,0,-165,0,
+ -112,0,-51,0,0,0,0,0,0,-113,
+ 0,0,0,-52,0,0,0,0,0,0,
+ 0,0,0,0,-114,-89,0,0,-53,0,
+ 0,0,0,0,0,-121,0,0,-54,0,
+ 0,0,0,0,0,-84,0,0,0,0,
+ 0,0,0,-90,-178,-129,-152,-179,0,0,
+ 0,0,0,0,0,0,-9,0,0,0,
+ 0,0,0,-214,0,0,0,0,0,0,
+ -93,0,0,0,0,0,0,0,0,0,
+ -186,0,0,0,0,-95,-10,0,0,0,
+ 0,0,0,0,0,0,0,-172,0,-115,
+ -42,0,-203,0,0,0,0,0,0,0,
+ 0,0,0,-116,-117,0,-118,0,0,0,
+ 0,0,-126,0,0,0,0,0,0,0,
+ -151,0,0,0,0,0,0,-166,0,0,
+ 0,0,0,0,0,-222,0,0,0,0,
+ -154,-157,0,-160,-208,-140,0,0,0,0,
+ 0,-119,-131,0,-11,0,0,0,0,0,
+ 0,-12,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-13,
+ 0,0,0,0,0,0,-14,0,0,0,
+ 0,0,0,-18,-133,-171,-136,-31,0,-193,
+ 0,-32,0,-183,0,-33,0,-206,0,-169,
+ -195,-197,0,-199,0,-200,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-34,0,0,0,
+ -35,0,0,0,0,0,0,0,0,0,
+ -46,0,0,0,0,0,0,0,-128,-191,
+ -192,0,-148,0,0,0,0,0,0,-180,
+ 0,-47,0,0,0,0,0,0,-141,0,
+ 0,0,0,-215,0,-48,0,0,0,0,
+ 0,0,-81,0,0,0,0,0,0,-218,
+ -153,0,0,0,0,-155,-205,0,-181,-173,
+ 0,0,0,-216,0,-156,0,-194,0,0,
+ 0,0,-177,-185,0,-219,0,0,0,0,
+ 0,-212,0,-209,-149,0,0,-223,0,0,
+ 0,0,0,0,-217,0,-1,0,0,0,
+ -182,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-161,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-162,0,
+ 0,0,0,0,-190,-176,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-38,0,-39,-60,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,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[] = {
+ 85,7,22,22,20,20,31,31,70,70,
+ 1,1,1,1,2,2,2,3,3,4,
+ 4,4,4,4,4,4,4,54,54,71,
+ 71,5,5,5,5,5,5,5,5,5,
+ 5,5,6,6,8,8,8,8,9,9,
+ 9,10,10,10,11,11,11,11,11,12,
+ 12,12,13,13,14,14,15,15,16,16,
+ 17,17,18,18,19,19,19,19,19,19,
+ 19,19,19,19,19,19,96,30,28,86,
+ 86,73,73,45,97,97,97,97,97,97,
+ 97,98,98,98,99,99,104,104,105,105,
+ 100,100,101,101,101,107,107,102,102,102,
+ 102,103,103,103,103,103,106,106,21,21,
+ 21,21,21,33,33,33,79,79,74,74,
+ 74,74,75,75,75,76,76,76,77,77,
+ 77,78,78,78,108,108,109,109,110,34,
+ 36,36,36,36,36,55,57,57,57,57,
+ 57,57,57,57,57,57,57,57,67,67,
+ 32,32,64,64,64,64,65,65,65,58,
+ 58,59,59,51,51,51,27,87,87,80,
+ 81,81,81,66,66,82,82,83,83,68,
+ 68,23,24,24,24,35,50,50,37,37,
+ 37,37,40,40,42,38,38,39,43,43,
+ 111,111,41,112,112,88,88,29,29,29,
+ 29,29,29,29,29,29,84,52,52,52,
+ 52,61,61,60,60,60,62,62,53,53,
+ 89,89,44,44,63,63,63,46,46,46,
+ 47,48,48,48,49,49,49,49,56,56,
+ 72,72,72,72,69,90,91,91,92,92,
+ 93,93,113,113,114,114,115,115,115,115,
+ 117,117,116,116,116,118,118,85,85,1,
+ 1,1,5,5,5,5,5,5,23,23,
+ 25,25,26,26,94,94,94,97,119,119,
+ 119,119,119,119,119,102,102,102,102,102,
+ 102,102,102,102,102,102,102,102,102,102,
+ 102,102,102,102,102,102,102,102,102,120,
+ 120,1,14,19,15,415,713,44,33,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 91,65,51,472,134,211,318,319,830,14,
+ 19,15,415,316,136,133,135,159,800,14,
+ 19,15,415,42,44,20,430,429,511,432,
+ 516,515,618,532,1390,1149,138,138,165,860,
+ 14,19,15,415,314,142,145,148,151,74,
+ 430,359,186,1416,382,1325,1406,1434,1461,1476,
+ 1231,734,14,19,15,415,713,44,514,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 278,734,14,19,15,415,713,44,514,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 278,800,14,19,15,415,42,44,23,718,
+ 440,14,19,15,415,713,44,280,430,429,
+ 511,432,516,515,618,532,701,628,74,1379,
+ 281,73,238,661,780,173,184,280,800,14,
+ 19,15,415,42,44,320,430,429,511,1287,
+ 281,138,285,1545,486,14,19,15,415,713,
+ 44,514,430,429,511,432,516,515,618,532,
+ 701,628,74,278,394,14,19,15,415,713,
+ 44,1268,430,429,511,432,516,515,618,532,
+ 701,628,74,1290,340,65,237,890,14,19,
+ 15,415,312,800,14,19,15,415,42,44,
+ 282,430,429,511,432,516,1362,134,211,318,
+ 319,302,22,283,1724,1285,286,136,133,135,
+ 159,800,14,19,15,415,42,44,126,430,
+ 429,511,432,516,515,618,1405,1232,350,138,
+ 272,165,920,14,19,15,415,40,142,145,
+ 148,151,950,14,19,15,415,33,1325,1406,
+ 1434,1461,1476,1231,800,14,19,15,415,713,
+ 44,654,430,429,511,432,516,515,618,532,
+ 701,628,74,91,980,14,19,15,415,713,
+ 44,1679,430,429,511,432,516,515,618,532,
+ 701,628,74,1306,612,14,19,15,415,42,
+ 44,162,430,429,511,432,516,515,618,532,
+ 701,628,93,109,1010,1604,326,1050,435,471,
+ 800,14,19,15,415,42,44,382,430,429,
+ 511,1320,767,14,19,15,415,713,44,1333,
+ 430,429,511,432,516,515,618,532,701,628,
+ 74,278,800,14,19,15,415,713,44,573,
+ 430,429,511,432,516,515,618,532,701,628,
+ 74,92,800,14,19,15,415,42,44,1693,
+ 719,800,14,19,15,415,713,44,284,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 85,800,14,19,15,415,713,44,573,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 84,800,14,19,15,415,713,44,16,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 83,800,14,19,15,415,713,44,573,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 82,800,14,19,15,415,713,44,1490,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 81,800,14,19,15,415,713,44,573,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 80,800,14,19,15,415,713,44,1504,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 79,800,14,19,15,415,713,44,573,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 78,800,14,19,15,415,713,44,1505,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 77,800,14,19,15,415,713,44,573,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 76,800,14,19,15,415,713,44,1507,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 75,800,14,19,15,415,713,44,573,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 1660,800,14,19,15,415,713,44,1552,430,
+ 429,511,432,516,515,618,532,701,628,74,
+ 1661,800,14,19,15,415,42,44,86,430,
+ 429,511,432,516,515,618,532,701,628,93,
+ 800,14,19,15,415,42,44,200,430,429,
+ 511,432,516,515,618,532,701,628,93,800,
+ 14,19,15,415,42,44,1707,430,429,511,
+ 432,516,515,618,532,701,628,93,800,14,
+ 19,15,415,42,44,210,430,429,511,432,
+ 516,515,618,532,701,628,93,800,14,19,
+ 15,415,42,44,1714,430,429,511,432,516,
+ 515,618,532,701,628,93,800,14,19,15,
+ 415,42,44,201,430,429,511,432,516,515,
+ 618,532,701,628,73,480,543,292,369,573,
+ 605,709,202,575,800,14,19,15,415,42,
+ 44,249,430,429,511,432,516,515,1332,21,
+ 252,211,318,319,446,271,183,273,287,525,
+ 226,1454,1670,216,1161,219,1610,221,222,227,
+ 135,663,264,1158,601,269,260,1718,800,14,
+ 19,15,415,42,44,573,430,429,1048,261,
+ 274,216,1161,219,1610,221,222,227,208,271,
+ 805,340,1033,1553,1600,270,354,216,1161,219,
+ 1610,221,222,227,474,258,264,1158,601,269,
+ 1600,240,835,6,134,211,318,319,1276,193,
+ 441,271,1595,1215,137,133,135,159,121,217,
+ 1161,219,1610,221,222,227,405,532,266,1158,
+ 601,269,64,1454,1597,812,139,244,165,1546,
+ 472,251,211,318,319,143,146,149,152,800,
+ 14,19,15,415,42,44,472,430,429,511,
+ 432,1277,239,216,1161,219,1610,221,222,227,
+ 301,194,573,6,6,516,1732,405,241,1157,
+ 1701,1706,572,472,1454,800,14,19,15,415,
+ 42,44,276,430,429,1067,6,235,134,211,
+ 318,319,490,1716,1766,324,197,199,141,133,
+ 135,159,610,1189,216,1161,219,1610,221,222,
+ 227,950,14,19,15,415,32,1732,287,472,
+ 140,426,165,800,14,19,15,415,42,44,
+ 219,430,429,1171,800,14,19,15,415,42,
+ 44,240,430,429,1188,618,1059,198,199,800,
+ 14,19,15,415,42,44,1074,430,1236,800,
+ 14,19,15,415,42,44,1148,430,1244,134,
+ 211,318,319,1659,1091,480,599,6,692,144,
+ 133,135,159,1735,1710,271,274,800,14,19,
+ 15,415,42,39,65,271,275,134,211,318,
+ 319,1101,266,1158,601,269,182,147,133,135,
+ 159,605,264,1158,601,269,1133,800,14,19,
+ 15,415,42,38,134,211,318,319,573,1215,
+ 280,517,1616,692,150,133,135,159,381,134,
+ 211,318,319,289,577,619,1536,620,277,153,
+ 133,135,159,566,14,19,15,415,42,35,
+ 271,566,14,19,15,415,42,35,566,14,
+ 19,15,415,42,35,244,78,264,1158,601,
+ 269,6,6,325,6,654,121,1684,1723,1751,
+ 245,461,656,665,263,800,14,19,15,415,
+ 42,37,800,14,19,15,415,42,36,251,
+ 211,318,319,217,1161,219,1610,221,222,227,
+ 800,14,19,15,415,42,35,800,14,19,
+ 15,415,42,34,6,699,712,700,6,1745,
+ 573,361,6,574,480,361,6,1779,605,361,
+ 866,599,480,361,480,196,480,1156,1734,196,
+ 223,1491,87,196,808,1491,87,196,808,1491,
+ 87,229,808,1491,87,26,808,6,759,225,
+ 291,6,848,185,361,184,888,203,361,257,
+ 928,800,14,19,15,415,42,47,196,478,
+ 472,472,196,653,1491,87,574,808,1491,87,
+ 114,808,800,14,19,15,415,42,46,121,
+ 1156,968,242,243,480,1008,800,14,19,15,
+ 415,42,45,701,14,19,15,415,42,43,
+ 573,55,251,211,318,319,112,472,574,693,
+ 169,1416,256,574,472,204,536,574,478,1322,
+ 228,1663,196,283,228,574,596,196,1251,288,
+ 574,196,452,1251,597,342,290,1251,647,1156,
+ 1157,574,574,1918,196,480,232,658,1670,1918,
+ 1251,536,191,1918,654,1156,1156,191,1918,1155,
+ 1786,191,1918,1001,1435,1786,121,1918,1612,1786,
+ 1232,256,1918,1918,191,87,279,307,1322,349,
+ 1663,1614,1786,1670,207,425,226,256,256,251,
+ 211,318,319,574,1700,1488,1663,1663,1438,1709,
+ 1918,1918,252,211,318,319,1918,196,252,211,
+ 318,319,1918,1251,476,1918,6,6,1918,207,
+ 1918,654,1726,654,654,1918,1918,1785,1918,1918,
+ 1918,1918,368,1493,1709,1918,1918,192,1918,1918,
+ 1918,1918,89,1918,87,87,383,1381,1918,1918,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
+ 1159,1918,0,321,694,0,17,179,0,18,
+ 178,0,1,2142,0,1,2153,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,0,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,0,0,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 0,51,52,53,0,1,0,3,0,5,
+ 6,7,8,0,0,11,12,13,4,6,
+ 7,8,0,0,11,12,13,0,1,2,
+ 0,4,9,10,30,0,0,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,54,51,52,53,0,55,
+ 56,0,1,0,3,0,5,6,7,8,
+ 0,89,11,12,13,0,6,7,8,57,
+ 58,11,12,13,0,1,2,0,1,5,
+ 3,30,57,58,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,46,47,48,
+ 49,0,51,52,53,31,55,56,0,1,
+ 0,3,0,5,6,7,8,69,0,11,
+ 12,13,69,0,50,0,14,79,80,81,
+ 82,83,84,85,86,87,88,72,30,0,
+ 0,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,48,49,0,51,
+ 52,53,0,55,56,0,1,0,3,0,
+ 5,6,7,8,0,74,11,12,13,0,
+ 6,7,8,0,5,11,12,13,0,64,
+ 65,66,67,70,71,30,57,58,33,34,
+ 35,36,37,38,39,40,41,42,43,44,
+ 45,46,47,48,49,0,51,52,53,0,
+ 55,56,0,1,0,3,0,5,6,7,
+ 8,0,74,11,12,13,69,6,7,8,
+ 0,0,11,12,13,57,58,64,65,66,
+ 67,32,30,0,75,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 48,49,31,51,52,53,0,55,56,0,
+ 1,0,3,57,58,6,7,8,0,0,
+ 11,12,13,0,6,7,8,73,0,11,
+ 12,13,9,10,64,65,66,67,0,30,
+ 2,0,33,34,35,36,37,38,39,40,
+ 41,42,43,44,45,46,47,48,49,31,
+ 51,52,53,0,1,2,3,4,5,31,
+ 0,60,9,10,0,1,2,14,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,30,0,0,77,78,0,0,
+ 6,7,8,4,0,11,12,13,4,0,
+ 1,2,3,4,5,0,1,2,9,10,
+ 0,0,59,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,30,
+ 0,0,68,0,4,0,5,0,0,0,
+ 5,4,9,10,5,0,1,2,3,4,
+ 5,62,63,68,9,10,62,63,59,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,0,0,32,2,68,
+ 4,6,7,8,0,50,11,12,13,5,
+ 59,0,62,63,55,0,1,60,3,0,
+ 55,0,0,1,2,30,4,31,33,34,
+ 35,36,37,38,39,40,41,42,43,44,
+ 45,46,47,48,49,0,1,2,3,4,
+ 5,0,0,31,9,10,0,5,54,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,0,0,1,0,75,
+ 5,70,71,5,0,1,0,3,32,0,
+ 0,0,1,2,3,4,5,0,0,0,
+ 9,10,50,14,59,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,0,1,72,3,50,0,1,50,54,
+ 32,32,0,0,0,0,60,0,1,2,
+ 3,4,0,1,0,3,9,10,0,0,
+ 59,14,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,32,0,0,
+ 73,0,0,0,32,0,32,0,0,0,
+ 0,1,2,3,4,0,54,54,0,9,
+ 10,0,0,56,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 32,32,32,0,1,2,3,4,0,31,
+ 0,0,9,10,0,54,54,14,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,0,0,32,0,1,2,3,
+ 4,60,0,0,0,9,10,0,0,0,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,0,0,32,0,
+ 1,2,3,4,0,1,0,3,9,10,
+ 31,0,0,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 1,2,3,4,0,1,32,3,9,10,
+ 61,0,31,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 1,2,3,4,0,0,32,2,9,10,
+ 0,0,61,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 1,2,3,4,0,0,31,0,9,10,
+ 0,0,0,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 1,2,3,4,0,0,0,0,9,10,
+ 0,0,0,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 1,2,3,4,0,0,0,0,9,10,
+ 0,0,0,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 1,2,3,4,0,0,0,0,9,10,
+ 0,0,0,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 0,2,0,4,5,6,7,8,0,0,
+ 11,12,13,0,0,0,0,0,0,0,
+ 0,0,0,1,2,0,4,0,0,30,
+ 31,0,33,34,35,36,37,0,0,0,
+ 0,2,0,4,5,6,7,8,0,50,
+ 11,12,13,31,6,7,8,0,0,11,
+ 12,13,0,0,0,2,0,4,0,30,
+ 31,0,33,34,35,36,37,0,30,0,
+ 0,33,34,35,36,37,6,7,8,50,
+ 0,11,12,13,31,0,6,7,8,0,
+ 0,11,12,13,0,0,0,0,0,0,
+ 30,0,0,33,34,35,36,37,0,0,
+ 30,0,0,33,34,35,36,37,6,7,
+ 8,0,0,11,12,13,0,0,0,2,
+ 2,0,5,0,0,0,0,0,0,0,
+ 0,0,30,15,16,33,34,35,36,37,
+ 0,0,0,0,0,0,0,0,31,31,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,50,0,0,
+ 0,0,0,0,0,0,0,0,0,61,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,76,0,0,0,0,0,
+ 0,0,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,
+ 1918,714,1594,717,1580,1,2130,2131,2132,1562,
+ 1555,2240,431,2241,1587,1371,642,632,1928,1929,
+ 1930,1931,1477,1447,2227,2228,2229,577,419,388,
+ 2080,1918,1918,2081,2079,2133,2082,2078,2085,2090,
+ 2089,2087,2088,2086,2091,2092,2084,2093,2094,2095,
+ 88,1252,1230,1201,1918,1,1918,1,1918,190,
+ 1,1,1,247,1918,1,1,1,1282,1,
+ 1,1,54,51,1,1,1,1918,2142,1184,
+ 1918,1347,772,481,1,58,1918,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,752,1,1,1,42,190,
+ 2113,1918,1,209,1,1918,190,1,1,1,
+ 1918,1902,1,1,1,66,2130,2131,2132,1409,
+ 1419,2240,431,2241,1,1912,1200,1918,1947,1923,
+ 1948,1,1409,1419,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,70,1,1,1,554,190,2113,1918,1,
+ 1918,1,64,190,1,1,1,981,1918,1,
+ 1,1,1060,62,1922,59,1299,961,941,921,
+ 901,881,841,861,821,801,781,583,1,57,
+ 1918,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,71,1,
+ 1,1,1918,190,2113,1918,1,1918,1,1918,
+ 189,1,1,1,248,611,1,1,1,1,
+ 1,1,1,61,1927,1,1,1,56,1394,
+ 1383,1335,1208,720,518,1,1409,1419,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1918,1,1,1,317,
+ 189,2113,1918,1,68,1,55,190,1,1,
+ 1,246,611,1,1,1,732,2130,2131,2132,
+ 60,268,2240,431,2241,1409,1419,1394,1383,1335,
+ 1208,1253,1,1918,1926,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,554,1,1,1,1918,190,2113,1918,
+ 2097,1,2096,1409,1419,2130,2131,2132,249,72,
+ 2240,431,2241,53,2130,2131,2132,1164,321,2240,
+ 431,2241,772,481,1394,1383,1335,1208,267,2080,
+ 1436,1918,2081,2079,2133,2082,2078,2085,2090,2089,
+ 2087,2088,2086,2091,2092,2084,2093,2094,2095,1903,
+ 1252,1230,1201,1,1935,1594,1936,1513,1921,554,
+ 1918,2173,1562,1555,1,2142,1184,1587,1371,642,
+ 632,1928,1929,1930,1931,1477,1447,2227,2228,2229,
+ 577,419,388,674,250,1918,398,1817,1918,48,
+ 2130,2131,2132,1686,50,2240,431,2241,1686,1918,
+ 1935,1594,1936,1528,1921,1,2142,1184,1562,1555,
+ 1918,200,1920,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,1021,
+ 49,1918,1098,52,1686,1,1921,1,1918,1918,
+ 90,1282,772,481,1925,1,1935,1594,1936,1580,
+ 27,1672,1651,1136,1562,1555,1672,1651,1920,1587,
+ 1371,642,632,1928,1929,1930,1931,1477,1447,2227,
+ 2228,2229,577,419,388,128,262,1544,1426,1117,
+ 1,2130,2131,2132,1918,90,2240,431,2241,1927,
+ 1920,63,1672,1651,1924,206,2098,2173,2099,1918,
+ 27,1918,259,2142,1200,2080,1,554,2081,2079,
+ 2133,2082,2078,2085,2090,2089,2087,2088,2086,2091,
+ 2092,2084,2093,2094,2095,1918,1935,1594,1936,1580,
+ 1921,67,1918,554,1562,1555,315,1923,1327,1587,
+ 1371,642,632,1928,1929,1930,1931,1477,1447,2227,
+ 2228,2229,577,419,388,1918,1,1915,1,1926,
+ 1923,720,518,1923,1918,2098,1918,2099,1253,65,
+ 1918,1918,1935,1594,1936,1521,1921,69,313,41,
+ 1562,1555,1922,1299,1920,1587,1371,642,632,1928,
+ 1929,1930,1931,1477,1447,2227,2228,2229,577,419,
+ 388,205,1160,583,1160,1922,1918,2154,1922,1738,
+ 1253,1253,253,28,1918,1918,2173,1918,1,1,
+ 1,1,1918,2098,187,2099,1,1,1918,1918,
+ 1920,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1253,1918,1918,
+ 1164,28,205,1918,1323,1918,1437,1918,186,188,
+ 1918,1935,1594,1936,1580,1918,1596,534,218,1562,
+ 1555,1,1918,2226,1587,1371,642,632,1928,1929,
+ 1930,1931,1477,1447,2227,2228,2229,577,419,388,
+ 1541,1542,1253,1,1935,1594,1936,1580,1918,554,
+ 1918,1918,1562,1555,1918,1945,2920,1587,1371,642,
+ 632,1928,1929,1930,1931,1477,1447,2227,2228,2229,
+ 577,419,388,1918,1918,1544,1918,1935,1594,1936,
+ 1580,2172,1918,1918,1918,1562,1555,1918,1918,1918,
+ 1587,1371,642,632,1928,1929,1930,1931,1477,1447,
+ 2227,2228,2229,577,419,388,1918,1918,1544,1918,
+ 1935,1594,1936,1580,1918,2098,1918,2099,1562,1555,
+ 1041,285,1918,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,1918,
+ 1935,1598,1936,1580,1918,2098,1324,2099,1562,1555,
+ 1471,1918,1079,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,1918,
+ 1935,1602,1936,1580,1918,220,1346,1611,1562,1555,
+ 1918,1918,1608,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,1918,
+ 1935,1606,1936,1580,1918,1918,554,1918,1562,1555,
+ 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,1918,
+ 1935,1637,1936,1580,1918,1918,1918,1918,1562,1555,
+ 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,1918,
+ 1935,1641,1936,1580,1918,1918,1918,1918,1562,1555,
+ 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,1,
+ 1935,1594,1936,1580,1918,1918,1918,1918,1562,1555,
+ 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
+ 1931,1477,1447,2227,2228,2229,577,419,388,17,
+ 1918,1906,1918,1906,1906,179,179,179,1918,1918,
+ 179,179,179,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,265,2142,1200,1918,1347,1918,1918,179,
+ 1906,1918,179,179,179,179,179,1918,1918,18,
+ 1918,1909,1918,1909,1909,178,178,178,129,1906,
+ 178,178,178,554,2130,2131,2132,1918,1918,2240,
+ 431,2241,1918,265,1918,1426,1918,1347,1918,178,
+ 1909,1918,178,178,178,178,178,1918,2080,1918,
+ 130,2081,2079,2133,2082,2078,2130,2131,2132,1909,
+ 131,2240,431,2241,554,1918,2130,2131,2132,1918,
+ 1918,2240,431,2241,1918,1918,1918,1918,1918,1918,
+ 2080,1918,1918,2081,2079,2133,2082,2078,1918,1918,
+ 2080,1918,132,2081,2079,2133,2082,2078,2130,2131,
+ 2132,1918,1918,2240,431,2241,1918,1,31,1426,
+ 1814,1918,1923,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,2080,1942,1943,2081,2079,2133,2082,2078,
+ 1918,1918,1918,1918,1918,1918,1918,1918,554,1816,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,1918,1918,1918,1918,1918,1922,1918,1918,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,531,
+ 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
+ 1918,1918,1918,1918,417
+ };
+ };
+ 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,
+ 463,1,168,41,168,168,168,168,168,168,
+ 168,168,168,168,168,168,3,55,378,375,
+ 382,380,388,386,390,389,392,391,10,168,
+ 55,55,55,55,55,360,360,487,168,240,
+ 240,315,55,168,168,168,168,168,168,168,
+ 168,168,168,168,168,168,168,168,168,168,
+ 168,168,168,168,168,168,168,168,168,168,
+ 168,168,168,240,240,240,240,240,240,45,
+ 135,319,159,327,238,237,287,48,299,299,
+ 155,155,299,155,299,75,191,191,375,375,
+ 380,380,380,380,378,378,386,382,382,389,
+ 388,424,391,390,363,363,363,363,157,133,
+ 315,307,162,45,98,106,240,426,330,106,
+ 403,254,403,254,321,403,168,133,307,98,
+ 98,45,105,159,240,313,75,239,332,45,
+ 106,254,254,254,254,321,321,323,251,133,
+ 98,307,168,168,45,106,327,419,418,319,
+ 332,240,254,284,243,254,254,284,323,458,
+ 323,321,284,131,461,360,168,250,133,307,
+ 45,45,240,426,330,313,284,245,284,284,
+ 168,360,323,135,45,360,168,323,332,399,
+ 168,398,187,319,284,45,284,240,239,245,
+ 168,187,361
+ };
+ };
+ 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,
+ 89,0,75,31,2,61,76,15,16,14,
+ 4,9,10,62,63,57,58,64,65,66,
+ 67,70,71,72,73,74,77,78,55,69,
+ 79,80,81,82,83,85,84,86,87,88,
+ 68,50,89,54,59,5,0,5,68,54,
+ 59,50,75,31,17,18,19,20,21,2,
+ 15,16,14,4,9,10,22,23,24,25,
+ 26,27,28,29,3,1,51,52,53,46,
+ 38,43,41,42,40,39,44,45,47,48,
+ 49,37,34,30,33,36,35,6,7,8,
+ 12,11,13,0,30,59,5,15,16,14,
+ 4,9,10,22,23,17,27,28,29,2,
+ 1,3,18,19,20,21,24,25,26,0,
+ 5,55,31,61,15,16,14,4,9,10,
+ 22,23,17,27,28,29,2,18,19,20,
+ 21,24,25,26,1,3,32,0,59,5,
+ 30,6,7,8,11,12,13,18,19,20,
+ 21,24,25,26,3,15,16,14,9,10,
+ 22,23,17,27,28,29,4,2,1,0,
+ 7,30,37,8,36,35,34,6,33,11,
+ 12,13,61,76,15,16,14,9,10,62,
+ 63,57,58,64,65,66,67,70,71,72,
+ 73,74,77,78,69,79,80,81,82,83,
+ 84,85,86,87,88,4,2,31,54,50,
+ 5,0,75,5,4,1,2,68,0,69,
+ 31,61,0,33,38,6,39,51,34,40,
+ 35,41,42,36,7,43,44,30,52,37,
+ 53,45,46,8,47,48,49,1,3,11,
+ 12,13,56,55,5,0,46,38,43,41,
+ 42,40,39,44,45,47,48,49,68,75,
+ 37,34,30,33,36,35,6,7,8,11,
+ 12,13,54,1,5,50,2,31,4,0,
+ 1,3,5,55,54,0,4,2,31,50,
+ 5,33,38,6,39,51,34,40,35,41,
+ 42,36,7,43,44,30,52,37,53,45,
+ 46,8,47,48,49,11,12,13,60,3,
+ 1,0,69,79,80,81,82,83,84,85,
+ 86,87,88,32,4,62,63,9,10,58,
+ 57,64,65,66,67,70,71,14,72,73,
+ 74,59,50,55,89,77,78,68,75,5,
+ 54,0,33,6,34,35,36,7,30,37,
+ 8,1,4,11,12,13,32,2,5,54,
+ 50,75,31,68,0,33,38,6,39,51,
+ 34,40,35,41,42,36,7,43,44,30,
+ 52,37,53,45,46,8,47,48,49,1,
+ 3,11,12,13,60,4,0,5,54,55,
+ 69,0,17,18,19,20,21,1,3,2,
+ 15,16,14,4,9,10,22,23,24,25,
+ 26,27,28,29,56,0,5,50,17,18,
+ 19,20,21,1,3,2,15,16,14,4,
+ 9,10,22,23,24,25,26,27,28,29,
+ 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,
+ 82,8,17,8,17,17,17,17,17,17,
+ 17,17,17,17,17,17,8,66,8,8,
+ 8,8,8,8,8,8,8,8,8,17,
+ 66,66,66,66,66,9,9,89,67,64,
+ 64,59,1,17,17,17,17,17,17,17,
+ 17,17,17,17,17,17,17,17,17,67,
+ 17,17,17,17,17,17,17,17,17,17,
+ 17,17,17,64,64,64,64,64,64,21,
+ 17,72,19,58,23,23,44,11,45,45,
+ 38,38,45,38,45,40,8,8,8,8,
+ 8,8,8,8,8,8,8,8,8,8,
+ 8,8,8,8,8,8,8,8,8,80,
+ 60,80,16,21,50,20,64,70,63,20,
+ 8,80,8,80,80,8,17,16,80,50,
+ 50,21,20,29,64,32,2,8,79,21,
+ 20,80,74,80,74,38,80,25,13,80,
+ 50,29,17,17,21,20,31,23,23,72,
+ 79,64,74,27,47,85,74,27,25,8,
+ 8,38,27,15,8,38,17,56,16,29,
+ 21,21,64,70,63,33,27,52,27,27,
+ 17,38,25,17,21,38,17,25,78,48,
+ 17,8,52,72,27,21,27,64,64,52,
+ 17,35,8
+ };
+ };
+ public final static byte nasb[] = Nasb.nasb;
+ public final int nasb(int index) { return nasb[index]; }
+
+ public interface Nasr {
+ public final static char nasr[] = {0,
+ 4,79,78,77,76,75,74,0,71,0,
+ 94,0,91,0,69,7,4,0,7,4,
+ 22,0,29,0,54,0,31,0,23,0,
+ 20,7,48,47,40,38,0,32,0,64,
+ 65,66,67,55,33,0,7,70,0,61,
+ 0,7,40,38,0,93,0,20,7,48,
+ 47,0,7,20,0,27,7,30,0,7,
+ 21,52,0,59,7,27,0,88,21,7,
+ 0,7,85,0,7,27,51,0,7,86,
+ 0
+ };
+ };
+ public final static char nasr[] = Nasr.nasr;
+ public final int nasr(int index) { return nasr[index]; }
+
+ public interface TerminalIndex {
+ public final static char terminalIndex[] = {0,
+ 85,2,86,9,87,48,64,76,10,11,
+ 96,97,98,8,6,7,68,81,82,83,
+ 84,12,13,93,94,95,100,101,102,69,
+ 1,3,44,55,60,63,72,47,52,56,
+ 61,62,66,67,74,75,78,79,80,90,
+ 54,70,73,42,91,107,16,17,89,30,
+ 4,14,15,18,19,20,21,29,31,22,
+ 23,24,25,26,92,5,27,28,32,33,
+ 34,35,36,37,38,39,40,41,108,45,
+ 46,49,50,51,53,57,58,59,65,71,
+ 77,88,99,103,104,105,106
+ };
+ };
+ public final static char terminalIndex[] = TerminalIndex.terminalIndex;
+ public final int terminalIndex(int index) { return terminalIndex[index]; }
+
+ public interface NonterminalIndex {
+ public final static char nonterminalIndex[] = {0,
+ 0,0,0,115,119,120,0,121,122,123,
+ 124,125,126,127,128,129,130,131,132,111,
+ 136,110,143,0,0,0,154,0,163,114,
+ 112,135,142,0,0,0,159,161,0,162,
+ 0,0,0,117,134,172,173,174,0,151,
+ 153,160,169,0,145,150,0,0,152,164,
+ 167,168,171,146,147,148,149,158,175,113,
+ 116,118,133,137,138,139,140,141,144,156,
+ 0,0,157,166,109,0,155,165,170,176,
+ 177,0,178,179,0,0,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 char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
+ public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
+
+ public interface ScopePrefix {
+ public final static char scopePrefix[] = {
+ 214,118,57,67,125,145,151,188,26,33,
+ 85,103,157,162,73,6,12,16,38,81,
+ 50,135,210,229,233,50,50,197,50,1,
+ 1,1,42,45,90,113,45,237,20,139,
+ 204,179,204,131,167,167,167,167,167,93,
+ 93,93
+ };
+ };
+ public final static char scopePrefix[] = ScopePrefix.scopePrefix;
+ public final int scopePrefix(int index) { return scopePrefix[index]; }
+
+ public interface ScopeSuffix {
+ public final static char scopeSuffix[] = {
+ 31,31,4,4,31,31,31,194,31,10,
+ 4,10,31,31,78,10,10,10,10,4,
+ 4,133,10,10,4,54,78,201,63,4,
+ 4,4,10,48,4,10,116,10,23,142,
+ 207,182,222,133,169,171,173,175,177,100,
+ 95,108
+ };
+ };
+ public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
+ public final int scopeSuffix(int index) { return scopeSuffix[index]; }
+
+ public interface ScopeLhs {
+ public final static char scopeLhs[] = {
+ 4,66,29,29,66,64,64,101,56,49,
+ 29,43,64,64,29,5,5,5,49,29,
+ 29,51,5,4,4,29,29,18,29,94,
+ 93,92,47,63,29,40,50,2,69,51,
+ 6,102,4,51,78,77,76,75,74,43,
+ 41,43
+ };
+ };
+ public final static char scopeLhs[] = ScopeLhs.scopeLhs;
+ public final int scopeLhs(int index) { return scopeLhs[index]; }
+
+ public interface ScopeLa {
+ public final static byte scopeLa[] = {
+ 55,55,59,59,55,55,55,95,55,50,
+ 59,50,55,55,18,50,50,50,50,59,
+ 59,75,50,50,59,4,18,68,30,59,
+ 59,59,50,2,59,50,1,50,69,1,
+ 50,101,50,75,3,51,52,52,46,2,
+ 2,2
+ };
+ };
+ public final static byte scopeLa[] = ScopeLa.scopeLa;
+ public final int scopeLa(int index) { return scopeLa[index]; }
+
+ public interface ScopeStateSet {
+ public final static byte scopeStateSet[] = {
+ 36,21,25,25,21,21,21,-1,96,29,
+ 25,11,21,21,25,36,36,36,29,25,
+ 25,5,36,36,36,25,25,70,25,19,
+ 1,3,29,31,25,11,13,36,97,5,
+ 42,-1,36,5,22,22,22,22,22,11,
+ 11,11
+ };
+ };
+ 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,
+ 152,31,0,110,0,151,2,29,0,111,
+ 0,151,2,28,0,151,2,27,0,197,
+ 114,0,31,150,0,161,179,114,32,0,
+ 112,0,167,114,2,154,0,167,114,2,
+ 0,170,2,0,159,114,0,172,0,191,
+ 114,31,0,9,110,0,126,30,191,114,
+ 31,0,69,132,110,0,126,191,114,30,
+ 31,0,191,114,30,31,0,132,110,0,
+ 126,30,31,0,126,191,114,31,0,126,
+ 31,0,147,0,2,0,165,111,0,2,
+ 111,0,167,114,2,147,0,2,0,164,
+ 111,0,157,2,0,159,0,161,189,114,
+ 32,139,51,0,161,189,114,32,51,0,
+ 134,0,113,0,194,114,134,0,114,134,
+ 0,155,113,0,165,114,32,139,53,0,
+ 165,114,32,139,52,0,165,114,32,53,
+ 0,165,114,32,52,0,186,0,149,0,
+ 148,0,147,0,146,0,145,0,204,94,
+ 0,77,2,114,111,113,0,204,127,137,
+ 2,98,0,53,0,0,137,78,124,0,
+ 29,131,0,151,2,0,111,120,0,151,
+ 2,17,0,161,179,114,32,127,151,2,
+ 0,111,3,0,118,0,112,0,193,2,
+ 111,0,137,31,111,0,137,2,0
+ };
+ };
+ public final static char scopeRhs[] = ScopeRhs.scopeRhs;
+ public final int scopeRhs(int index) { return scopeRhs[index]; }
+
+ public interface ScopeState {
+ public final static char scopeState[] = {0,
+ 1285,0,514,0,1723,1786,1710,1706,1701,0,
+ 1536,1232,1327,1184,1276,1200,1156,0,431,0,
+ 1231,574,361,0,1610,1161,1158,601,1232,1416,
+ 1200,1156,1426,1491,0,1371,642,632,577,419,
+ 388,1528,1521,1513,1693,611,398,583,1164,720,
+ 518,1299,1419,1409,1394,1383,1335,1208,1686,1672,
+ 1651,772,481,1587,1580,1562,1555,1477,1447,1117,
+ 1098,1079,1060,1041,1021,1001,490,1136,694,674,
+ 554,981,961,941,921,901,881,861,841,821,
+ 801,781,361,752,654,732,461,534,441,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,192,114,180,29,28,27,17,23,22,
+ 10,9,4,14,16,15,111,2,116,115,
+ 118,117,120,119,122,121,124,123,112,54,
+ 2,2,2,2,2,76,61,2,31,151,
+ 137,134,114,10,9,63,62,4,67,66,
+ 65,64,57,58,14,71,70,73,72,78,
+ 77,74,88,87,86,84,85,83,82,81,
+ 80,79,69,151,151,151,151,151,193,137,
+ 127,114,31,2,155,154,181,12,182,183,
+ 53,52,184,51,185,186,1,3,115,115,
+ 117,117,117,117,116,116,119,118,118,121,
+ 120,137,123,122,127,127,127,127,127,32,
+ 159,4,30,126,114,4,170,114,2,31,
+ 139,32,139,32,32,139,68,114,4,114,
+ 114,126,191,168,167,128,114,169,114,152,
+ 4,32,114,32,114,114,32,179,114,32,
+ 114,168,191,30,126,4,2,145,147,114,
+ 54,167,114,165,134,166,114,165,189,139,
+ 190,114,161,54,197,61,31,198,114,168,
+ 126,126,157,114,2,159,165,114,165,161,
+ 69,54,189,69,152,61,31,179,114,194,
+ 68,157,2,114,161,152,161,167,195,54,
+ 68,159,54
+ };
+ };
+ public final static char inSymb[] = InSymb.inSymb;
+ public final int inSymb(int index) { return inSymb[index]; }
+
+ public interface Name {
+ public final static String name[] = {
+ "",
+ "[",
+ "(",
+ "{",
+ ".",
+ "->",
+ "++",
+ "--",
+ "&",
+ "*",
+ "+",
+ "-",
+ "~",
+ "!",
+ "/",
+ "%",
+ ">>",
+ "<<",
+ "<",
+ ">",
+ "<=",
+ ">=",
+ "==",
+ "!=",
+ "^",
+ "|",
+ "&&",
+ "||",
+ "?",
+ ":",
+ "...",
+ "=",
+ "*=",
+ "/=",
+ "%=",
+ "+=",
+ "-=",
+ ">>=",
+ "<<=",
+ "&=",
+ "^=",
+ "|=",
+ ",",
+ "$empty",
+ "auto",
+ "break",
+ "case",
+ "char",
+ "const",
+ "continue",
+ "default",
+ "do",
+ "double",
+ "else",
+ "enum",
+ "extern",
+ "float",
+ "for",
+ "goto",
+ "if",
+ "inline",
+ "int",
+ "long",
+ "register",
+ "restrict",
+ "return",
+ "short",
+ "signed",
+ "sizeof",
+ "static",
+ "struct",
+ "switch",
+ "typedef",
+ "union",
+ "unsigned",
+ "void",
+ "volatile",
+ "while",
+ "_Bool",
+ "_Complex",
+ "_Imaginary",
+ "integer",
+ "floating",
+ "charconst",
+ "stringlit",
+ "identifier",
+ "Completion",
+ "EndOfCompletion",
+ "Invalid",
+ "RightBracket",
+ "RightParen",
+ "RightBrace",
+ "SemiColon",
+ "MYTHREAD",
+ "THREADS",
+ "UPC_MAX_BLOCKSIZE",
+ "relaxed",
+ "shared",
+ "strict",
+ "upc_barrier",
+ "upc_localsizeof",
+ "upc_blocksizeof",
+ "upc_elemsizeof",
+ "upc_notify",
+ "upc_fence",
+ "upc_wait",
+ "upc_forall",
+ "ERROR_TOKEN",
+ "EOF_TOKEN",
+ "expression_parser_start",
+ "]",
+ ")",
+ "}",
+ ";",
+ "expression",
+ "postfix_expression",
+ "member_name",
+ "type_name",
+ "initializer_list",
+ "unary_expression",
+ "cast_expression",
+ "multiplicative_expression",
+ "additive_expression",
+ "shift_expression",
+ "relational_expression",
+ "equality_expression",
+ "AND_expression",
+ "exclusive_OR_expression",
+ "inclusive_OR_expression",
+ "logical_AND_expression",
+ "logical_OR_expression",
+ "conditional_expression",
+ "assignment_expression",
+ "expression_list_actual",
+ "constant_expression",
+ "identifier_or_typedefname",
+ "declaration_specifiers",
+ "simple_declaration_specifiers",
+ "struct_or_union_declaration_sp" +
+ "ecifiers",
+ "elaborated_declaration_specifi" +
+ "ers",
+ "enum_declaration_specifiers",
+ "typdef_name_declaration_specif" +
+ "iers",
+ "no_type_declaration_specifier",
+ "type_qualifier",
+ "no_type_declaration_specifiers",
+ "simple_type_specifier",
+ "struct_or_union_specifier",
+ "elaborated_specifier",
+ "enum_specifier",
+ "typedef_name_in_declspec",
+ "initializer",
+ "declarator",
+ "struct_declaration_list",
+ "struct_declaration",
+ "specifier_qualifier_list",
+ "struct_declarator_list",
+ "complete_struct_declarator",
+ "enumerator_list",
+ "enumerator",
+ "direct_declarator",
+ "pointer_seq",
+ "array_direct_declarator",
+ "basic_direct_declarator",
+ "array_modifier",
+ "parameter_type_list",
+ "identifier_list",
+ "array_modifier_type_qualifiers",
+ "type_qualifier_list",
+ "parameter_list",
+ "parameter_declaration",
+ "complete_parameter_declarator",
+ "abstract_declarator",
+ "direct_abstract_declarator",
+ "basic_direct_abstract_declarat" +
+ "or",
+ "array_direct_abstract_declarat" +
+ "or",
+ "designated_initializer",
+ "designation",
+ "designator_list",
+ "designator",
+ "layout_qualifier"
+ };
+ };
+ public final static String name[] = Name.name;
+ public final String name(int index) { return name[index]; }
+
+ public final static int
+ ERROR_SYMBOL = 56,
+ SCOPE_UBOUND = 51,
+ SCOPE_SIZE = 52,
+ MAX_NAME_LENGTH = 38;
+
+ public final int getErrorSymbol() { return ERROR_SYMBOL; }
+ public final int getScopeUbound() { return SCOPE_UBOUND; }
+ public final int getScopeSize() { return SCOPE_SIZE; }
+ public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
+
+ public final static int
+ NUM_STATES = 223,
+ NT_OFFSET = 107,
+ LA_STATE_OFFSET = 2278,
+ MAX_LA = 2,
+ NUM_RULES = 360,
+ NUM_NONTERMINALS = 120,
+ NUM_SYMBOLS = 227,
+ SEGMENT_SIZE = 8192,
+ START_STATE = 1747,
+ IDENTIFIER_SYMBOL = 0,
+ EOFT_SYMBOL = 89,
+ EOLT_SYMBOL = 89,
+ ACCEPT_ACTION = 1902,
+ ERROR_ACTION = 1918;
+
+ public final static boolean BACKTRACK = true;
+
+ public final int getNumStates() { return NUM_STATES; }
+ public final int getNtOffset() { return NT_OFFSET; }
+ public final int getLaStateOffset() { return LA_STATE_OFFSET; }
+ public final int getMaxLa() { return MAX_LA; }
+ public final int getNumRules() { return NUM_RULES; }
+ public final int getNumNonterminals() { return NUM_NONTERMINALS; }
+ public final int getNumSymbols() { return NUM_SYMBOLS; }
+ public final int getSegmentSize() { return SEGMENT_SIZE; }
+ public final int getStartState() { return START_STATE; }
+ public final int getStartSymbol() { return lhs[0]; }
+ public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
+ public final int getEoftSymbol() { return EOFT_SYMBOL; }
+ public final int getEoltSymbol() { return EOLT_SYMBOL; }
+ public final int getAcceptAction() { return ACCEPT_ACTION; }
+ public final int getErrorAction() { return ERROR_ACTION; }
+ public final boolean isValidForParser() { return isValidForParser; }
+ public final boolean getBacktrack() { return BACKTRACK; }
+
+ public final int originalState(int state) {
+ return -baseCheck[state];
+ }
+ public final int asi(int state) {
+ return asb[originalState(state)];
+ }
+ public final int nasi(int state) {
+ return nasb[originalState(state)];
+ }
+ public final int inSymbol(int state) {
+ return inSymb[originalState(state)];
+ }
+
+ public final int ntAction(int state, int sym) {
+ return baseAction[state + sym];
+ }
+
+ public final int tAction(int state, int sym) {
+ int i = baseAction[state],
+ k = i + sym;
+ return termAction[termCheck[k] == sym ? k : i];
+ }
+ public final int lookAhead(int la_state, int sym) {
+ int k = la_state + sym;
+ return termAction[termCheck[k] == sym ? k : la_state];
+ }
+}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java
index c58882d7641..c9c99f54e91 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParsersym.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java
@@ -13,7 +13,7 @@
package org.eclipse.cdt.internal.core.dom.parser.upc;
-public interface UPCExpressionStatementParsersym {
+public interface UPCExpressionParsersym {
public final static int
TK_auto = 33,
TK_break = 90,
@@ -81,11 +81,11 @@ public interface UPCExpressionStatementParsersym {
TK_GT = 65,
TK_LE = 66,
TK_GE = 67,
- TK_EQ = 71,
- TK_NE = 72,
- TK_Caret = 73,
- TK_Or = 74,
- TK_AndAnd = 75,
+ TK_EQ = 70,
+ TK_NE = 71,
+ TK_Caret = 72,
+ TK_Or = 73,
+ TK_AndAnd = 74,
TK_OrOr = 77,
TK_Question = 78,
TK_Colon = 68,
@@ -105,7 +105,7 @@ public interface UPCExpressionStatementParsersym {
TK_RightBracket = 59,
TK_RightParen = 50,
TK_RightBrace = 55,
- TK_SemiColon = 70,
+ TK_SemiColon = 75,
TK_MYTHREAD = 24,
TK_THREADS = 25,
TK_UPC_MAX_BLOCKSIZE = 26,
@@ -194,12 +194,12 @@ public interface UPCExpressionStatementParsersym {
"GE",
"Colon",
"Assign",
- "SemiColon",
"EQ",
"NE",
"Caret",
"Or",
"AndAnd",
+ "SemiColon",
"Arrow",
"OrOr",
"Question",
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParserprs.java
deleted file mode 100644
index bb0aa834240..00000000000
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionStatementParserprs.java
+++ /dev/null
@@ -1,1279 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2006, 2008 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* IBM Corporation - initial API and implementation
-*********************************************************************************/
-
-// This file was generated by LPG
-
-package org.eclipse.cdt.internal.core.dom.parser.upc;
-
-public class UPCExpressionStatementParserprs implements lpg.lpgjavaruntime.ParseTable, UPCExpressionStatementParsersym {
-
- public interface IsKeyword {
- public final static byte isKeyword[] = {0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0
- };
- };
- public final static byte isKeyword[] = IsKeyword.isKeyword;
- public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
-
- public interface BaseCheck {
- public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,1,1,1,4,
- 4,3,3,2,2,8,1,0,1,1,
- 1,2,2,2,2,2,2,2,2,2,
- 4,1,4,1,3,3,3,1,3,3,
- 1,3,3,1,3,3,3,3,1,3,
- 3,1,3,1,3,1,3,1,3,1,
- 3,1,5,1,3,3,3,3,3,3,
- 3,3,3,3,3,1,1,2,1,0,
- 1,3,1,1,1,1,1,1,1,1,
- 3,3,2,2,4,1,2,1,1,1,
- 2,5,7,5,1,0,7,5,9,8,
- 3,2,2,2,3,2,4,2,2,2,
- 2,2,1,1,1,1,2,1,2,2,
- 2,1,2,2,1,2,2,1,2,2,
- 1,2,2,1,3,1,3,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,5,5,6,6,2,2,2,1,0,
- 1,2,4,2,1,1,1,3,1,1,
- 2,3,6,7,1,0,1,3,1,3,
- 1,1,1,1,1,1,3,1,1,1,
- 1,1,3,1,2,2,1,5,3,1,
- 3,5,1,3,1,3,2,4,3,5,
- 4,6,6,3,5,1,1,2,3,4,
- 1,2,1,3,1,1,3,2,1,1,
- 1,1,2,1,2,3,1,1,1,3,
- 1,2,2,2,3,4,5,1,5,1,
- 1,3,3,4,1,1,2,3,2,3,
- 2,1,0,1,2,1,1,1,1,1,
- 2,4,3,6,2,4,2,1,1,1,
- 1,2,4,2,4,2,4,1,1,2,
- 1,1,1,3,3,2,1,3,2,3,
- 2,3,2,2,11,10,10,9,10,9,
- 9,8,10,9,9,8,9,8,8,7,
- 10,9,9,8,9,8,8,7,1,1,
- -44,0,0,0,0,0,0,-41,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -83,-214,-81,0,0,0,0,0,0,-2,
- -5,-18,-125,0,0,0,0,-62,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-20,0,0,0,
- 0,0,0,0,0,0,0,0,0,-21,
- -89,0,0,0,0,0,0,0,0,0,
- -139,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -190,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -197,-10,0,0,0,0,0,0,-22,-144,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-23,-24,-25,0,0,0,0,
- 0,0,0,0,0,-26,0,0,0,0,
- 0,-37,0,-185,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-84,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-148,-38,0,-6,0,0,0,
- 0,0,-60,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -86,-27,0,0,-28,-143,0,0,0,0,
- -63,0,0,0,0,0,0,-87,0,0,
- 0,0,0,0,0,0,-160,0,0,0,
- 0,-11,0,0,0,0,0,0,0,0,
- 0,0,-29,-30,-98,0,0,0,0,0,
- 0,0,0,-4,0,0,0,0,0,0,
- -171,0,0,0,0,0,0,0,0,0,
- 0,0,0,-124,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-131,0,0,0,0,0,0,
- -99,0,0,0,0,0,0,0,0,0,
- 0,0,0,-100,-3,0,0,0,0,-57,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-205,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-31,0,0,0,0,0,0,-101,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-45,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,
- -65,0,0,0,0,0,0,-42,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,
- -67,0,0,0,0,0,0,-75,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -68,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,-76,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,
- -71,0,0,0,0,0,0,-77,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -72,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -73,0,0,0,0,0,0,-78,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -74,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -164,0,0,0,0,0,0,-79,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -165,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -188,0,0,0,0,0,0,-102,0,0,
- 0,0,0,0,0,0,0,0,0,-202,
- 0,0,0,0,0,0,-189,0,0,0,
- 0,0,0,0,0,0,0,0,-208,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-212,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-222,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,-103,-147,-104,-105,-106,0,
- -107,0,0,-59,0,0,0,0,0,0,
- -108,0,0,0,0,0,0,0,-7,0,
- 0,0,0,0,0,-12,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-168,
- -80,0,0,0,0,0,0,-50,0,0,
- 0,0,0,0,-128,0,0,0,0,0,
- 0,-46,0,0,0,0,0,0,0,0,
- -97,-169,-159,-109,0,-151,0,0,0,0,
- 0,0,0,-121,0,0,0,0,0,0,
- 0,-199,-1,0,0,0,0,0,0,0,
- 0,-166,0,0,0,0,0,-56,0,0,
- 0,0,0,0,-221,0,0,0,0,0,
- 0,0,0,0,-110,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-215,
- -111,0,-92,-127,0,0,0,0,0,0,
- -146,0,0,0,0,0,0,0,-8,0,
- 0,0,0,0,0,0,-112,-113,-123,-133,
- 0,0,0,-88,0,0,0,0,0,-58,
- 0,0,0,0,0,0,-135,0,0,0,
- 0,0,-114,0,0,0,0,0,0,0,
- -9,0,0,0,0,0,0,0,0,0,
- -51,0,0,0,0,0,0,-93,0,0,
- 0,-13,0,0,0,0,0,0,0,-115,
- 0,-52,0,0,0,0,0,0,-180,0,
- 0,0,-53,0,0,0,0,0,0,0,
- 0,0,0,-54,0,0,0,0,0,0,
- -90,0,0,-55,0,0,0,0,0,0,
- -85,0,0,-211,-95,-136,-116,0,-91,-117,
- -40,-140,0,0,0,0,0,0,0,-173,
- 0,-153,0,0,0,0,0,-118,0,0,
- -155,0,0,0,0,-94,0,0,0,0,
- 0,0,0,0,0,-187,0,0,0,0,
- -96,-14,0,0,0,0,0,0,0,0,
- 0,0,-194,0,-119,-43,-120,0,0,0,
- 0,0,0,0,0,0,0,0,-203,-132,
- -134,-223,0,0,0,0,0,-152,0,0,
- 0,0,0,0,0,-167,0,0,0,0,
- 0,0,-15,0,0,0,0,0,0,0,
- 0,0,0,0,0,-137,-170,0,0,0,
- 0,0,0,0,0,-19,-149,-172,0,-32,
- -181,-130,0,-33,0,-158,0,-34,0,-175,
- 0,-182,0,-179,0,0,0,0,0,-186,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-157,0,0,0,-213,0,-35,0,
- 0,-196,-36,0,0,0,-224,0,0,0,
- 0,0,-47,0,0,0,0,0,0,0,
- -129,0,0,0,0,0,0,0,0,0,
- 0,-184,0,-48,0,0,0,0,0,0,
- -126,0,0,0,-142,0,0,-49,0,0,
- 0,0,0,0,-82,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-154,0,0,0,0,-156,-161,0,0,
- 0,-174,0,0,0,0,-178,-192,0,-195,
- -193,-207,0,0,-198,0,0,0,0,-210,
- -200,0,0,0,0,0,0,0,0,0,
- 0,-204,0,0,-16,0,0,0,0,0,
- 0,-122,0,0,0,0,-150,0,0,0,
- 0,0,0,0,0,0,0,0,-206,0,
- 0,0,0,-209,0,0,-183,0,-141,0,
- 0,0,0,-17,0,0,0,0,0,0,
- 0,0,-201,-217,-219,0,-162,0,0,0,
- 0,0,0,0,0,-145,-176,-216,0,0,
- -163,-218,0,0,0,0,0,0,0,0,
- 0,0,0,0,-191,-177,0,0,0,0,
- 0,0,0,0,0,0,0,-39,0,0,
- 0,-220,0,0,0,0,0,0,0,0,
- 0,0,0,-61,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,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[] = {
- 85,7,22,22,20,20,31,31,64,64,
- 1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,54,54,71,
- 71,5,5,5,5,5,5,5,5,5,
- 5,5,6,6,8,8,8,8,9,9,
- 9,10,10,10,11,11,11,11,11,12,
- 12,12,13,13,14,14,15,15,16,16,
- 17,17,18,18,19,19,19,19,19,19,
- 19,19,19,19,19,19,96,30,28,86,
- 86,73,73,45,97,97,97,97,97,97,
- 97,98,98,98,99,99,104,104,105,105,
- 100,100,101,101,101,107,107,102,102,102,
- 102,103,103,103,103,103,106,106,21,21,
- 21,21,21,33,33,33,79,79,74,74,
- 74,74,75,75,75,76,76,76,77,77,
- 77,78,78,78,108,108,109,109,110,34,
- 36,36,36,36,36,55,57,57,57,57,
- 57,57,57,57,57,57,57,57,68,68,
- 32,32,65,65,65,65,66,66,66,58,
- 58,59,59,51,51,51,27,87,87,80,
- 81,81,81,67,67,82,82,83,83,69,
- 69,23,24,24,24,35,50,50,37,37,
- 37,37,40,40,42,38,38,39,43,43,
- 111,111,41,112,112,88,88,29,29,29,
- 29,29,29,29,29,29,84,52,52,52,
- 52,61,61,60,60,60,62,62,53,53,
- 89,89,44,44,63,63,63,46,46,46,
- 47,48,48,48,49,49,49,49,56,56,
- 72,72,72,72,70,90,91,91,92,92,
- 93,93,113,113,114,114,115,115,115,115,
- 117,117,116,116,116,118,118,85,85,1,
- 1,1,5,5,5,5,5,5,23,23,
- 25,25,26,26,94,94,94,97,119,119,
- 119,119,119,119,119,102,102,102,102,102,
- 102,102,102,102,102,102,102,102,102,102,
- 102,102,102,102,102,102,102,102,102,120,
- 120,1,14,19,15,392,644,44,573,430,
- 417,514,489,516,515,602,526,643,605,74,
- 91,333,446,476,134,211,318,319,1655,1300,
- 33,51,1149,476,136,133,135,159,800,14,
- 19,15,392,42,44,20,430,417,514,489,
- 516,515,602,526,1353,239,138,245,165,216,
- 1232,219,1547,221,222,227,142,145,148,151,
- 430,494,1493,1722,391,1334,1421,1439,1466,1481,
- 1231,734,14,19,15,392,644,44,627,430,
- 417,514,489,516,515,602,526,643,605,74,
- 278,734,14,19,15,392,644,44,627,430,
- 417,514,489,516,515,602,526,643,605,74,
- 278,1033,800,14,19,15,392,42,39,186,
- 440,14,19,15,392,644,44,280,430,417,
- 514,489,516,515,602,526,643,605,74,1262,
- 271,281,238,1233,73,173,287,280,217,1232,
- 219,1547,221,222,227,320,162,266,618,601,
- 269,281,426,1744,486,14,19,15,392,644,
- 44,627,430,417,514,489,516,515,602,526,
- 643,605,74,278,394,14,19,15,392,644,
- 44,1641,430,417,514,489,516,515,602,526,
- 643,605,74,393,340,426,237,830,14,19,
- 15,392,316,800,14,19,15,392,42,44,
- 282,430,417,514,489,516,1327,134,211,318,
- 319,314,65,23,283,6,476,136,133,135,
- 159,800,14,19,15,392,42,44,369,430,
- 417,514,489,516,515,602,1390,780,241,138,
- 272,165,800,14,19,15,392,42,38,142,
- 145,148,151,201,109,1010,22,273,1334,1421,
- 1439,1466,1481,1231,800,14,19,15,392,644,
- 44,333,430,417,514,489,516,515,602,526,
- 643,605,74,91,980,14,19,15,392,644,
- 44,1645,430,417,514,489,516,515,602,526,
- 643,605,74,606,612,14,19,15,392,42,
- 44,1050,430,417,514,489,516,515,602,526,
- 643,605,93,481,435,69,326,1580,1067,286,
- 800,14,19,15,392,42,44,391,430,417,
- 514,1234,767,14,19,15,392,644,44,1236,
- 430,417,514,489,516,515,602,526,643,605,
- 74,278,800,14,19,15,392,644,44,471,
- 430,417,514,489,516,515,602,526,643,605,
- 74,92,800,14,19,15,392,42,44,307,
- 714,800,14,19,15,392,644,44,284,430,
- 417,514,489,516,515,602,526,643,605,74,
- 85,800,14,19,15,392,644,44,573,430,
- 417,514,489,516,515,602,526,643,605,74,
- 84,800,14,19,15,392,644,44,16,430,
- 417,514,489,516,515,602,526,643,605,74,
- 83,800,14,19,15,392,644,44,573,430,
- 417,514,489,516,515,602,526,643,605,74,
- 82,800,14,19,15,392,644,44,1437,430,
- 417,514,489,516,515,602,526,643,605,74,
- 81,800,14,19,15,392,644,44,573,430,
- 417,514,489,516,515,602,526,643,605,74,
- 80,800,14,19,15,392,644,44,1440,430,
- 417,514,489,516,515,602,526,643,605,74,
- 79,800,14,19,15,392,644,44,573,430,
- 417,514,489,516,515,602,526,643,605,74,
- 78,800,14,19,15,392,644,44,1458,430,
- 417,514,489,516,515,602,526,643,605,74,
- 77,800,14,19,15,392,644,44,573,430,
- 417,514,489,516,515,602,526,643,605,74,
- 76,800,14,19,15,392,644,44,1495,430,
- 417,514,489,516,515,602,526,643,605,74,
- 75,800,14,19,15,392,644,44,573,430,
- 417,514,489,516,515,602,526,643,605,74,
- 1688,800,14,19,15,392,644,44,1497,430,
- 417,514,489,516,515,602,526,643,605,74,
- 1691,800,14,19,15,392,42,44,86,430,
- 417,514,489,516,515,602,526,643,605,93,
- 800,14,19,15,392,42,44,812,430,417,
- 514,489,516,515,602,526,643,605,93,800,
- 14,19,15,392,42,44,1739,430,417,514,
- 489,516,515,602,526,643,605,93,800,14,
- 19,15,392,42,44,210,430,417,514,489,
- 516,515,602,526,643,605,93,800,14,19,
- 15,392,42,44,1764,430,417,514,489,516,
- 515,602,526,643,605,93,800,14,19,15,
- 392,42,44,201,430,417,514,489,516,515,
- 602,526,643,605,73,126,543,200,249,354,
- 287,474,202,661,800,14,19,15,392,42,
- 44,531,430,417,514,489,516,515,1301,860,
- 14,19,15,392,314,271,800,14,19,15,
- 392,42,37,216,1232,219,1547,221,222,227,
- 135,573,264,618,601,269,260,1690,800,14,
- 19,15,392,42,44,573,430,417,1048,261,
- 274,21,800,14,19,15,392,42,44,271,
- 759,340,708,644,244,270,476,216,1232,219,
- 1547,221,222,227,32,258,264,618,601,269,
- 1493,441,405,658,134,211,318,319,324,1300,
- 654,226,476,1215,137,133,135,159,800,14,
- 19,15,392,42,44,405,430,417,514,489,
- 1171,87,1300,715,240,301,139,1632,165,216,
- 1232,219,1547,221,222,227,143,146,149,152,
- 333,618,1597,663,566,14,19,15,392,42,
- 35,573,216,1232,219,1547,221,222,227,890,
- 14,19,15,392,312,1597,244,610,452,64,
- 32,276,197,199,516,1510,1749,1672,390,1434,
- 800,14,19,15,392,42,44,32,430,417,
- 514,1285,1512,240,1677,198,199,134,211,318,
- 319,920,14,19,15,392,40,141,133,135,
- 159,800,14,19,15,392,42,44,805,430,
- 417,1155,800,14,19,15,392,42,36,140,
- 619,165,800,14,19,15,392,42,44,692,
- 430,417,1157,800,14,19,15,392,42,44,
- 1511,430,417,1158,800,14,19,15,392,42,
- 44,1059,430,1159,800,14,19,15,392,42,
- 44,1148,430,1161,472,835,32,198,1621,1091,
- 280,32,235,1593,134,211,318,319,654,1767,
- 573,274,32,1763,144,133,135,159,540,1682,
- 271,32,134,211,318,319,1101,1546,1687,87,
- 277,383,147,133,135,159,606,264,618,601,
- 269,1133,800,14,19,15,392,42,35,134,
- 211,318,319,573,1215,620,517,656,193,150,
- 133,135,159,381,134,211,318,319,289,606,
- 665,699,78,223,153,133,135,159,566,14,
- 19,15,392,42,35,271,566,14,19,15,
- 392,42,35,800,14,19,15,392,42,34,
- 325,1561,264,618,601,269,700,577,245,217,
- 1232,219,1547,221,222,227,32,87,647,263,
- 32,696,599,361,32,574,32,361,32,1727,
- 600,361,842,1747,600,361,225,196,208,1156,
- 706,196,275,1496,87,196,808,1496,87,196,
- 808,1496,87,536,808,1496,87,745,808,32,
- 368,183,599,32,848,182,361,653,888,1700,
- 361,257,928,800,14,19,15,392,42,47,
- 196,478,229,1912,196,1561,1496,87,574,808,
- 1496,87,600,808,800,14,19,15,392,42,
- 46,121,1156,968,1912,121,1912,1008,800,14,
- 19,15,392,42,45,701,14,19,15,392,
- 42,43,207,26,251,211,318,319,251,211,
- 318,319,55,1722,256,1399,1572,112,32,574,
- 1912,1311,169,1557,574,461,1912,283,476,574,
- 478,476,606,196,574,600,1912,574,196,1777,
- 597,600,1776,196,1777,1912,1776,574,196,1777,
- 242,1156,692,243,1777,950,14,19,15,392,
- 33,1156,1074,191,291,490,185,342,191,1001,
- 1570,1796,184,191,574,1574,1796,1912,191,476,
- 1695,1796,481,256,644,1701,1796,536,1156,121,
- 1311,271,1557,256,950,14,19,15,392,32,
- 1765,288,1557,600,476,573,1778,121,266,618,
- 601,269,251,211,318,319,292,223,600,1561,
- 256,349,600,1912,1252,228,290,1450,1812,1557,
- 251,211,318,319,203,425,226,1912,1782,252,
- 211,318,319,574,252,211,318,319,480,204,
- 1781,1912,596,279,1912,654,207,196,252,211,
- 318,319,1912,1777,32,1912,1912,1912,1795,1712,
- 1572,654,232,1912,1912,1912,89,1912,1912,1912,
- 1912,194,1912,1912,1912,1912,1912,192,1912,1912,
- 1912,1912,87,1912,1328,1912,1912,1912,1912,1912,
- 1912,1912,1912,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,1912,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,1912,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,1912,1912,1201,1912,0,321,694,0,
- 17,179,0,18,178,0,1,2136,0,1,
- 2147,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,0,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,0,0,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,48,49,
- 0,51,52,53,0,1,0,3,0,5,
- 6,7,8,0,0,11,12,13,0,6,
- 7,8,0,5,11,12,13,0,1,2,
- 0,4,77,78,30,0,0,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,54,51,52,53,0,55,
- 56,0,1,0,3,0,5,6,7,8,
- 0,89,11,12,13,0,6,7,8,57,
- 58,11,12,13,0,1,2,73,70,5,
- 54,30,57,58,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,0,51,52,53,31,55,56,0,1,
- 0,3,0,5,6,7,8,69,0,11,
- 12,13,57,58,50,0,14,79,80,81,
- 82,83,84,85,86,87,88,0,30,0,
- 0,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,48,49,0,51,
- 52,53,0,55,56,0,1,5,3,32,
- 5,6,7,8,0,74,11,12,13,0,
- 6,7,8,0,0,11,12,13,0,64,
- 65,66,67,9,10,30,57,58,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,75,51,52,53,0,
- 55,56,0,1,0,3,0,5,6,7,
- 8,0,70,11,12,13,0,6,7,8,
- 0,0,11,12,13,57,58,64,65,66,
- 67,32,30,0,75,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,0,51,52,53,4,55,56,0,
- 1,0,3,0,31,6,7,8,0,0,
- 11,12,13,0,6,7,8,71,72,11,
- 12,13,9,10,64,65,66,67,0,30,
- 2,0,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,48,49,0,
- 51,52,53,0,1,2,3,4,5,31,
- 0,60,9,10,0,1,2,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,0,0,1,0,3,0,
- 6,7,8,4,0,11,12,13,4,0,
- 1,2,3,4,5,0,1,2,9,10,
- 0,0,59,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 0,0,68,0,4,0,5,0,0,0,
- 5,4,9,10,5,0,1,2,3,4,
- 5,62,63,0,9,10,62,63,59,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,0,0,32,2,68,
- 4,6,7,8,31,54,11,12,13,50,
- 0,0,62,63,59,0,1,60,3,0,
- 55,70,0,1,2,30,4,31,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,0,1,2,3,4,
- 5,32,0,31,9,10,0,5,2,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,0,0,1,0,0,
- 5,71,72,5,5,0,1,31,3,0,
- 0,0,1,2,3,4,5,0,0,0,
- 9,10,50,14,59,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,0,1,0,3,50,0,0,50,54,
- 0,32,0,1,55,0,60,0,1,2,
- 3,4,0,1,0,3,9,10,0,0,
- 59,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,32,0,0,
- 73,0,74,0,32,0,32,54,0,0,
- 0,1,2,3,4,0,60,0,0,9,
- 10,0,0,56,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 32,32,32,0,1,2,3,4,31,0,
- 0,0,9,10,0,54,0,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,0,69,32,0,1,2,3,
- 4,0,0,0,69,9,10,0,0,0,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,0,0,32,0,
- 1,2,3,4,0,1,0,3,9,10,
- 31,0,68,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,1,32,3,9,10,
- 61,0,31,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,32,0,9,10,
- 0,0,61,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,54,0,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,0,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,0,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,0,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 0,2,0,4,5,6,7,8,0,0,
- 11,12,13,0,0,0,0,0,0,0,
- 0,0,0,1,2,0,4,0,0,30,
- 31,0,33,34,35,36,37,0,0,0,
- 0,2,0,4,5,6,7,8,0,50,
- 11,12,13,31,6,7,8,0,0,11,
- 12,13,0,0,0,2,0,4,0,30,
- 31,0,33,34,35,36,37,0,30,0,
- 0,33,34,35,36,37,6,7,8,50,
- 0,11,12,13,31,0,6,7,8,0,
- 0,11,12,13,0,0,0,0,0,0,
- 30,0,0,33,34,35,36,37,0,0,
- 30,0,0,33,34,35,36,37,6,7,
- 8,0,0,11,12,13,0,0,0,2,
- 2,0,5,0,0,0,0,0,0,0,
- 0,0,30,15,16,33,34,35,36,37,
- 0,0,0,0,0,0,0,0,31,31,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,50,0,0,
- 0,0,0,0,0,0,0,0,0,61,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,76,0,0,0,0,0,
- 0,0,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,
- 1912,645,1556,701,1482,72,2124,2125,2126,1382,
- 1186,2234,431,2235,1533,1754,1715,1361,1922,1923,
- 1924,1925,632,482,2221,2222,2223,1319,1179,577,
- 2074,1,1912,2075,2073,2127,2076,2072,2079,2084,
- 2083,2081,2082,2080,2085,2086,2078,2087,2088,2089,
- 88,1435,1378,1303,1912,1,1912,1,1912,190,
- 1,1,1,247,66,1,1,1,1912,1,
- 1,1,54,1921,1,1,1,1912,2136,382,
- 1912,1442,398,1824,1,58,253,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,752,1,1,1,42,190,
- 2107,1912,1,1912,1,1912,190,1,1,1,
- 1912,1896,1,1,1,57,2124,2125,2126,1414,
- 1424,2234,431,2235,1,1906,1200,583,1920,1917,
- 1558,1,1414,1424,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,68,1,1,1,554,190,2107,1912,1,
- 1912,1,64,190,1,1,1,981,1912,1,
- 1,1,1414,1424,1916,59,1268,961,941,921,
- 901,881,841,861,821,801,781,317,1,56,
- 70,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1912,1,
- 1,1,1,190,2107,1912,1,1921,1,1244,
- 189,1,1,1,248,1164,1,1,1,71,
- 1,1,1,61,51,1,1,1,55,1403,
- 1392,1371,1208,1222,772,1,1414,1424,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,611,1,1,1,315,
- 189,2107,1912,1,1912,1,62,190,1,1,
- 1,246,1920,1,1,1,1912,2124,2125,2126,
- 60,1912,2234,431,2235,1414,1424,1403,1392,1371,
- 1208,1244,1,268,611,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1912,1,1,1,1329,190,2107,1912,
- 2091,1,2090,1912,554,2124,2125,2126,249,1912,
- 2234,431,2235,53,2124,2125,2126,1340,720,2234,
- 431,2235,1222,772,1403,1392,1371,1208,267,2074,
- 1562,1912,2075,2073,2127,2076,2072,2079,2084,2083,
- 2081,2082,2080,2085,2086,2078,2087,2088,2089,1912,
- 1435,1378,1303,1,1929,1556,1930,1304,1915,554,
- 1912,2167,1382,1186,1,2136,382,1533,1754,1715,
- 1361,1922,1923,1924,1925,632,482,2221,2222,2223,
- 1319,1179,577,674,250,1912,1941,1912,1942,48,
- 2124,2125,2126,1648,50,2234,431,2235,1648,1912,
- 1929,1556,1930,1526,1915,1,2136,382,1382,1186,
- 1912,1912,1914,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,1021,
- 49,1912,1098,52,1648,1912,1921,1,1912,1,
- 1915,1329,1222,772,90,1,1929,1556,1930,1482,
- 27,1634,1613,321,1382,1186,1634,1613,1914,1533,
- 1754,1715,1361,1922,1923,1924,1925,632,482,2221,
- 2222,2223,1319,1179,577,128,262,1678,1431,1136,
- 1,2124,2125,2126,1897,1275,2234,431,2235,90,
- 63,1912,1634,1613,1914,206,2092,2167,2093,313,
- 27,1920,259,2136,1200,2074,1,554,2075,2073,
- 2127,2076,2072,2079,2084,2083,2081,2082,2080,2085,
- 2086,2078,2087,2088,2089,1912,1929,1556,1930,1482,
- 1915,1244,1912,554,1382,1186,220,1917,1602,1533,
- 1754,1715,1361,1922,1923,1924,1925,632,482,2221,
- 2222,2223,1319,1179,577,1912,1,1909,1,1912,
- 1917,1340,720,1917,1919,1912,2092,554,2093,65,
- 1912,1912,1929,1556,1930,1518,1915,67,69,41,
- 1382,1186,1916,1268,1914,1533,1754,1715,1361,1922,
- 1923,1924,1925,632,482,2221,2222,2223,1319,1179,
- 577,205,1509,28,1509,1916,1,1912,1916,1607,
- 1912,1244,1912,2148,1918,1912,2167,1912,1,1,
- 1,1,1912,2092,187,2093,1,1,1912,1912,
- 1914,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1244,1912,1912,
- 583,28,1164,1912,1330,209,1452,534,186,188,
- 1912,1929,1556,1930,1482,1912,2166,218,1912,1382,
- 1186,1912,1912,2220,1533,1754,1715,1361,1922,1923,
- 1924,1925,632,482,2221,2222,2223,1319,1179,577,
- 1461,1566,1244,1,1929,1556,1930,1482,554,1912,
- 1912,1912,1382,1186,200,1939,1912,1533,1754,1715,
- 1361,1922,1923,1924,1925,632,482,2221,2222,2223,
- 1319,1179,577,1912,1060,1678,1912,1929,1556,1930,
- 1482,1912,1912,1912,732,1382,1186,1912,1912,1912,
- 1533,1754,1715,1361,1922,1923,1924,1925,632,482,
- 2221,2222,2223,1319,1179,577,1912,1912,1678,1912,
- 1929,1556,1930,1482,1912,2092,1912,2093,1382,1186,
- 1041,285,1117,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,1912,
- 1929,1560,1930,1482,1912,2092,1347,2093,1382,1186,
- 1476,205,1079,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,1912,
- 1929,1564,1930,1482,1912,1912,1436,1912,1382,1186,
- 1912,1912,1692,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,1912,
- 1929,1568,1930,1482,1912,2914,1912,1912,1382,1186,
- 1912,1912,1912,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,1912,
- 1929,1599,1930,1482,1912,1912,1912,1912,1382,1186,
- 1912,1912,1912,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,1912,
- 1929,1603,1930,1482,1912,1912,1912,1912,1382,1186,
- 1912,1912,1912,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,1,
- 1929,1556,1930,1482,1912,1912,1912,1912,1382,1186,
- 1912,1912,1912,1533,1754,1715,1361,1922,1923,1924,
- 1925,632,482,2221,2222,2223,1319,1179,577,17,
- 1912,1900,1912,1900,1900,179,179,179,1912,1912,
- 179,179,179,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,265,2136,1200,1912,1442,1912,1912,179,
- 1900,1912,179,179,179,179,179,1912,1912,18,
- 1912,1903,1912,1903,1903,178,178,178,129,1900,
- 178,178,178,554,2124,2125,2126,1912,1912,2234,
- 431,2235,1912,265,1912,1431,1912,1442,1912,178,
- 1903,1912,178,178,178,178,178,1912,2074,1912,
- 130,2075,2073,2127,2076,2072,2124,2125,2126,1903,
- 131,2234,431,2235,554,1912,2124,2125,2126,1912,
- 1912,2234,431,2235,1912,1912,1912,1912,1912,1912,
- 2074,1912,1912,2075,2073,2127,2076,2072,1912,1912,
- 2074,1912,132,2075,2073,2127,2076,2072,2124,2125,
- 2126,1912,1912,2234,431,2235,1912,1,31,1431,
- 1808,1912,1917,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,2074,1936,1937,2075,2073,2127,2076,2072,
- 1912,1912,1912,1912,1912,1912,1912,1912,554,1441,
- 1912,1912,1912,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,1912,1912,1912,1912,1912,1916,1912,1912,
- 1912,1912,1912,1912,1912,1912,1912,1912,1912,575,
- 1912,1912,1912,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,1912,1912,532
- };
- };
- 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,
- 246,1,44,167,40,167,167,167,167,167,
- 167,167,167,167,167,167,167,3,54,23,
- 20,27,25,33,31,35,34,37,36,9,
- 167,54,54,54,54,54,370,370,482,167,
- 239,239,331,54,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,239,239,239,239,239,239,
- 127,134,335,158,337,237,236,303,47,315,
- 315,154,154,315,154,315,74,190,190,20,
- 20,25,25,25,25,23,23,31,27,27,
- 34,33,439,36,35,379,379,379,379,156,
- 132,331,323,161,127,97,105,239,443,340,
- 105,418,270,418,270,373,418,167,132,323,
- 97,97,127,104,158,239,329,74,238,342,
- 127,105,270,270,270,270,373,373,414,243,
- 132,97,323,167,167,127,105,337,434,433,
- 335,342,239,270,415,475,270,270,415,414,
- 413,414,373,415,130,441,370,167,242,132,
- 323,127,127,239,443,340,329,415,477,415,
- 415,167,370,414,134,127,370,167,414,342,
- 43,167,42,186,335,415,127,415,239,238,
- 477,167,186,371
- };
- };
- 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,
- 89,0,31,2,61,76,15,16,69,79,
- 80,81,82,83,85,84,86,87,88,4,
- 62,63,9,10,58,57,64,65,66,67,
- 71,72,14,73,74,75,55,77,78,59,
- 50,68,54,70,5,0,5,68,54,59,
- 50,70,31,17,18,19,20,21,2,15,
- 16,14,4,9,10,22,23,24,25,26,
- 27,28,29,3,1,51,52,53,46,38,
- 43,41,42,40,39,44,45,47,48,49,
- 37,34,30,33,36,35,6,7,8,12,
- 11,13,0,30,15,16,14,4,9,10,
- 22,23,17,27,28,29,2,1,3,18,
- 19,20,21,24,25,26,59,5,0,5,
- 55,31,61,15,16,14,4,9,10,22,
- 23,17,27,28,29,2,18,19,20,21,
- 24,25,26,1,3,32,0,59,5,30,
- 6,7,8,11,12,13,18,19,20,21,
- 24,25,26,3,15,16,14,9,10,22,
- 23,17,27,28,29,4,2,1,0,7,
- 30,37,8,36,35,34,6,33,11,12,
- 13,61,76,15,16,14,9,10,62,63,
- 57,58,64,65,66,67,71,72,73,74,
- 75,77,78,69,79,80,81,82,83,84,
- 85,86,87,88,4,2,31,54,50,5,
- 0,69,31,61,0,17,18,19,20,21,
- 1,3,2,15,16,14,4,9,10,22,
- 23,24,25,26,27,28,29,56,0,33,
- 38,6,39,51,34,40,35,41,42,36,
- 7,43,44,30,52,37,53,45,46,8,
- 47,48,49,1,3,5,55,11,12,13,
- 56,0,46,38,43,41,42,40,39,44,
- 45,47,48,49,68,70,37,34,30,33,
- 36,35,6,7,8,11,12,13,54,1,
- 5,50,2,31,4,0,4,2,31,50,
- 5,33,38,6,39,51,34,40,35,41,
- 42,36,7,43,44,30,52,37,53,45,
- 46,8,47,48,49,11,12,13,60,3,
- 1,0,1,3,5,54,55,0,14,4,
- 9,10,62,63,57,58,64,65,66,67,
- 71,72,73,74,75,77,78,68,79,80,
- 81,82,83,84,85,86,87,88,59,50,
- 70,32,69,54,55,5,0,33,6,34,
- 35,36,7,30,37,8,1,4,11,12,
- 13,32,2,5,54,50,70,31,68,0,
- 69,0,33,38,6,39,51,34,40,35,
- 41,42,36,7,43,44,30,52,37,53,
- 45,46,8,47,48,49,1,3,11,12,
- 13,60,4,0,70,5,4,1,2,68,
- 0,5,50,17,18,19,20,21,1,3,
- 2,15,16,14,4,9,10,22,23,24,
- 25,26,27,28,29,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,
- 47,8,84,15,8,15,15,15,15,15,
- 15,15,15,15,15,15,15,8,58,8,
- 8,8,8,8,8,8,8,8,8,8,
- 15,58,58,58,58,58,11,11,90,59,
- 63,63,54,1,15,15,15,15,15,15,
- 15,15,15,15,15,15,15,15,15,15,
- 59,15,15,15,15,15,15,15,15,15,
- 15,15,15,15,63,63,63,63,63,63,
- 19,15,69,17,53,21,21,38,9,39,
- 39,51,51,39,51,39,34,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 79,55,79,14,19,71,18,63,67,62,
- 18,8,79,8,79,79,8,15,14,79,
- 71,71,19,18,81,63,28,2,8,78,
- 19,18,79,73,79,73,51,79,41,23,
- 79,71,81,15,15,19,18,27,21,21,
- 69,78,63,73,65,83,86,73,65,41,
- 8,8,51,65,13,8,51,15,25,14,
- 81,19,19,63,67,62,29,65,43,65,
- 65,15,51,41,15,19,51,15,41,77,
- 84,15,8,43,69,65,19,65,63,63,
- 43,15,31,8
- };
- };
- public final static byte nasb[] = Nasb.nasb;
- public final int nasb(int index) { return nasb[index]; }
-
- public interface Nasr {
- public final static char nasr[] = {0,
- 4,79,78,77,76,75,74,0,94,0,
- 71,0,70,7,4,0,7,4,22,0,
- 29,0,91,0,93,0,20,7,48,47,
- 40,38,0,65,66,67,68,55,33,0,
- 54,0,7,40,38,0,7,30,85,0,
- 32,0,20,7,48,47,0,27,7,30,
- 0,7,20,0,31,0,7,21,52,0,
- 61,0,59,7,27,0,88,21,7,0,
- 23,0,7,64,0,7,27,51,0,7,
- 86,0
- };
- };
- public final static char nasr[] = Nasr.nasr;
- public final int nasr(int index) { return nasr[index]; }
-
- public interface TerminalIndex {
- public final static char terminalIndex[] = {0,
- 85,2,86,9,87,48,64,76,10,11,
- 96,97,98,8,6,7,68,81,82,83,
- 84,12,13,93,94,95,100,101,102,69,
- 1,3,44,55,60,63,72,47,52,56,
- 61,62,66,67,74,75,78,79,80,90,
- 54,70,73,42,91,107,16,17,89,30,
- 4,14,15,18,19,20,21,29,31,92,
- 22,23,24,25,26,5,27,28,32,33,
- 34,35,36,37,38,39,40,41,108,45,
- 46,49,50,51,53,57,58,59,65,71,
- 77,88,99,103,104,105,106
- };
- };
- public final static char terminalIndex[] = TerminalIndex.terminalIndex;
- public final int terminalIndex(int index) { return terminalIndex[index]; }
-
- public interface NonterminalIndex {
- public final static char nonterminalIndex[] = {0,
- 0,0,0,115,119,120,0,121,122,123,
- 124,125,126,127,128,129,130,131,132,111,
- 136,110,143,0,0,0,154,0,163,114,
- 112,135,142,0,0,0,159,161,0,162,
- 0,0,0,117,134,172,173,174,0,151,
- 153,160,169,0,145,150,0,0,152,164,
- 167,168,171,113,146,147,148,149,158,175,
- 116,118,133,137,138,139,140,141,144,156,
- 0,0,157,166,109,0,155,165,170,176,
- 177,0,178,179,0,0,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 char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
- public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
-
- public interface ScopePrefix {
- public final static char scopePrefix[] = {
- 214,118,57,67,125,145,151,188,26,33,
- 85,103,157,162,73,6,12,16,38,81,
- 50,135,210,229,233,50,50,197,50,1,
- 1,1,42,45,90,113,45,237,20,139,
- 204,179,204,131,167,167,167,167,167,93,
- 93,93
- };
- };
- public final static char scopePrefix[] = ScopePrefix.scopePrefix;
- public final int scopePrefix(int index) { return scopePrefix[index]; }
-
- public interface ScopeSuffix {
- public final static char scopeSuffix[] = {
- 31,31,4,4,31,31,31,194,31,10,
- 4,10,31,31,78,10,10,10,10,4,
- 4,133,10,10,4,54,78,201,63,4,
- 4,4,10,48,4,10,116,10,23,142,
- 207,182,222,133,169,171,173,175,177,100,
- 95,108
- };
- };
- public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
- public final int scopeSuffix(int index) { return scopeSuffix[index]; }
-
- public interface ScopeLhs {
- public final static char scopeLhs[] = {
- 4,67,29,29,67,65,65,101,56,49,
- 29,43,65,65,29,5,5,5,49,29,
- 29,51,5,4,4,29,29,18,29,94,
- 93,92,47,63,29,40,50,2,70,51,
- 6,102,4,51,78,77,76,75,74,43,
- 41,43
- };
- };
- public final static char scopeLhs[] = ScopeLhs.scopeLhs;
- public final int scopeLhs(int index) { return scopeLhs[index]; }
-
- public interface ScopeLa {
- public final static byte scopeLa[] = {
- 55,55,59,59,55,55,55,95,55,50,
- 59,50,55,55,18,50,50,50,50,59,
- 59,70,50,50,59,4,18,68,30,59,
- 59,59,50,2,59,50,1,50,69,1,
- 50,101,50,70,3,51,52,52,46,2,
- 2,2
- };
- };
- public final static byte scopeLa[] = ScopeLa.scopeLa;
- public final int scopeLa(int index) { return scopeLa[index]; }
-
- public interface ScopeStateSet {
- public final static byte scopeStateSet[] = {
- 36,21,25,25,21,21,21,-1,96,29,
- 25,11,21,21,25,36,36,36,29,25,
- 25,5,36,36,36,25,25,70,25,19,
- 1,3,29,31,25,11,13,36,97,5,
- 42,-1,36,5,22,22,22,22,22,11,
- 11,11
- };
- };
- 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,
- 152,31,0,110,0,151,2,29,0,111,
- 0,151,2,28,0,151,2,27,0,197,
- 114,0,31,150,0,161,179,114,32,0,
- 112,0,167,114,2,154,0,167,114,2,
- 0,170,2,0,159,114,0,172,0,191,
- 114,31,0,9,110,0,126,30,191,114,
- 31,0,69,132,110,0,126,191,114,30,
- 31,0,191,114,30,31,0,132,110,0,
- 126,30,31,0,126,191,114,31,0,126,
- 31,0,147,0,2,0,165,111,0,2,
- 111,0,167,114,2,147,0,2,0,164,
- 111,0,157,2,0,159,0,161,189,114,
- 32,139,51,0,161,189,114,32,51,0,
- 134,0,113,0,194,114,134,0,114,134,
- 0,155,113,0,165,114,32,139,53,0,
- 165,114,32,139,52,0,165,114,32,53,
- 0,165,114,32,52,0,186,0,149,0,
- 148,0,147,0,146,0,145,0,204,94,
- 0,77,2,114,111,113,0,204,127,137,
- 2,98,0,53,0,0,137,78,124,0,
- 29,131,0,151,2,0,111,120,0,151,
- 2,17,0,161,179,114,32,127,151,2,
- 0,111,3,0,118,0,112,0,193,2,
- 111,0,137,31,111,0,137,2,0
- };
- };
- public final static char scopeRhs[] = ScopeRhs.scopeRhs;
- public final int scopeRhs(int index) { return scopeRhs[index]; }
-
- public interface ScopeState {
- public final static char scopeState[] = {0,
- 1067,0,627,0,1687,1796,1682,1677,1672,0,
- 1512,481,1275,382,1252,1200,1156,0,431,0,
- 1231,574,361,0,1547,1232,618,601,481,1722,
- 1200,1156,1431,1496,0,1754,1715,1361,1319,1179,
- 577,1526,1518,1304,1655,611,398,583,1164,1340,
- 720,1268,1424,1414,1403,1392,1371,1208,1648,1634,
- 1613,1222,772,1533,1482,1382,1186,632,482,1117,
- 1098,1079,1060,1041,1021,1001,490,1136,694,674,
- 554,981,961,941,921,901,881,861,841,821,
- 801,781,361,752,654,732,461,534,441,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,192,137,114,180,29,28,27,17,23,
- 22,10,9,4,14,16,15,111,2,116,
- 115,118,117,120,119,122,121,124,123,112,
- 54,2,2,2,2,2,76,61,2,31,
- 151,137,134,114,10,9,63,62,4,67,
- 66,65,64,57,58,14,72,71,74,73,
- 78,77,75,88,87,86,84,85,83,82,
- 81,80,79,69,151,151,151,151,151,193,
- 137,127,114,31,2,155,154,181,12,182,
- 183,53,52,184,51,185,186,1,3,115,
- 115,117,117,117,117,116,116,119,118,118,
- 121,120,137,123,122,127,127,127,127,127,
- 32,159,4,30,126,114,4,170,114,2,
- 31,139,32,139,32,32,139,68,114,4,
- 114,114,126,191,168,167,128,114,169,114,
- 152,4,32,114,32,114,114,32,179,114,
- 32,114,168,191,30,126,4,2,145,147,
- 114,54,167,114,165,134,166,114,165,189,
- 139,190,114,161,54,197,61,31,198,114,
- 168,126,126,157,114,2,159,165,114,165,
- 161,69,54,189,69,152,61,31,179,114,
- 194,68,157,2,114,161,152,161,167,195,
- 54,68,159,54
- };
- };
- public final static char inSymb[] = InSymb.inSymb;
- public final int inSymb(int index) { return inSymb[index]; }
-
- public interface Name {
- public final static String name[] = {
- "",
- "[",
- "(",
- "{",
- ".",
- "->",
- "++",
- "--",
- "&",
- "*",
- "+",
- "-",
- "~",
- "!",
- "/",
- "%",
- ">>",
- "<<",
- "<",
- ">",
- "<=",
- ">=",
- "==",
- "!=",
- "^",
- "|",
- "&&",
- "||",
- "?",
- ":",
- "...",
- "=",
- "*=",
- "/=",
- "%=",
- "+=",
- "-=",
- ">>=",
- "<<=",
- "&=",
- "^=",
- "|=",
- ",",
- "$empty",
- "auto",
- "break",
- "case",
- "char",
- "const",
- "continue",
- "default",
- "do",
- "double",
- "else",
- "enum",
- "extern",
- "float",
- "for",
- "goto",
- "if",
- "inline",
- "int",
- "long",
- "register",
- "restrict",
- "return",
- "short",
- "signed",
- "sizeof",
- "static",
- "struct",
- "switch",
- "typedef",
- "union",
- "unsigned",
- "void",
- "volatile",
- "while",
- "_Bool",
- "_Complex",
- "_Imaginary",
- "integer",
- "floating",
- "charconst",
- "stringlit",
- "identifier",
- "Completion",
- "EndOfCompletion",
- "Invalid",
- "RightBracket",
- "RightParen",
- "RightBrace",
- "SemiColon",
- "MYTHREAD",
- "THREADS",
- "UPC_MAX_BLOCKSIZE",
- "relaxed",
- "shared",
- "strict",
- "upc_barrier",
- "upc_localsizeof",
- "upc_blocksizeof",
- "upc_elemsizeof",
- "upc_notify",
- "upc_fence",
- "upc_wait",
- "upc_forall",
- "ERROR_TOKEN",
- "EOF_TOKEN",
- "expression_parser_start",
- "]",
- ")",
- "}",
- ";",
- "expression",
- "postfix_expression",
- "member_name",
- "type_name",
- "initializer_list",
- "unary_expression",
- "cast_expression",
- "multiplicative_expression",
- "additive_expression",
- "shift_expression",
- "relational_expression",
- "equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
- "assignment_expression",
- "expression_list_actual",
- "constant_expression",
- "identifier_or_typedefname",
- "declaration_specifiers",
- "simple_declaration_specifiers",
- "struct_or_union_declaration_sp" +
- "ecifiers",
- "elaborated_declaration_specifi" +
- "ers",
- "enum_declaration_specifiers",
- "typdef_name_declaration_specif" +
- "iers",
- "no_type_declaration_specifier",
- "type_qualifier",
- "no_type_declaration_specifiers",
- "simple_type_specifier",
- "struct_or_union_specifier",
- "elaborated_specifier",
- "enum_specifier",
- "typedef_name_in_declspec",
- "initializer",
- "declarator",
- "struct_declaration_list",
- "struct_declaration",
- "specifier_qualifier_list",
- "struct_declarator_list",
- "complete_struct_declarator",
- "enumerator_list",
- "enumerator",
- "direct_declarator",
- "pointer_seq",
- "array_direct_declarator",
- "basic_direct_declarator",
- "array_modifier",
- "parameter_type_list",
- "identifier_list",
- "array_modifier_type_qualifiers",
- "type_qualifier_list",
- "parameter_list",
- "parameter_declaration",
- "complete_parameter_declarator",
- "abstract_declarator",
- "direct_abstract_declarator",
- "basic_direct_abstract_declarat" +
- "or",
- "array_direct_abstract_declarat" +
- "or",
- "designated_initializer",
- "designation",
- "designator_list",
- "designator",
- "layout_qualifier"
- };
- };
- public final static String name[] = Name.name;
- public final String name(int index) { return name[index]; }
-
- public final static int
- ERROR_SYMBOL = 56,
- SCOPE_UBOUND = 51,
- SCOPE_SIZE = 52,
- MAX_NAME_LENGTH = 38;
-
- public final int getErrorSymbol() { return ERROR_SYMBOL; }
- public final int getScopeUbound() { return SCOPE_UBOUND; }
- public final int getScopeSize() { return SCOPE_SIZE; }
- public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
-
- public final static int
- NUM_STATES = 224,
- NT_OFFSET = 107,
- LA_STATE_OFFSET = 2272,
- MAX_LA = 2,
- NUM_RULES = 360,
- NUM_NONTERMINALS = 120,
- NUM_SYMBOLS = 227,
- SEGMENT_SIZE = 8192,
- START_STATE = 1253,
- IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 89,
- EOLT_SYMBOL = 89,
- ACCEPT_ACTION = 1896,
- ERROR_ACTION = 1912;
-
- public final static boolean BACKTRACK = true;
-
- public final int getNumStates() { return NUM_STATES; }
- public final int getNtOffset() { return NT_OFFSET; }
- public final int getLaStateOffset() { return LA_STATE_OFFSET; }
- public final int getMaxLa() { return MAX_LA; }
- public final int getNumRules() { return NUM_RULES; }
- public final int getNumNonterminals() { return NUM_NONTERMINALS; }
- public final int getNumSymbols() { return NUM_SYMBOLS; }
- public final int getSegmentSize() { return SEGMENT_SIZE; }
- public final int getStartState() { return START_STATE; }
- public final int getStartSymbol() { return lhs[0]; }
- public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
- public final int getEoftSymbol() { return EOFT_SYMBOL; }
- public final int getEoltSymbol() { return EOLT_SYMBOL; }
- public final int getAcceptAction() { return ACCEPT_ACTION; }
- public final int getErrorAction() { return ERROR_ACTION; }
- public final boolean isValidForParser() { return isValidForParser; }
- public final boolean getBacktrack() { return BACKTRACK; }
-
- public final int originalState(int state) {
- return -baseCheck[state];
- }
- public final int asi(int state) {
- return asb[originalState(state)];
- }
- public final int nasi(int state) {
- return nasb[originalState(state)];
- }
- public final int inSymbol(int state) {
- return inSymb[originalState(state)];
- }
-
- public final int ntAction(int state, int sym) {
- return baseAction[state + sym];
- }
-
- public final int tAction(int state, int sym) {
- int i = baseAction[state],
- k = i + sym;
- return termAction[termCheck[k] == sym ? k : i];
- }
- public final int lookAhead(int la_state, int sym) {
- int k = la_state + sym;
- return termAction[termCheck[k] == sym ? k : la_state];
- }
-}

Back to the top