diff options
author | Mike Kucera | 2008-05-26 21:38:36 +0000 |
---|---|---|
committer | Mike Kucera | 2008-05-26 21:38:36 +0000 |
commit | 0676e6587ade38cd6f63a3e827ed732955d3f536 (patch) | |
tree | b99806f43c941550bfc16be1b63c1f43aff7c3d2 /upc | |
parent | 109f2fb5fcd5d53e85c096de34037140a757ff83 (diff) | |
download | org.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')
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]; - } -} |