Skip to main content
summaryrefslogtreecommitdiffstats
path: root/upc
diff options
context:
space:
mode:
authorMike Kucera2009-02-04 16:58:18 -0500
committerMike Kucera2009-02-04 16:58:18 -0500
commitc9b3182198be50b2aa80d612d16ccc35402adb54 (patch)
tree2218a93bf91b4208f87c138a06067d3f9a8b5ad1 /upc
parentb1f0b681d3be562f5ff5a35e2c7de71feea0de60 (diff)
downloadorg.eclipse.cdt-c9b3182198be50b2aa80d612d16ccc35402adb54.tar.gz
org.eclipse.cdt-c9b3182198be50b2aa80d612d16ccc35402adb54.tar.xz
org.eclipse.cdt-c9b3182198be50b2aa80d612d16ccc35402adb54.zip
cleaning up the architecture of the LR parsers
Diffstat (limited to 'upc')
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java4
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java17
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java16
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java872
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java1210
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java868
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java1225
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java885
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java2178
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java856
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java1196
15 files changed, 4694 insertions, 4641 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
index 5aebaa7dbc..b7be58100a 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRSecondaryParserTemplate.g
$Import
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g
index c17364f890..635c9aee76 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRSecondaryParserTemplate.g
$Import
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g
index ea1e78c3a8..8f4d84d256 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRParserTemplate.g
$Import
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g
index 19e61f3af6..564b1637ca 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRSecondaryParserTemplate.g
$Import
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 aa5875b837..5900bd8747 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
@@ -23,7 +23,7 @@ import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression;
import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression;
import org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
@@ -48,7 +48,7 @@ public class UPCParserAction extends C99BuildASTParserAction {
* @param parser
* @param tu
*/
- public UPCParserAction(IParserActionTokenProvider parser, ScopedStack<Object> astStack, IUPCNodeFactory nodeFactory, ISecondaryParserFactory parserFactory) {
+ public UPCParserAction(ITokenStream parser, ScopedStack<Object> astStack, IUPCNodeFactory nodeFactory, ISecondaryParserFactory parserFactory) {
super(parser, astStack, nodeFactory, parserFactory);
this.nodeFactory = nodeFactory;
nodeFactory.setUseC99SizeofExpressions();
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java
index 216d356c47..4f3e79c7b0 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java
@@ -11,10 +11,13 @@
package org.eclipse.cdt.core.dom.parser.upc;
+import java.util.Set;
+
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
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;
@@ -27,16 +30,16 @@ public class UPCSecondaryParserFactory implements ISecondaryParserFactory{
return DEFAULT_INSTANCE;
}
- public IParser<IASTExpression> getExpressionParser(IParserActionTokenProvider parser) {
- return new UPCExpressionParser(parser);
+ public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Set<IParser.Options> options) {
+ return new UPCExpressionParser(stream, options);
}
- public IParser<IASTExpression> getNoCastExpressionParser(IParserActionTokenProvider parser) {
- return new UPCNoCastExpressionParser(parser);
+ public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options) {
+ return new UPCNoCastExpressionParser(stream, options);
}
- public IParser<IASTExpression> getSizeofExpressionParser(IParserActionTokenProvider parser) {
- return new UPCSizeofExpressionParser(parser);
+ public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) {
+ return new UPCSizeofExpressionParser(stream, options);
}
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java
index 0cfd67013c..2286fb1b05 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java
@@ -10,20 +10,24 @@
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc;
+import java.util.Set;
+
import org.eclipse.cdt.core.dom.ILinkage;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
-import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration;
+import org.eclipse.cdt.core.dom.lrparser.IParser.Options;
import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
import org.eclipse.cdt.core.dom.parser.c.ANSICParserExtensionConfiguration;
import org.eclipse.cdt.core.dom.parser.upc.DOMToUPCTokenMap;
import org.eclipse.cdt.core.dom.parser.upc.UPCLanguageKeywords;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.model.IContributedModelBuilder;
import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.internal.core.dom.parser.upc.UPCParser;
@@ -44,13 +48,8 @@ public class UPCLanguage extends BaseExtensibleLanguage {
}
@Override
- protected IDOMTokenMap getTokenMap() {
- return new DOMToUPCTokenMap();
- }
-
- @Override
- public IParser<IASTTranslationUnit> getParser() {
- return new UPCParser();
+ protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Set<Options> options) {
+ return new UPCParser(scanner, new DOMToUPCTokenMap(), getBuiltinBindingsProvider(), index, options);
}
/**
@@ -90,7 +89,6 @@ public class UPCLanguage extends BaseExtensibleLanguage {
return ScannerExtensionConfiguration.createC();
}
- @Override
protected IBuiltinBindingsProvider getBuiltinBindingsProvider() {
return new ANSICParserExtensionConfiguration().getBuiltinBindingsProvider();
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java
index eefb86977e..13b109eef5 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java
@@ -17,13 +17,20 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
@@ -37,7 +44,9 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser< IASTExpression >
+public class UPCExpressionParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTExpression >
+ , ISecondaryParser< IASTExpression >
{
private static ParseTable prs = new UPCExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -175,7 +184,11 @@ public class UPCExpressionParser extends PrsStream implements RuleAction , IPars
private UPCParserAction action;
private IASTCompletionNode compNode;
-public UPCExpressionParser() { // constructor
+
+public UPCExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) {
+ initActions(options);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
private void initActions(Set<IParser.Options> options) {
@@ -194,10 +207,9 @@ public void addToken(IToken token) {
}
-public IASTExpression parse(Set<IParser.Options> options) {
+public IASTExpression parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(options);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
@@ -240,12 +252,12 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, UPCExpressionParsersym.TK_EOF_TOKEN));
}
-public UPCExpressionParser(IParserActionTokenProvider parser) { // constructor
- tokenMap = new TokenMap(UPCExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
+public UPCExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser
+ initActions(options);
+ tokenMap = new TokenMap(UPCExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
}
-
public void ruleAction(int ruleNumber)
{
switch (ruleNumber)
@@ -258,1293 +270,1299 @@ public UPCExpressionParser(IParserActionTokenProvider parser) { // constructor
}
//
- // Rule 12: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 13: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 14: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 15: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 17: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 17: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 18: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 18: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 21: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 22: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 23: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 24: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 26: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 27: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 41: unary_expression ::= sizeof ( type_id )
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 43: cast_expression ::= ( type_id ) cast_expression
+ // Rule 42: unary_expression ::= sizeof ( type_id )
//
- case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ case 42: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 44: cast_expression ::= ( type_id ) cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 44: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 48: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 50: additive_expression ::= additive_expression + multiplicative_expression
//
- case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression << additive_expression
+ // Rule 51: additive_expression ::= additive_expression - multiplicative_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 53: shift_expression ::= shift_expression >> additive_expression
+ // Rule 53: shift_expression ::= shift_expression << additive_expression
//
- case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 55: relational_expression ::= relational_expression < shift_expression
+ // Rule 54: shift_expression ::= shift_expression >> additive_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 56: relational_expression ::= relational_expression > shift_expression
+ // Rule 56: relational_expression ::= relational_expression < shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression <= shift_expression
+ // Rule 57: relational_expression ::= relational_expression > shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 58: relational_expression ::= relational_expression >= shift_expression
+ // Rule 58: relational_expression ::= relational_expression <= shift_expression
//
- case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression == relational_expression
+ // Rule 59: relational_expression ::= relational_expression >= shift_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 61: equality_expression ::= equality_expression != relational_expression
+ // Rule 61: equality_expression ::= equality_expression == relational_expression
//
- case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 63: AND_expression ::= AND_expression & equality_expression
+ // Rule 62: equality_expression ::= equality_expression != relational_expression
//
- case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 65: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 64: and_expression ::= and_expression & equality_expression
//
- case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 67: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 66: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 69: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 68: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 71: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 70: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 73: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 72: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 73: { action. consumeExpressionConditional(); break;
+ case 72: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 74: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 74: { action. consumeExpressionConditional(); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression = assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression *= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression /= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression %= assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression += assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression -= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression &= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 85: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 86: assignment_expression ::= unary_expression |= assignment_expression
//
- case 88: { action. consumeExpressionList(); break;
+ case 86: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 90: expression_list_opt ::= $Empty
+ // Rule 89: expression_list ::= <openscope-ast> expression_list_actual
//
- case 90: { action. consumeEmpty(); break;
+ case 89: { action. consumeExpressionList(); break;
}
//
- // Rule 100: statement ::= ERROR_TOKEN
+ // Rule 91: expression_list_opt ::= $Empty
//
- case 100: { action. consumeStatementProblem(); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 101: labeled_statement ::= identifier_token : statement
+ // Rule 101: statement ::= ERROR_TOKEN
//
- case 101: { action. consumeStatementLabeled(); break;
+ case 101: { action. consumeStatementProblem(); break;
}
//
- // Rule 102: labeled_statement ::= case constant_expression : statement
+ // Rule 102: labeled_statement ::= identifier_token : statement
//
- case 102: { action. consumeStatementCase(); break;
+ case 102: { action. consumeStatementLabeled(); break;
}
//
- // Rule 103: labeled_statement ::= default : statement
+ // Rule 103: labeled_statement ::= case constant_expression : statement
//
- case 103: { action. consumeStatementDefault(); break;
+ case 103: { action. consumeStatementCase(); break;
}
//
- // Rule 104: compound_statement ::= { }
+ // Rule 104: labeled_statement ::= default : statement
//
- case 104: { action. consumeStatementCompoundStatement(false); break;
+ case 104: { action. consumeStatementDefault(); break;
}
//
- // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 105: compound_statement ::= { }
//
- case 105: { action. consumeStatementCompoundStatement(true); break;
+ case 105: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 109: block_item ::= declaration
+ // Rule 106: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 106: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 110: expression_statement ::= ;
+ // Rule 110: block_item ::= declaration
//
- case 110: { action. consumeStatementNull(); break;
+ case 110: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 111: expression_statement ::= expression_in_statement ;
+ // Rule 111: expression_statement ::= ;
//
- case 111: { action. consumeStatementExpression(); break;
+ case 111: { action. consumeStatementNull(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement
+ // Rule 112: expression_statement ::= expression_in_statement ;
//
- case 112: { action. consumeStatementIf(false); break;
+ case 112: { action. consumeStatementExpression(); break;
}
//
- // Rule 113: selection_statement ::= if ( expression ) statement else statement
+ // Rule 113: selection_statement ::= if ( expression ) statement
//
- case 113: { action. consumeStatementIf(true); break;
+ case 113: { action. consumeStatementIf(false); break;
}
//
- // Rule 114: selection_statement ::= switch ( expression ) statement
+ // Rule 114: selection_statement ::= if ( expression ) statement else statement
//
- case 114: { action. consumeStatementSwitch(); break;
+ case 114: { action. consumeStatementIf(true); break;
}
//
- // Rule 116: expression_opt ::= $Empty
+ // Rule 115: selection_statement ::= switch ( expression ) statement
//
- case 116: { action. consumeEmpty(); break;
+ case 115: { action. consumeStatementSwitch(); break;
}
//
- // Rule 117: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 117: expression_opt ::= $Empty
//
- case 117: { action. consumeStatementDoLoop(); break;
+ case 117: { action. consumeEmpty(); break;
}
//
- // Rule 118: iteration_statement ::= while ( expression ) statement
+ // Rule 118: iteration_statement ::= do statement while ( expression ) ;
//
- case 118: { action. consumeStatementWhileLoop(); break;
+ case 118: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 119: iteration_statement ::= while ( expression ) statement
//
- case 119: { action. consumeStatementForLoop(); break;
+ case 119: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 120: { action. consumeStatementForLoop(); break;
}
//
- // Rule 121: jump_statement ::= goto identifier_token ;
+ // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 121: { action. consumeStatementGoto(); break;
+ case 121: { action. consumeStatementForLoop(); break;
}
//
- // Rule 122: jump_statement ::= continue ;
+ // Rule 122: jump_statement ::= goto identifier_token ;
//
- case 122: { action. consumeStatementContinue(); break;
+ case 122: { action. consumeStatementGoto(); break;
}
//
- // Rule 123: jump_statement ::= break ;
+ // Rule 123: jump_statement ::= continue ;
//
- case 123: { action. consumeStatementBreak(); break;
+ case 123: { action. consumeStatementContinue(); break;
}
//
- // Rule 124: jump_statement ::= return ;
+ // Rule 124: jump_statement ::= break ;
//
- case 124: { action. consumeStatementReturn(false); break;
+ case 124: { action. consumeStatementBreak(); break;
}
//
- // Rule 125: jump_statement ::= return expression ;
+ // Rule 125: jump_statement ::= return ;
//
- case 125: { action. consumeStatementReturn(true); break;
+ case 125: { action. consumeStatementReturn(false); break;
}
//
- // Rule 126: declaration ::= declaration_specifiers ;
+ // Rule 126: jump_statement ::= return expression ;
//
- case 126: { action. consumeDeclarationSimple(false); break;
+ case 126: { action. consumeStatementReturn(true); break;
}
//
- // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 127: declaration ::= declaration_specifiers ;
//
- case 127: { action. consumeDeclarationSimple(true); break;
+ case 127: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 128: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 128: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 129: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 132: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 157: init_declarator ::= complete_declarator = initializer
+ // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 157: { action. consumeDeclaratorWithInitializer(true); break;
+ case 133: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 159: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 158: init_declarator ::= complete_declarator = initializer
//
- case 159: { action. consumeToken(); break;
+ case 158: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 165: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 160: storage_class_specifier ::= storage_class_specifier_token
//
- case 165: { action. consumeToken(); break;
+ case 160: { action. consumeToken(); break;
}
//
- // Rule 178: type_name_specifier ::= identifier_token
+ // Rule 166: simple_type_specifier ::= simple_type_specifier_token
//
- case 178: { action. consumeToken(); break;
+ case 166: { action. consumeToken(); break;
}
//
- // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 179: type_name_specifier ::= identifier_token
//
- case 179: { action. consumeTypeSpecifierComposite(false); break;
+ case 179: { action. consumeToken(); break;
}
//
- // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 180: { action. consumeTypeSpecifierComposite(true); break;
+ case 180: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 181: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 193: { action. consumeStructDeclaration(true); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 194: { action. consumeStructDeclaration(false); break;
+ case 194: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 195: struct_declaration ::= ERROR_TOKEN
+ // Rule 195: struct_declaration ::= specifier_qualifier_list ;
//
- case 195: { action. consumeDeclarationProblem(); break;
+ case 195: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 201: struct_declarator ::= : constant_expression
+ // Rule 196: struct_declaration ::= ERROR_TOKEN
//
- case 201: { action. consumeBitField(false); break;
+ case 196: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 202: struct_declarator ::= declarator : constant_expression
+ // Rule 202: struct_declarator ::= : constant_expression
//
- case 202: { action. consumeBitField(true); break;
+ case 202: { action. consumeBitField(false); break;
}
//
- // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 203: struct_declarator ::= declarator : constant_expression
//
- case 203: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 203: { action. consumeBitField(true); break;
}
//
- // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 204: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 210: enumerator ::= identifier_token
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 210: { action. consumeEnumerator(false); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 211: enumerator ::= identifier_token = constant_expression
+ // Rule 211: enumerator ::= identifier_token
//
- case 211: { action. consumeEnumerator(true); break;
+ case 211: { action. consumeEnumerator(false); break;
}
//
- // Rule 212: type_qualifier ::= type_qualifier_token
+ // Rule 212: enumerator ::= identifier_token = constant_expression
//
- case 212: { action. consumeToken(); break;
+ case 212: { action. consumeEnumerator(true); break;
}
//
- // Rule 216: function_specifier ::= inline
+ // Rule 213: type_qualifier ::= type_qualifier_token
//
- case 216: { action. consumeToken(); break;
+ case 213: { action. consumeToken(); break;
}
//
- // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 217: function_specifier ::= inline
//
- case 218: { action. consumeDeclaratorWithPointer(true); break;
+ case 217: { action. consumeToken(); break;
}
//
- // Rule 223: basic_direct_declarator ::= declarator_id_name
+ // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 223: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 219: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 224: basic_direct_declarator ::= ( declarator )
+ // Rule 224: basic_direct_declarator ::= declarator_id_name
//
- case 224: { action. consumeDirectDeclaratorBracketed(); break;
+ case 224: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 225: declarator_id_name ::= identifier
+ // Rule 225: basic_direct_declarator ::= ( declarator )
//
- case 225: { action. consumeIdentifierName(); break;
+ case 225: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 226: declarator_id_name ::= identifier
//
- case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 226: { action. consumeIdentifierName(); break;
}
//
- // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 230: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 232: { action. consumeDeclaratorWithPointer(true); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 233: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 235: { action. consumeDeclaratorWithPointer(true); break;
+ case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 236: identifier_list ::= identifier
+ // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 236: { action. consumeIdentifierKnR(); break;
+ case 236: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 237: identifier_list ::= identifier_list , identifier
+ // Rule 237: identifier_list ::= identifier
//
case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 238: array_modifier ::= [ ]
+ // Rule 238: identifier_list ::= identifier_list , identifier
//
- case 238: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 239: array_modifier ::= [ ]
//
- case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 239: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 240: array_modifier ::= [ assignment_expression ]
+ // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 240: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 241: array_modifier ::= [ assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 241: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 242: array_modifier ::= [ static assignment_expression ]
+ // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 243: array_modifier ::= [ static assignment_expression ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 245: array_modifier ::= [ * ]
+ // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 246: array_modifier ::= [ * ]
//
- case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 248: pointer_seq ::= pointer_hook *
+ // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 248: { action. consumePointer(); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 249: pointer_seq ::= pointer_seq pointer_hook *
+ // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
//
case 249: { action. consumePointer(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 250: { action. consumePointerTypeQualifierList(); break;
+ case 250: { action. consumePointer(); break;
}
//
- // Rule 251: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 255: parameter_type_list ::= parameter_list
+ // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 255: { action. consumeEmpty(); break;
+ case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 256: parameter_type_list ::= parameter_list , ...
+ // Rule 256: parameter_type_list ::= parameter_list
//
- case 256: { action. consumePlaceHolder(); break;
+ case 256: { action. consumeEmpty(); break;
}
//
- // Rule 257: parameter_type_list ::= ...
+ // Rule 257: parameter_type_list ::= parameter_list , ...
//
case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 258: parameter_type_list ::= ...
//
- case 260: { action. consumeParameterDeclaration(); break;
+ case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 261: parameter_declaration ::= declaration_specifiers
+ // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 261: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 264: type_id ::= specifier_qualifier_list
+ // Rule 262: parameter_declaration ::= declaration_specifiers
//
- case 264: { action. consumeTypeId(false); break;
+ case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator
+ // Rule 265: type_id ::= specifier_qualifier_list
//
- case 265: { action. consumeTypeId(true); break;
+ case 265: { action. consumeTypeId(false); break;
}
//
- // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 267: { action. consumeDeclaratorWithPointer(false); break;
+ case 266: { action. consumeTypeId(true); break;
}
//
- // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq
//
case 268: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 272: { action. consumeDirectDeclaratorBracketed(); break;
+ case 269: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= array_modifier
+ // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 273: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 274: array_direct_abstract_declarator ::= array_modifier
//
- case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= ( )
+ // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 277: function_direct_abstract_declarator ::= ( )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
- }
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
//
- // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 280: initializer ::= assignment_expression
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 280: { action. consumeInitializer(); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 281: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 281: initializer ::= assignment_expression
//
- case 281: { action. consumeInitializerList(); break;
+ case 281: { action. consumeInitializer(); break;
}
//
- // Rule 282: initializer ::= { <openscope-ast> }
+ // Rule 282: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
case 282: { action. consumeInitializerList(); break;
}
//
- // Rule 283: start_initializer_list ::= $Empty
+ // Rule 283: initializer ::= { <openscope-ast> }
//
- case 283: { action. initializerListStart(); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 284: end_initializer_list ::= $Empty
+ // Rule 284: start_initializer_list ::= $Empty
//
- case 284: { action. initializerListEnd(); break;
+ case 284: { action. initializerListStart(); break;
}
//
- // Rule 289: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 285: end_initializer_list ::= $Empty
//
- case 289: { action. consumeInitializerDesignated(); break;
+ case 285: { action. initializerListEnd(); break;
}
//
- // Rule 293: designator_base ::= [ constant_expression ]
+ // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 293: { action. consumeDesignatorArray(); break;
+ case 290: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 294: designator_base ::= . identifier_token
+ // Rule 294: designator_base ::= [ constant_expression ]
//
- case 294: { action. consumeDesignatorField(); break;
+ case 294: { action. consumeDesignatorArray(); break;
}
//
- // Rule 295: designator ::= [ constant_expression ]
+ // Rule 295: designator_base ::= . identifier_token
//
- case 295: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorField(); break;
}
//
- // Rule 296: designator ::= . identifier_token
+ // Rule 296: designator ::= [ constant_expression ]
//
- case 296: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 297: translation_unit ::= external_declaration_list
+ // Rule 297: designator ::= . identifier_token
//
- case 297: { action. consumeTranslationUnit(); break;
- }
+ case 297: { action. consumeDesignatorField(); break;
+ }
//
- // Rule 298: translation_unit ::= $Empty
+ // Rule 298: translation_unit ::= external_declaration_list
//
case 298: { action. consumeTranslationUnit(); break;
- }
+ }
//
- // Rule 303: external_declaration ::= ;
+ // Rule 299: translation_unit ::= $Empty
//
- case 303: { action. consumeDeclarationEmpty(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 304: external_declaration ::= ERROR_TOKEN
+ // Rule 304: external_declaration ::= ;
//
- case 304: { action. consumeDeclarationProblem(); break;
+ case 304: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 305: external_declaration ::= ERROR_TOKEN
//
- case 307: { action. consumeFunctionDefinition(true); break;
+ case 305: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 308: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 308: { action. consumeFunctionDefinition(false); break;
+ case 308: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 309: { action. consumeFunctionDefinitionKnR(); break;
+ case 309: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 310: function_body ::= { }
+ // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 310: { action. consumeStatementCompoundStatement(false); break;
+ case 310: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 311: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 311: function_body ::= { }
//
- case 311: { action. consumeStatementCompoundStatement(true); break;
+ case 311: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 313: expression_parser_start ::= ERROR_TOKEN
+ // Rule 312: function_body ::= { <openscope-ast> block_item_list }
//
- case 313: { action. consumeEmpty(); break;
+ case 312: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 314: literal ::= MYTHREAD
+ // Rule 314: expression_parser_start ::= ERROR_TOKEN
//
- case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 314: { action. consumeEmpty(); break;
}
//
- // Rule 315: literal ::= THREADS
+ // Rule 315: literal ::= MYTHREAD
//
- case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 316: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 316: literal ::= THREADS
//
- case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 317: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 317: literal ::= UPC_MAX_BLOCKSIZE
//
- case 317: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 318: unary_expression ::= upc_localsizeof ( type_id )
+ // Rule 318: unary_expression ::= upc_localsizeof unary_expression
//
- case 318: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 319: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 319: unary_expression ::= upc_localsizeof ( type_id )
//
- case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 319: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 320: unary_expression ::= upc_blocksizeof ( type_id )
+ // Rule 320: unary_expression ::= upc_blocksizeof unary_expression
//
- case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 321: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 321: unary_expression ::= upc_blocksizeof ( type_id )
//
- case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 322: unary_expression ::= upc_elemsizeof ( type_id )
+ // Rule 322: unary_expression ::= upc_elemsizeof unary_expression
//
- case 322: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 322: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 326: shared_type_qualifier ::= shared
+ // Rule 323: unary_expression ::= upc_elemsizeof ( type_id )
//
- case 326: { action. consumeToken(); break;
+ case 323: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 327: reference_type_qualifier ::= relaxed
+ // Rule 327: shared_type_qualifier ::= shared
//
case 327: { action. consumeToken(); break;
}
//
- // Rule 328: reference_type_qualifier ::= strict
+ // Rule 328: reference_type_qualifier ::= relaxed
//
case 328: { action. consumeToken(); break;
}
//
- // Rule 329: layout_qualifier ::= [ constant_expression ]
+ // Rule 329: reference_type_qualifier ::= strict
+ //
+ case 329: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 330: layout_qualifier ::= [ constant_expression ]
//
- case 329: { action. consumeLayoutQualifier(true, false); break;
+ case 330: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 330: layout_qualifier ::= [ * ]
+ // Rule 331: layout_qualifier ::= [ * ]
//
- case 330: { action. consumeLayoutQualifier(false, true); break;
+ case 331: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 331: layout_qualifier ::= [ ]
+ // Rule 332: layout_qualifier ::= [ ]
//
- case 331: { action. consumeLayoutQualifier(false, false); break;
+ case 332: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 333: synchronization_statement ::= upc_notify expression ;
+ // Rule 334: synchronization_statement ::= upc_notify expression ;
//
- case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 334: synchronization_statement ::= upc_notify ;
+ // Rule 335: synchronization_statement ::= upc_notify ;
//
- case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 335: synchronization_statement ::= upc_wait expression ;
+ // Rule 336: synchronization_statement ::= upc_wait expression ;
//
- case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 336: synchronization_statement ::= upc_wait ;
+ // Rule 337: synchronization_statement ::= upc_wait ;
//
- case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 337: synchronization_statement ::= upc_barrier expression ;
+ // Rule 338: synchronization_statement ::= upc_barrier expression ;
//
- case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 338: synchronization_statement ::= upc_barrier ;
+ // Rule 339: synchronization_statement ::= upc_barrier ;
//
- case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 339: synchronization_statement ::= upc_fence ;
+ // Rule 340: synchronization_statement ::= upc_fence ;
//
- case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 341: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 342: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 345: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 346: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 347: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 348: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 349: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 350: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 353: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 354: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 355: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 355: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 355: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 356: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 356: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 357: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 357: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 358: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 358: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 359: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 361: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 360: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 361: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 361: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 361: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 362: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 363: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 362: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 363: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 363: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 363: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 364: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 365: affinity ::= continue
+ // Rule 366: affinity ::= continue
//
- case 365: { action. consumeToken(); break;
+ case 366: { action. consumeToken(); break;
}
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
index 99c9378c88..f5404e8821 100644
--- 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
@@ -35,85 +35,85 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3,1,1,
- 4,4,3,3,2,2,8,1,0,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,4,3,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,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,8,1,0,
+ 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,4,3,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,6,8,
- 0,0,1,1,3,3,3,0,1,0,
- 1,2,4,2,1,1,1,3,1,1,
- 2,3,7,8,0,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,2,3,4,
- 5,0,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,
- 7,3,0,0,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,0,0,0,-82,0,0,0,0,
- 0,0,0,0,0,0,-120,-88,0,0,
- 0,0,-156,-2,-85,-86,0,0,0,0,
- 0,-61,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-180,
- 0,-4,0,0,0,-131,0,0,0,0,
- 0,0,0,-5,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-137,0,0,
+ 1,1,1,1,1,1,1,1,1,6,
+ 8,0,0,1,1,3,3,3,0,1,
+ 0,1,2,4,2,1,1,1,3,1,
+ 1,2,3,7,8,0,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,3,4,
+ 5,6,0,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,7,3,0,0,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,0,0,0,-40,0,0,0,
+ 0,0,0,0,0,0,0,-131,0,0,
+ 0,0,0,-156,-2,-85,-229,0,-86,0,
+ 0,0,0,-61,0,0,0,0,0,0,
+ 0,0,0,-4,0,0,0,0,0,0,
+ 0,0,-17,0,0,-19,0,0,-20,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-203,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,0,0,-203,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-58,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -126,0,0,0,0,0,0,0,0,-129,
- 0,0,-132,0,0,-36,0,-17,-95,0,
- 0,-19,0,-90,-211,0,-133,0,-20,0,
- 0,-143,0,-176,0,0,0,0,0,0,
+ -82,0,0,0,-58,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-146,0,
+ 0,-126,0,0,0,0,0,0,0,0,
+ 0,-21,0,-36,0,0,-37,0,-88,-92,
+ -95,0,-22,0,-23,-212,0,-90,-132,0,
+ 0,-155,0,0,-176,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-133,0,-24,-146,0,
-123,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-89,0,-21,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-150,0,0,
+ 0,0,0,0,0,0,-5,0,0,0,
+ 0,0,0,0,0,0,-134,0,0,0,
0,0,0,0,0,0,-9,0,0,0,
- 0,0,0,0,0,-134,0,-155,0,0,
- 0,0,0,0,0,0,-151,0,0,0,
- 0,0,0,0,0,0,-10,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,
- 0,0,0,-199,0,0,0,0,0,0,
- 0,0,0,-40,0,0,0,0,0,0,
+ 0,-25,0,-199,0,0,0,0,0,0,
+ 0,0,0,-230,0,0,0,0,0,0,
0,0,0,0,-3,0,0,0,0,0,
+ 0,0,0,0,-168,0,0,0,0,0,
+ 0,0,0,0,0,-135,0,-166,-26,-59,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-135,0,-166,0,-59,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-80,0,-130,0,0,0,
+ 0,0,0,0,0,0,-130,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-22,0,-142,
+ 0,0,0,0,0,0,0,-27,0,-142,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -23,0,0,-30,0,0,0,0,0,0,
+ 0,0,0,-30,0,0,0,0,0,0,
0,0,0,-41,0,0,0,0,0,0,
0,0,0,0,-63,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -138,101 +138,102 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
0,0,0,-78,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,0,-161,0,0,0,0,
+ 0,0,0,0,0,-136,0,0,0,0,
0,0,0,0,0,-79,0,0,0,0,
- 0,0,0,0,0,0,-162,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-179,0,0,
- 0,0,0,0,0,0,0,-24,0,0,
- 0,0,0,0,0,0,0,-202,0,0,
- 0,0,0,0,0,0,0,-92,0,0,
- 0,0,0,0,0,0,0,-178,0,-201,
- 0,-25,-196,0,-44,0,0,0,0,0,
- 0,0,0,-210,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-218,0,0,0,0,0,0,
- 0,0,0,-93,0,0,0,0,0,0,
- 0,0,0,-37,0,0,0,-26,-208,0,
- -45,0,0,0,0,0,0,0,0,-226,
+ 0,0,0,0,0,0,-161,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-136,
- 0,0,0,0,0,0,0,0,0,-217,
- 0,0,0,0,0,0,0,0,0,-97,
- 0,0,0,-27,-28,0,-55,0,0,0,
+ 0,0,0,0,0,0,0,-162,0,0,
+ 0,0,0,0,0,0,0,-127,0,0,
+ 0,0,0,0,0,0,0,0,-179,0,
0,0,0,0,0,0,0,0,0,0,
- -139,-29,0,0,0,0,-194,-152,-169,-145,
- 0,0,0,0,0,-213,0,0,0,0,
- -56,0,0,0,0,0,0,0,0,0,
- -154,0,0,0,0,0,0,0,0,-91,
+ 0,0,0,0,0,0,0,0,-202,0,
+ 0,0,0,0,0,0,0,0,-93,0,
+ 0,0,0,0,0,0,0,0,-178,0,
+ -28,-196,-201,0,0,-44,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,0,-124,-141,0,0,0,0,
- 0,0,0,0,0,0,-228,-98,-165,0,
- 0,0,0,0,0,0,0,0,0,-62,
+ 0,0,0,0,-220,0,0,0,0,0,
+ 0,0,0,0,-80,0,0,0,0,0,
+ 0,0,0,0,-120,0,0,-29,-98,-180,
+ 0,-99,-100,-209,0,-121,0,-97,0,-151,
+ -228,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-190,0,-6,0,
+ 0,0,0,0,0,0,-194,-145,-129,-189,
+ 0,0,0,0,-144,-124,0,0,0,0,
+ -101,-222,0,0,0,0,0,0,-102,0,
+ 0,0,0,0,0,0,0,0,0,-139,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-207,-38,0,0,0,0,0,
- -157,-99,-100,0,0,0,-127,-101,-144,0,
- 0,-39,0,-167,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-225,0,
- -159,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-57,0,0,0,0,
- 0,0,0,0,0,-170,0,0,-150,0,
+ 0,0,-141,-103,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-165,-104,0,0,
+ 0,0,0,-105,0,0,0,-62,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-173,-175,-149,0,0,0,0,
- 0,-102,-103,0,0,-104,0,-49,0,0,
- 0,0,0,0,0,0,0,0,0,-50,
- 0,0,0,0,0,0,0,0,0,-181,
- 0,0,0,0,-51,0,0,0,0,0,
- 0,0,0,0,-87,0,-52,0,0,0,
- 0,0,0,0,0,0,-105,0,-11,0,
+ 0,0,0,0,-190,0,-6,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-106,-174,0,-107,-192,0,0,0,0,
- -53,0,0,0,0,0,0,0,0,0,
- -220,-12,0,0,0,0,0,0,0,0,
- 0,0,-54,0,0,0,0,0,0,0,
- 0,0,0,-94,-84,-13,0,0,0,0,
- 0,0,0,-209,0,-108,-109,-110,0,0,
+ 0,-106,-38,0,0,0,0,0,-152,-107,
+ -154,-208,0,0,0,-159,-108,0,0,-193,
0,0,0,0,0,0,0,0,0,0,
- -111,0,0,0,-96,0,0,0,0,-164,
- 0,0,0,0,0,0,0,-227,0,0,
- 0,0,0,0,0,-184,-112,0,0,0,
- 0,0,-163,-113,-114,0,0,0,0,0,
- -14,0,0,0,0,0,0,0,0,0,
- 0,0,-42,0,0,0,0,0,0,0,
- 0,0,0,-46,0,0,0,0,0,0,
- 0,-47,0,0,0,0,0,0,0,-115,
- -116,0,-48,0,0,0,0,0,0,0,
- -81,0,0,0,0,0,0,0,-128,0,
- 0,0,0,-117,-118,-182,-205,-119,0,-188,
- -191,-122,-138,0,-189,0,0,-195,0,0,
- 0,-147,-185,-204,0,0,-7,0,0,0,
- 0,0,0,0,0,0,0,-8,0,0,
+ 0,0,0,0,0,-55,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-153,-158,-168,-221,0,-171,0,0,
- -216,0,0,-186,0,-177,0,0,-197,0,
- -15,0,0,0,0,0,0,-16,0,0,
- 0,0,0,0,-18,0,-193,0,-187,-31,
- 0,0,-214,-198,0,-32,0,0,-219,0,
- -33,0,-200,0,0,0,0,0,-34,0,
+ 0,0,0,0,0,0,-109,-167,-110,-111,
+ -175,-181,0,-56,0,0,0,0,0,0,
+ 0,0,0,-170,0,0,-57,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-227,
+ -157,0,0,-149,0,0,0,0,0,0,
+ 0,-192,-210,-112,0,-49,0,0,0,0,
+ 0,0,0,0,0,0,0,-53,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-121,0,0,0,0,0,0,0,0,
- 0,0,-35,-212,0,0,0,-224,0,0,
- 0,-125,0,-222,0,0,0,-223,0,-140,
- 0,-172,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-113,-114,-115,-116,0,0,
+ 0,-50,0,0,0,0,0,0,0,0,
+ 0,-117,0,-51,0,0,0,0,0,0,
+ 0,0,0,-118,0,-87,-7,0,0,0,
+ 0,0,0,0,0,-52,0,0,0,0,
+ 0,0,0,0,0,-160,0,-173,0,0,
+ 0,0,-119,-122,-138,0,-147,0,0,0,
+ 0,0,-54,0,0,0,0,0,0,0,
+ 0,0,-89,-8,0,0,0,0,0,0,
+ 0,-163,0,-45,0,0,0,0,0,0,
+ 0,0,-84,-91,-182,0,0,0,0,-94,
+ -223,-183,0,0,0,0,0,0,0,-153,
+ -169,0,-219,0,-218,-158,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-96,0,0,0,0,-143,0,-171,0,
+ 0,0,0,-10,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-177,0,
+ 0,0,0,0,0,0,0,0,-164,0,
+ 0,0,0,0,0,0,-11,0,0,0,
+ 0,0,0,0,0,-197,-198,-224,-174,0,
+ 0,-12,0,0,0,0,0,0,0,-13,
+ 0,0,0,0,0,0,0,-14,0,0,
+ 0,0,0,0,0,-42,-46,0,0,0,
+ 0,0,0,0,0,0,-47,0,0,0,
+ 0,0,0,0,-48,0,0,0,0,0,
+ 0,0,-221,-128,0,-81,0,0,0,0,
+ 0,0,0,0,-184,-226,-188,-191,0,0,
+ -185,0,0,0,0,0,0,0,0,0,
+ 0,-1,-186,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-187,0,-15,0,0,
+ 0,0,0,0,0,0,0,-18,-214,0,
+ 0,0,0,0,-200,-31,0,0,0,0,
+ -216,0,-213,0,0,0,0,-16,0,0,
+ 0,0,0,0,0,0,0,-225,0,0,
+ -32,0,0,0,0,-217,0,0,-33,0,
+ 0,0,0,0,0,-34,-195,0,0,0,
+ 0,0,0,-35,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-125,0,
+ 0,0,0,0,0,0,0,0,-140,-172,
0,0,0,0,0,0,-206,0,0,0,
- 0,-215,0,-148,0,0,0,0,-160,0,
- 0,-1,-183,0,-60,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-148,0,0,
+ 0,0,0,0,0,-204,0,0,-207,0,
+ -39,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-205,0,0,0,-215,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-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
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -242,205 +243,207 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface BaseAction {
public final static char baseAction[] = {
- 89,10,22,22,21,21,37,37,72,72,
- 1,1,2,2,2,2,3,3,3,4,
- 5,5,5,5,5,5,5,5,54,54,
- 73,6,6,6,6,6,6,6,6,6,
- 6,6,7,7,8,8,8,8,9,9,
- 9,11,11,11,12,12,12,12,12,13,
- 13,13,14,14,15,15,16,16,17,17,
- 18,18,19,19,20,20,20,20,20,20,
- 20,20,20,20,20,20,104,30,28,90,
- 90,75,75,46,105,105,105,105,105,105,
- 105,106,106,106,107,107,112,112,113,113,
- 108,108,109,109,109,115,115,110,110,110,
- 110,111,111,111,111,111,114,114,27,27,
- 27,27,27,32,32,32,81,81,76,76,
- 76,76,77,77,77,78,78,78,79,79,
- 79,80,80,80,116,116,117,117,118,33,
- 35,35,35,35,35,55,57,57,57,57,
- 57,57,57,57,57,57,57,57,66,63,
- 63,91,92,67,67,64,64,64,68,82,
- 82,83,83,69,69,69,31,93,93,84,
- 85,85,85,65,65,94,86,86,87,87,
- 70,70,23,24,24,24,34,51,51,38,
- 38,38,38,41,41,43,39,39,40,44,
- 44,119,119,42,120,120,95,95,29,29,
- 29,29,29,29,29,29,29,88,52,52,
- 52,52,36,59,59,58,58,58,60,60,
- 53,53,96,96,45,45,61,61,61,47,
- 47,47,48,49,49,49,50,50,50,50,
- 56,56,56,62,97,74,74,74,74,71,
- 98,99,99,100,100,101,101,121,121,122,
- 122,123,123,123,123,125,125,124,124,124,
- 126,126,89,89,2,2,2,6,6,6,
- 6,6,6,23,23,25,25,26,26,102,
- 102,102,105,127,127,127,127,127,127,127,
- 110,110,110,110,110,110,110,110,110,110,
- 110,110,110,110,110,110,110,110,110,110,
- 110,110,110,110,128,128,1,1318,16,20,
- 17,528,1252,44,539,532,63,758,598,1088,
- 781,1178,1122,1235,1234,74,91,17,952,134,
- 212,323,324,919,175,916,382,448,136,133,
- 135,159,606,19,16,20,17,528,42,44,
- 539,532,1702,758,598,1088,781,1178,1122,1624,
- 936,138,200,165,274,275,380,627,1812,142,
- 145,148,151,534,631,19,16,20,17,528,
- 321,422,1495,596,1290,1564,1595,1230,531,19,
- 16,20,17,528,1252,44,539,532,393,758,
- 598,1088,781,1178,1122,1235,1234,74,280,581,
- 19,16,20,17,528,1252,44,539,532,393,
- 758,598,1088,781,1178,1122,1235,1234,74,280,
- 325,1756,420,291,606,19,16,20,17,528,
- 42,44,539,532,285,758,598,1088,781,1578,
- 1744,427,19,16,20,17,528,42,35,286,
- 144,292,618,190,186,285,190,30,790,840,
- 1874,1744,373,245,115,190,1759,190,185,892,
- 286,277,819,1266,347,19,16,20,17,528,
- 1252,44,539,532,393,758,598,1088,781,1178,
- 1122,1235,1234,74,280,254,212,323,324,225,
- 178,756,19,16,20,17,528,1252,44,539,
- 532,1840,758,598,1088,781,1178,1122,1235,1234,
- 74,1306,134,212,323,324,40,716,245,24,
- 287,136,133,135,159,209,1744,606,19,16,
- 20,17,528,42,39,288,786,1743,953,134,
- 212,323,324,616,138,426,165,134,144,133,
- 135,159,142,145,148,151,534,606,19,16,
- 20,17,528,42,38,1495,596,1290,1564,1595,
- 1230,281,19,16,20,17,528,1252,44,539,
- 532,1832,758,598,1088,781,1178,1122,1235,1234,
- 74,1305,1445,238,556,19,16,20,17,528,
- 1252,44,539,532,88,758,598,1088,781,1178,
- 1122,1235,1234,74,280,606,19,16,20,17,
- 528,1252,44,539,532,1681,758,598,1088,781,
- 1178,1122,1235,1234,74,91,190,187,988,1748,
- 606,19,16,20,17,528,42,44,539,532,
- 289,758,598,1088,1591,794,1744,452,19,16,
- 20,17,528,42,44,539,532,227,758,598,
- 1088,781,1178,1122,1235,1234,93,21,62,331,
- 314,19,16,20,17,528,1252,44,539,532,
- 422,758,598,1088,781,1178,1122,1235,1234,74,
- 1623,53,239,1446,606,19,16,20,17,528,
- 1252,44,539,532,88,758,598,1088,781,1178,
- 1122,1235,1234,74,92,606,19,16,20,17,
- 528,1252,44,539,532,18,758,598,1088,781,
- 1178,1122,1235,1234,74,85,606,19,16,20,
- 17,528,1252,44,539,532,88,758,598,1088,
- 781,1178,1122,1235,1234,74,84,606,19,16,
- 20,17,528,1252,44,539,532,1670,758,598,
- 1088,781,1178,1122,1235,1234,74,83,606,19,
- 16,20,17,528,1252,44,539,532,88,758,
- 598,1088,781,1178,1122,1235,1234,74,82,606,
- 19,16,20,17,528,1252,44,539,532,1671,
- 758,598,1088,781,1178,1122,1235,1234,74,81,
- 606,19,16,20,17,528,1252,44,539,532,
- 88,758,598,1088,781,1178,1122,1235,1234,74,
- 80,606,19,16,20,17,528,1252,44,539,
- 532,1694,758,598,1088,781,1178,1122,1235,1234,
- 74,79,606,19,16,20,17,528,1252,44,
- 539,532,88,758,598,1088,781,1178,1122,1235,
- 1234,74,78,606,19,16,20,17,528,1252,
- 44,539,532,1695,758,598,1088,781,1178,1122,
- 1235,1234,74,77,606,19,16,20,17,528,
- 1252,44,539,532,88,758,598,1088,781,1178,
- 1122,1235,1234,74,76,606,19,16,20,17,
- 528,1252,44,539,532,1698,758,598,1088,781,
- 1178,1122,1235,1234,74,75,606,19,16,20,
- 17,528,1252,44,539,532,88,758,598,1088,
- 781,1178,1122,1235,1234,74,1713,606,19,16,
- 20,17,528,1252,44,539,532,22,758,598,
- 1088,781,1178,1122,1235,1234,74,1754,606,19,
- 16,20,17,528,42,44,539,532,8,758,
- 598,1088,781,1178,1122,1235,1234,93,606,19,
- 16,20,17,528,42,44,539,532,246,758,
- 598,1088,781,1178,1122,1235,1234,93,190,294,
- 190,296,135,996,1793,606,19,16,20,17,
- 528,42,44,1372,606,19,16,20,17,528,
- 42,44,539,532,1824,758,598,1088,781,1178,
- 1122,1235,1234,93,606,19,16,20,17,528,
- 42,44,539,532,795,758,598,1088,781,1178,
- 1122,1235,1234,93,190,30,523,1574,763,996,
- 211,606,19,16,20,17,528,42,44,1373,
- 606,19,16,20,17,528,42,44,539,532,
- 201,758,598,1088,781,1178,1122,1235,1234,93,
- 606,19,16,20,17,528,42,44,539,532,
- 918,758,598,1088,781,1178,1122,1235,1234,73,
- 225,178,537,1834,59,340,202,606,19,16,
- 20,17,528,42,44,539,532,23,758,598,
- 1525,803,307,134,212,323,324,113,17,966,
- 854,1879,137,133,135,159,953,569,1842,569,
- 1745,606,19,16,20,17,528,42,44,539,
- 532,17,758,1576,196,139,1260,165,1777,273,
- 96,1523,193,143,146,149,152,534,217,718,
- 220,1384,222,223,228,794,794,266,396,395,
- 271,262,259,134,212,323,324,171,781,881,
- 1838,263,147,133,135,159,192,240,242,1700,
- 606,19,16,20,17,528,42,44,539,532,
- 276,758,598,1088,781,1178,1625,893,273,656,
- 19,16,20,17,528,319,260,217,718,220,
- 1384,222,223,228,909,32,266,396,395,271,
- 1779,17,899,901,1746,695,273,88,174,88,
- 1377,1480,17,1703,926,218,718,220,1384,222,
- 223,228,695,89,268,396,395,271,272,909,
- 278,834,217,718,220,1384,222,223,228,1746,
- 87,1883,735,226,281,1789,606,19,16,20,
- 17,528,42,44,539,532,88,758,1577,427,
- 19,16,20,17,528,42,35,217,718,220,
- 1384,222,223,228,17,256,794,279,197,199,
- 1789,330,865,874,1708,1046,887,1220,606,19,
- 16,20,17,528,42,44,539,532,329,1378,
- 606,19,16,20,17,528,42,44,539,532,
- 256,1452,27,198,199,606,19,16,20,17,
- 528,42,44,539,532,375,1453,606,19,16,
- 20,17,528,42,44,539,532,927,1456,606,
- 19,16,20,17,528,42,37,282,134,212,
- 323,324,934,948,1759,889,256,141,133,135,
- 159,606,19,16,20,17,528,42,44,539,
- 1507,968,606,19,16,20,17,528,42,36,
- 140,1746,165,606,19,16,20,17,528,42,
- 44,539,1522,179,152,884,606,19,16,20,
- 17,528,42,35,256,1689,277,772,937,217,
- 718,220,1384,222,223,228,276,134,212,323,
- 324,377,1779,208,273,207,150,133,135,159,
- 427,19,16,20,17,528,42,35,973,1123,
- 1784,203,266,396,395,271,842,306,134,212,
- 323,324,246,794,938,784,1377,153,133,135,
- 159,606,19,16,20,17,528,42,34,254,
- 212,323,324,898,1703,241,218,718,220,1384,
- 222,223,228,376,606,19,16,20,17,528,
- 42,47,606,19,16,20,17,528,42,46,
- 622,647,273,606,19,16,20,17,528,42,
- 45,503,19,16,20,17,528,42,43,913,
- 266,396,395,271,672,697,17,529,722,569,
- 913,17,985,986,265,144,469,569,948,1759,
- 569,1867,941,794,850,1697,1260,681,19,16,
- 20,17,528,317,1260,1702,230,1260,706,19,
- 16,20,17,528,40,243,1702,254,212,323,
- 324,1812,258,976,987,63,63,1379,994,1712,
- 258,256,1347,258,794,1783,494,1712,1379,804,
- 1712,731,19,16,20,17,528,33,731,19,
- 16,20,17,528,32,17,244,958,208,88,
- 17,1702,1702,88,998,366,17,1364,180,330,
- 366,17,1872,794,1179,1784,366,1347,1608,17,
- 224,366,196,87,229,794,1643,196,87,366,
- 794,1643,904,196,87,293,794,1643,196,87,
- 684,794,1643,17,794,836,196,87,80,794,
- 1643,878,797,366,256,1986,920,1986,256,1986,
- 797,273,57,1986,962,1986,295,1986,1703,194,
- 196,87,569,794,1643,253,212,323,324,268,
- 396,395,271,253,212,323,324,169,1004,196,
- 1986,204,907,1777,942,1317,1986,569,1986,797,
- 1986,1986,478,797,569,17,1986,1986,1986,1986,
- 1986,542,695,233,196,695,1986,1986,1777,542,
- 1986,1260,253,212,323,324,253,212,323,324,
- 87,191,312,87,1986,1617,1986,1986,1986,1986,
- 760,1986,1986,1986,1526,1257,1986,258,1036,1986,
- 1986,1986,1426,1986,1712,1986,191,1986,1616,1986,
- 1986,1986,1714,1986,1986,1986,1986,1986,1986,1751,
- 1257,1986,1986,1986,1986,1986,1986,1986,1986,1986,
- 1986,1986,1986,1986,1986,1986,1986,1986,1986,1986,
- 1986,394,1986,0,326,737,0,19,178,0,
- 1,2211,0,1,2222,0
+ 89,10,104,22,22,21,21,37,37,72,
+ 72,1,1,2,2,2,2,3,3,3,
+ 4,5,5,5,5,5,5,5,5,54,
+ 54,73,6,6,6,6,6,6,6,6,
+ 6,6,6,7,7,8,8,8,8,9,
+ 9,9,11,11,11,12,12,12,12,12,
+ 13,13,13,14,14,15,15,16,16,17,
+ 17,18,18,19,19,20,20,20,20,20,
+ 20,20,20,20,20,20,20,105,31,28,
+ 90,90,75,75,46,106,106,106,106,106,
+ 106,106,107,107,107,108,108,113,113,114,
+ 114,109,109,110,110,110,116,116,111,111,
+ 111,111,112,112,112,112,112,115,115,27,
+ 27,27,27,27,33,33,33,81,81,76,
+ 76,76,76,77,77,77,78,78,78,79,
+ 79,79,80,80,80,117,117,118,118,119,
+ 34,36,36,36,36,36,55,57,57,57,
+ 57,57,57,57,57,57,57,57,57,66,
+ 63,63,91,92,67,67,64,64,64,68,
+ 82,82,83,83,69,69,69,32,93,93,
+ 84,85,85,85,65,65,94,86,86,87,
+ 87,70,70,23,24,24,24,35,51,51,
+ 38,38,38,38,41,41,43,39,39,40,
+ 44,44,120,120,42,121,121,95,95,29,
+ 29,29,29,29,29,29,29,29,88,52,
+ 52,52,52,30,59,59,58,58,58,60,
+ 60,53,53,96,96,45,45,61,61,61,
+ 47,47,47,48,49,49,49,50,50,50,
+ 50,56,56,56,62,97,74,74,74,74,
+ 71,98,99,99,100,100,101,101,122,122,
+ 123,123,124,124,124,124,126,126,125,125,
+ 125,127,127,89,89,2,2,2,6,6,
+ 6,6,6,6,23,23,25,25,26,26,
+ 102,102,102,106,128,128,128,128,128,128,
+ 128,111,111,111,111,111,111,111,111,111,
+ 111,111,111,111,111,111,111,111,111,111,
+ 111,111,111,111,111,129,129,1,1199,17,
+ 21,18,423,1198,45,429,426,88,533,522,
+ 568,535,719,672,1141,758,75,92,380,1210,
+ 135,213,324,325,919,175,916,973,1726,382,
+ 137,134,136,160,606,20,17,21,18,423,
+ 43,45,429,426,200,533,522,568,535,719,
+ 672,1475,139,790,166,275,373,1535,276,892,
+ 143,146,149,152,538,219,718,221,1398,223,
+ 224,229,414,1506,1553,1574,1580,1612,1208,531,
+ 20,17,21,18,423,1198,45,429,426,394,
+ 533,522,568,535,719,672,1141,758,75,281,
+ 581,20,17,21,18,423,1198,45,429,426,
+ 394,533,522,568,535,719,672,1141,758,75,
+ 281,63,1639,1200,292,606,20,17,21,18,
+ 423,43,45,429,426,286,533,522,568,535,
+ 1399,1596,427,20,17,21,18,423,43,36,
+ 287,1534,245,542,190,31,286,190,31,952,
+ 246,840,1596,62,246,53,190,1666,115,190,
+ 187,287,953,1206,1779,347,20,17,21,18,
+ 423,1198,45,429,426,394,533,522,568,535,
+ 719,672,1141,758,75,281,190,186,8,225,
+ 179,756,20,17,21,18,423,1198,45,429,
+ 426,1859,533,522,568,535,719,672,1141,758,
+ 75,1283,135,213,324,325,1401,25,539,716,
+ 24,288,137,134,136,160,210,1596,427,20,
+ 17,21,18,423,43,36,289,631,20,17,
+ 21,18,423,322,139,627,166,786,1590,388,
+ 331,326,143,146,149,152,538,606,20,17,
+ 21,18,423,43,40,1506,1553,1574,1580,1612,
+ 1208,281,20,17,21,18,423,1198,45,429,
+ 426,1849,533,522,568,535,719,672,1141,758,
+ 75,1246,135,239,556,20,17,21,18,423,
+ 1198,45,429,426,171,533,522,568,535,719,
+ 672,1141,758,75,281,606,20,17,21,18,
+ 423,1198,45,429,426,63,533,522,568,535,
+ 719,672,1141,758,75,92,190,188,988,763,
+ 606,20,17,21,18,423,43,45,429,426,
+ 290,533,522,568,1400,1534,1596,452,20,17,
+ 21,18,423,43,45,429,426,228,533,522,
+ 568,535,719,672,1141,758,94,1325,59,332,
+ 314,20,17,21,18,423,1198,45,429,426,
+ 414,533,522,568,535,719,672,1141,758,75,
+ 1562,282,240,1434,606,20,17,21,18,423,
+ 1198,45,429,426,88,533,522,568,535,719,
+ 672,1141,758,75,93,606,20,17,21,18,
+ 423,1198,45,429,426,19,533,522,568,535,
+ 719,672,1141,758,75,86,606,20,17,21,
+ 18,423,1198,45,429,426,88,533,522,568,
+ 535,719,672,1141,758,75,85,606,20,17,
+ 21,18,423,1198,45,429,426,1477,533,522,
+ 568,535,719,672,1141,758,75,84,606,20,
+ 17,21,18,423,1198,45,429,426,88,533,
+ 522,568,535,719,672,1141,758,75,83,606,
+ 20,17,21,18,423,1198,45,429,426,1478,
+ 533,522,568,535,719,672,1141,758,75,82,
+ 606,20,17,21,18,423,1198,45,429,426,
+ 88,533,522,568,535,719,672,1141,758,75,
+ 81,606,20,17,21,18,423,1198,45,429,
+ 426,1492,533,522,568,535,719,672,1141,758,
+ 75,80,606,20,17,21,18,423,1198,45,
+ 429,426,88,533,522,568,535,719,672,1141,
+ 758,75,79,606,20,17,21,18,423,1198,
+ 45,429,426,1504,533,522,568,535,719,672,
+ 1141,758,75,78,606,20,17,21,18,423,
+ 1198,45,429,426,88,533,522,568,535,719,
+ 672,1141,758,75,77,606,20,17,21,18,
+ 423,1198,45,429,426,1533,533,522,568,535,
+ 719,672,1141,758,75,76,606,20,17,21,
+ 18,423,1198,45,429,426,88,533,522,568,
+ 535,719,672,1141,758,75,74,606,20,17,
+ 21,18,423,1198,45,429,426,23,533,522,
+ 568,535,719,672,1141,758,75,1741,606,20,
+ 17,21,18,423,1198,45,429,426,88,533,
+ 522,568,535,719,672,1141,758,75,1753,606,
+ 20,17,21,18,423,43,45,429,426,273,
+ 533,522,568,535,719,672,1141,758,94,606,
+ 20,17,21,18,423,43,45,429,426,795,
+ 533,522,568,535,719,672,1141,758,94,190,
+ 295,340,996,190,297,1785,606,20,17,21,
+ 18,423,43,45,1202,606,20,17,21,18,
+ 423,43,45,429,426,1793,533,522,568,535,
+ 719,672,1141,758,94,606,20,17,21,18,
+ 423,43,45,429,426,794,533,522,568,535,
+ 719,672,1141,758,94,17,1443,566,307,781,
+ 936,212,899,901,996,449,904,22,225,179,
+ 134,606,20,17,21,18,423,43,45,429,
+ 426,202,533,522,568,535,719,672,1141,758,
+ 94,135,213,324,325,274,1535,113,854,144,
+ 144,138,134,136,160,88,794,569,705,1878,
+ 1867,174,968,269,399,396,272,203,1668,865,
+ 278,231,1581,140,197,166,279,274,241,1360,
+ 63,144,147,150,153,538,218,718,221,1398,
+ 223,224,229,794,874,267,399,396,272,263,
+ 218,718,221,1398,223,224,229,881,887,264,
+ 1526,293,1619,1766,927,243,193,1737,606,20,
+ 17,21,18,423,43,45,429,426,277,533,
+ 522,568,535,719,1476,893,274,656,20,17,
+ 21,18,423,320,261,218,718,221,1398,223,
+ 224,229,934,32,267,399,396,272,1766,17,
+ 889,17,909,695,274,1535,63,277,1088,1860,
+ 958,1669,1581,219,718,221,1398,223,224,229,
+ 1352,90,269,399,396,272,606,20,17,21,
+ 18,423,43,45,429,426,1582,533,522,1350,
+ 218,718,221,1398,223,224,229,772,926,937,
+ 377,256,256,1723,606,20,17,21,18,423,
+ 43,45,429,426,88,533,1357,606,20,17,
+ 21,18,423,43,45,429,426,227,533,1397,
+ 909,17,195,1046,794,280,198,200,28,283,
+ 1581,1402,256,256,306,1593,606,20,17,21,
+ 18,423,43,45,429,426,330,1251,606,20,
+ 17,21,18,423,43,45,429,1304,218,718,
+ 221,1398,223,224,229,938,784,622,647,180,
+ 204,1723,606,20,17,21,18,423,43,45,
+ 429,426,672,1259,606,20,17,21,18,423,
+ 43,45,429,426,697,1284,375,681,20,17,
+ 21,18,423,318,199,200,606,20,17,21,
+ 18,423,43,45,429,426,819,1298,17,135,
+ 213,324,325,722,985,986,1735,941,1827,142,
+ 134,136,160,606,20,17,21,18,423,43,
+ 45,429,1342,40,706,20,17,21,18,423,
+ 41,141,794,166,606,20,17,21,18,423,
+ 43,45,1203,884,96,17,135,213,324,325,
+ 152,63,834,1724,242,470,145,134,136,160,
+ 976,966,1886,918,277,256,987,135,213,324,
+ 325,569,274,135,213,324,325,148,134,136,
+ 160,1534,207,151,134,136,160,803,1238,994,
+ 267,399,396,272,606,20,17,21,18,423,
+ 43,39,181,397,1088,135,213,324,325,494,
+ 255,213,324,325,260,154,134,136,160,427,
+ 20,17,21,18,423,43,36,606,20,17,
+ 21,18,423,43,38,194,804,998,256,948,
+ 1666,247,606,20,17,21,18,423,43,37,
+ 606,20,17,21,18,423,43,36,606,20,
+ 17,21,18,423,43,35,898,606,20,17,
+ 21,18,423,43,48,205,491,606,20,17,
+ 21,18,423,43,47,606,20,17,21,18,
+ 423,43,46,330,913,274,503,20,17,21,
+ 18,423,43,44,569,797,80,913,17,209,
+ 2003,794,2003,267,399,396,272,569,1889,2003,
+ 2003,1238,478,794,1534,1142,1667,266,254,213,
+ 324,325,695,244,1238,2003,88,1534,731,20,
+ 17,21,18,423,34,245,1206,259,17,953,
+ 88,2003,1245,313,1537,794,17,225,367,1325,
+ 259,88,2003,794,1926,1245,367,1537,731,20,
+ 17,21,18,423,33,197,88,294,256,794,
+ 1696,17,230,197,88,296,907,794,1696,17,
+ 2003,367,2003,377,2003,2003,17,948,1666,367,
+ 2003,836,2003,1808,17,2003,367,234,197,88,
+ 2003,395,794,1696,367,684,197,88,2003,797,
+ 794,1696,2003,197,88,2003,878,794,1696,797,
+ 57,197,88,2003,920,794,1696,529,2003,2003,
+ 569,962,254,213,324,325,2003,569,942,1004,
+ 2003,2003,254,213,324,325,797,197,569,169,
+ 2003,17,1360,2003,1238,2003,2003,209,2003,569,
+ 2003,695,2003,2003,2003,1238,2003,2003,1617,254,
+ 213,324,325,1204,1667,2003,197,2003,1617,88,
+ 259,1360,1185,2003,2003,1791,842,1537,2003,192,
+ 850,259,2003,2003,2003,2003,1414,760,1537,2003,
+ 2003,2003,1442,1237,2003,1930,2003,1057,2003,255,
+ 213,324,325,255,213,324,325,17,192,2003,
+ 2003,2003,1816,2003,2003,2003,2003,695,2003,2003,
+ 2003,1595,1237,2003,2003,2003,2003,2003,2003,2003,
+ 2003,2003,2003,2003,2003,88,2003,2003,1444,2003,
+ 0,327,737,0,20,179,0,1,2229,0,
+ 1,2240,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -568,110 +571,110 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface TermAction {
public final static char termAction[] = {0,
- 1986,1996,1775,1997,1566,1542,1509,62,1631,1768,
- 1761,1728,1998,1999,2000,2001,1,637,607,2300,
- 2301,2302,1717,1349,434,2199,2200,2201,2313,388,
- 2314,1,2148,2149,2147,2202,2150,2146,90,129,
- 2153,2158,2157,2155,2156,2154,2159,2160,2152,2161,
- 2162,2163,64,529,1164,1108,1986,1,72,1,
- 1237,54,252,190,2199,2200,2201,2313,388,2314,
- 90,2148,2149,2147,2202,2150,2146,1416,1271,1986,
- 2223,1,1,1,1,1,1,1986,1,1,
- 1,1,1,1,1991,130,1,1,1,1,
- 1,1,1,1,1,1,1,1,190,1,
- 1,1,1986,1,181,1,2181,1531,1553,189,
- 2199,2200,2201,2313,388,2314,1990,2148,2149,2147,
- 2202,2150,2146,182,68,402,1885,1,1,1,
+ 2003,2014,1778,2015,1680,1672,1657,63,1688,1798,
+ 1768,1554,2016,2017,2018,2019,1,1624,637,2318,
+ 2319,2320,1507,1327,617,2217,2218,2219,2331,529,
+ 2332,1,2166,2167,2165,2220,2168,2164,91,130,
+ 2171,2176,2175,2173,2174,2172,2177,2178,2170,2179,
+ 2180,2181,65,531,1129,530,2003,1,73,1,
+ 1376,55,253,191,2217,2218,2219,2331,529,2332,
+ 91,2166,2167,2165,2220,2168,2164,1417,1404,2003,
+ 2241,1,1,1,1,1,1,2003,1,1,
+ 1,1,1,1,2009,131,1,1,1,1,
+ 1,1,1,1,1,1,1,1,191,1,
+ 1,1,2003,1,182,1,2199,1458,1543,190,
+ 2217,2218,2219,2331,529,2332,2008,2166,2167,2165,
+ 2220,2168,2164,183,69,404,1957,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1991,131,1,1,1,1,1,1,1,1,
- 1,1,1,1,189,1,1,1,1986,1,
- 284,1,2181,58,1986,190,2199,2200,2201,2313,
- 388,2314,1990,2148,2149,2147,2202,2150,2146,1986,
- 1996,1986,1997,1,1,1,1,1,1,88,
- 1,1,1,1,1,1,132,494,1,1,
+ 2009,132,1,1,1,1,1,1,1,1,
+ 1,1,1,1,190,1,1,1,2003,1,
+ 285,1,2199,59,2003,191,2217,2218,2219,2331,
+ 529,2332,2008,2166,2167,2165,2220,2168,2164,2003,
+ 2014,2003,2015,1,1,1,1,1,1,89,
+ 1,1,1,1,1,1,133,495,1,1,
1,1,1,1,1,1,1,1,1,1,
- 190,1,1,1,1986,1996,1986,1997,2181,1531,
- 1553,2199,2200,2201,2313,388,2314,784,2148,2149,
- 2147,2202,2150,2146,59,184,3346,1986,3346,2199,
- 2200,2201,2313,388,2314,1986,2148,2149,2147,2202,
- 2150,2146,1993,1973,2153,2158,2157,2155,2156,2154,
- 2159,2160,2152,2161,2162,2163,61,529,1164,1108,
- 1,1996,1775,1997,511,1542,1509,1989,1631,1768,
- 1761,1728,1998,1999,2000,2001,1986,637,607,2300,
- 2301,2302,1717,1349,434,1986,42,1992,1497,1485,
- 1470,1458,571,1986,1996,1775,1997,1600,1542,1509,
- 1989,1631,1768,1761,1728,1998,1999,2000,2001,200,
- 637,607,2300,2301,2302,1717,1349,434,1988,70,
- 1497,1485,1470,1458,1986,1057,1,1996,1775,1997,
- 1566,1542,1509,28,1631,1768,1761,1728,1998,1999,
- 2000,2001,3322,637,607,2300,2301,2302,1717,1349,
- 434,1988,51,1210,128,1015,65,1181,1125,1986,
- 1996,269,1997,520,1237,994,973,952,931,910,
- 868,889,847,826,805,1258,1986,1190,28,2199,
- 2200,2201,2313,388,2314,1986,2148,2149,2147,2202,
- 2150,2146,651,1330,2153,2158,2157,2155,2156,2154,
- 2159,2160,2152,2161,2162,2163,1986,1996,1775,1997,
- 1566,1542,1509,1989,1631,1768,1761,1728,1998,1999,
- 2000,2001,1986,637,607,2300,2301,2302,1717,1349,
- 434,1986,1996,1775,1997,1429,1542,1509,1989,1631,
- 1768,1761,1728,1998,1999,2000,2001,1986,637,607,
- 2300,2301,2302,1717,1349,434,1986,1986,1,1,
- 1,1,1,1,1988,1,1,1,1,1,
- 1,1,1,1986,1,1,1,1,1,1,
- 1,1,1986,1996,1775,1997,1566,1542,1509,1988,
- 1631,1768,1761,1728,1998,1999,2000,2001,387,637,
- 607,2300,2301,2302,1717,1349,434,1986,1,1983,
- 1,1996,1775,1997,1566,1542,1509,2299,1631,1768,
- 1761,1728,1998,1999,2000,2001,3322,637,607,2300,
- 2301,2302,1717,1349,434,1986,1996,1775,1997,1566,
- 1542,1509,674,1631,1768,1761,1728,1998,1999,2000,
- 2001,3322,637,607,2300,2301,2302,1717,1349,434,
- 1,1996,1775,1997,1566,1542,1509,2243,1631,1768,
- 1761,1728,1998,1999,2000,2001,3322,637,607,2300,
- 2301,2302,1717,1349,434,1986,1996,1775,1997,1566,
- 1542,1509,1986,1631,1768,1761,1728,1998,1999,2000,
- 2001,322,637,607,2300,2301,2302,1717,1349,434,
- 1986,1996,1780,1997,1566,1542,1509,387,1631,1768,
- 1761,1728,1998,1999,2000,2001,320,637,607,2300,
- 2301,2302,1717,1349,434,1986,1996,1786,1997,1566,
- 1542,1509,387,1631,1768,1761,1728,1998,1999,2000,
- 2001,318,637,607,2300,2301,2302,1717,1349,434,
- 1986,1996,1791,1997,1566,1542,1509,387,1631,1768,
- 1761,1728,1998,1999,2000,2001,41,637,607,2300,
- 2301,2302,1717,1349,434,1986,1996,1799,1997,1566,
- 1542,1509,387,1631,1768,1761,1728,1998,1999,2000,
- 2001,1986,637,607,2300,2301,2302,1717,1349,434,
- 1986,1996,1823,1997,1566,1542,1509,387,1631,1768,
- 1761,1728,1998,1999,2000,2001,1986,637,607,2300,
- 2301,2302,1717,1349,434,1,1996,1775,1997,1566,
- 1542,1509,66,1631,1768,1761,1728,1998,1999,2000,
- 2001,60,637,607,2300,2301,2302,1717,1349,434,
- 19,1986,1977,69,1977,1986,1996,1977,1997,31,
- 1986,1365,1986,1986,183,3350,1986,3350,2011,2012,
- 1989,1281,248,210,1986,178,178,178,178,178,
- 178,1977,178,178,178,178,178,178,247,1977,
- 1382,2199,2200,2201,2313,388,2314,1,1,1,
- 1,1,1,249,720,1497,1485,1470,1458,205,
- 3351,250,3351,2199,2200,2201,2313,388,2314,251,
- 1174,1988,1986,261,2211,1319,494,1,1,1,
- 1,1,1,1,57,526,2199,2200,2201,2313,
- 388,2314,1134,56,2199,2200,2201,2313,388,2314,
- 1,1980,1319,1,651,1565,55,1991,63,1986,
- 1991,48,267,2211,1319,1673,252,264,50,1565,
- 49,1,1673,267,1673,1565,1986,252,1,2211,
- 1541,651,1,1991,651,270,252,1986,1986,1990,
- 1531,1553,1990,651,1995,221,53,1705,651,1531,
- 1553,1181,1125,52,651,290,67,71,1181,1125,
- 255,1,1531,1553,1828,1990,651,207,1996,1078,
- 1997,326,29,1662,1654,1399,651,1,1416,1271,
- 1662,1654,1662,1654,1995,1,1098,1,2211,1541,
- 283,2243,252,2211,1541,1986,1154,1371,1259,1118,
- 206,535,1974,535,1986,1986,1986,219,1251,1401,
- 544,1444,1994,1986,188,29,1120,206,188,188,
- 2243,1986,1696,1986,1986,1986,1986,1986,720,1701,
- 184,1330,1986,1986,183,205,1986,1986,651,1986,
- 1986,1986,1371,1986,2242,1986,1986,1986,1986,1986,
- 1986,1986,1994,2014,1986,3332
+ 191,1,1,1,2003,2014,2003,2015,2199,1458,
+ 1543,2217,2218,2219,2331,529,2332,784,2166,2167,
+ 2165,2220,2168,2164,60,185,3364,2003,3364,2217,
+ 2218,2219,2331,529,2332,2003,2166,2167,2165,2220,
+ 2168,2164,2011,1990,2171,2176,2175,2173,2174,2172,
+ 2177,2178,2170,2179,2180,2181,62,531,1129,530,
+ 1,2014,1778,2015,512,1672,1657,2007,1688,1798,
+ 1768,1554,2016,2017,2018,2019,2003,1624,637,2318,
+ 2319,2320,1507,1327,617,2003,43,2010,1516,1494,
+ 1482,1446,571,2003,2014,1778,2015,1649,1672,1657,
+ 2007,1688,1798,1768,1554,2016,2017,2018,2019,201,
+ 1624,637,2318,2319,2320,1507,1327,617,2006,71,
+ 1516,1494,1482,1446,2003,1078,1,2014,1778,2015,
+ 1680,1672,1657,29,1688,1798,1768,1554,2016,2017,
+ 2018,2019,3340,1624,637,2318,2319,2320,1507,1327,
+ 617,2006,52,1036,129,1015,66,1564,1146,2003,
+ 2014,270,2015,1239,1376,994,973,952,931,910,
+ 868,889,847,826,805,1349,2003,1211,29,2217,
+ 2218,2219,2331,529,2332,2003,2166,2167,2165,2220,
+ 2168,2164,651,1308,2171,2176,2175,2173,2174,2172,
+ 2177,2178,2170,2179,2180,2181,2003,2014,1778,2015,
+ 1680,1672,1657,2007,1688,1798,1768,1554,2016,2017,
+ 2018,2019,2003,1624,637,2318,2319,2320,1507,1327,
+ 617,2003,2014,1778,2015,608,1672,1657,2007,1688,
+ 1798,1768,1554,2016,2017,2018,2019,2003,1624,637,
+ 2318,2319,2320,1507,1327,617,2003,2003,1,1,
+ 1,1,1,1,2006,1,1,1,1,1,
+ 1,1,1,2003,1,1,1,1,1,1,
+ 1,1,2003,2014,1778,2015,1680,1672,1657,2006,
+ 1688,1798,1768,1554,2016,2017,2018,2019,1195,1624,
+ 637,2318,2319,2320,1507,1327,617,2003,1,2000,
+ 1,2014,1778,2015,1680,1672,1657,2317,1688,1798,
+ 1768,1554,2016,2017,2018,2019,3340,1624,637,2318,
+ 2319,2320,1507,1327,617,2003,2014,1778,2015,1680,
+ 1672,1657,674,1688,1798,1768,1554,2016,2017,2018,
+ 2019,3340,1624,637,2318,2319,2320,1507,1327,617,
+ 1,2014,1778,2015,1680,1672,1657,2261,1688,1798,
+ 1768,1554,2016,2017,2018,2019,3340,1624,637,2318,
+ 2319,2320,1507,1327,617,2003,2014,1778,2015,1680,
+ 1672,1657,2003,1688,1798,1768,1554,2016,2017,2018,
+ 2019,323,1624,637,2318,2319,2320,1507,1327,617,
+ 2003,2014,1786,2015,1680,1672,1657,1195,1688,1798,
+ 1768,1554,2016,2017,2018,2019,321,1624,637,2318,
+ 2319,2320,1507,1327,617,2003,2014,1811,2015,1680,
+ 1672,1657,1195,1688,1798,1768,1554,2016,2017,2018,
+ 2019,319,1624,637,2318,2319,2320,1507,1327,617,
+ 2003,2014,1819,2015,1680,1672,1657,1195,1688,1798,
+ 1768,1554,2016,2017,2018,2019,42,1624,637,2318,
+ 2319,2320,1507,1327,617,2003,2014,1826,2015,1680,
+ 1672,1657,1195,1688,1798,1768,1554,2016,2017,2018,
+ 2019,2003,1624,637,2318,2319,2320,1507,1327,617,
+ 2003,2014,1834,2015,1680,1672,1657,1195,1688,1798,
+ 1768,1554,2016,2017,2018,2019,2003,1624,637,2318,
+ 2319,2320,1507,1327,617,1,2014,1778,2015,1680,
+ 1672,1657,67,1688,1798,1768,1554,2016,2017,2018,
+ 2019,61,1624,637,2318,2319,2320,1507,1327,617,
+ 20,2003,1994,70,1994,2003,2014,1994,2015,32,
+ 2003,1343,2003,2003,184,3368,2003,3368,2029,2030,
+ 2007,1351,248,211,2003,179,179,179,179,179,
+ 179,1994,179,179,179,179,179,179,249,1994,
+ 1891,2217,2218,2219,2331,529,2332,2217,2218,2219,
+ 2331,529,2332,250,720,1516,1494,1482,1446,206,
+ 3369,251,3369,1,1,1,1,1,1,252,
+ 527,2006,2003,262,2229,1297,495,1,1,1,
+ 1,1,1,1,58,524,2217,2218,2219,2331,
+ 529,2332,1155,57,2217,2218,2219,2331,529,2332,
+ 1,1997,1297,1,651,1573,56,2009,64,2003,
+ 2009,49,268,2229,1297,1715,253,265,51,1573,
+ 50,1,1715,268,1715,1573,2003,253,1,2229,
+ 1252,651,1,2009,651,271,253,2003,2003,2008,
+ 1458,1543,2008,651,2013,222,54,1240,651,1458,
+ 1543,1564,1146,53,651,291,68,72,1564,1146,
+ 256,1,1458,1543,1736,2008,651,208,2014,1099,
+ 2015,327,30,1707,1697,1430,651,1,1417,1404,
+ 1707,1697,1707,1697,2013,1,1119,1,2229,1252,
+ 284,2261,253,2229,1252,2003,1175,1431,1591,1139,
+ 207,536,1991,536,2003,2003,2003,220,1270,1356,
+ 545,1528,2012,2003,189,30,1143,207,189,189,
+ 2261,2003,1575,2003,2003,2003,2003,2003,720,1738,
+ 185,1308,2003,2003,184,206,2003,2003,651,2003,
+ 2003,2003,1431,2003,2260,2003,2003,2003,2003,2003,
+ 2003,2003,2012,2032,2003,3350
};
};
public final static char termAction[] = TermAction.termAction;
@@ -679,29 +682,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Asb {
public final static char asb[] = {0,
- 473,58,146,102,146,146,146,146,146,146,
- 146,146,146,146,146,146,64,8,404,401,
- 408,406,414,412,416,415,418,417,71,146,
- 8,8,8,8,8,386,386,286,146,283,
- 283,347,8,146,146,146,146,146,146,146,
- 146,146,146,146,146,146,146,146,146,146,
- 146,146,146,146,146,146,146,146,146,146,
- 146,146,146,283,283,283,283,283,283,106,
- 113,351,137,353,281,280,319,1,331,133,
- 331,133,133,331,133,331,28,234,401,401,
- 406,406,406,406,404,404,412,408,408,415,
- 414,317,417,416,389,389,389,389,135,111,
- 347,351,140,106,51,170,283,429,356,170,
- 133,386,386,133,386,146,111,351,339,51,
- 106,169,137,283,345,28,282,358,106,170,
- 135,195,135,228,230,61,225,135,339,51,
- 146,146,106,170,353,312,311,351,358,283,
- 135,195,228,228,225,109,464,386,146,60,
- 225,111,51,339,106,106,283,429,356,345,
- 195,225,466,195,228,230,461,230,113,106,
- 386,146,111,339,358,195,468,230,225,146,
- 386,106,230,283,282,225,425,146,424,165,
- 351,225,225,387,468,146,165,230
+ 473,1,142,41,142,142,142,142,142,142,
+ 142,142,142,142,142,142,3,55,23,20,
+ 27,25,33,31,35,34,37,36,9,142,
+ 55,55,55,55,55,433,433,247,142,240,
+ 240,394,55,142,142,142,142,142,142,142,
+ 142,142,142,142,142,142,142,142,142,142,
+ 142,142,142,142,142,142,142,142,142,142,
+ 142,142,142,240,240,240,240,240,240,45,
+ 109,398,133,400,238,237,366,48,378,129,
+ 378,129,129,378,129,378,75,191,20,20,
+ 25,25,25,25,23,23,31,27,27,34,
+ 33,324,36,35,326,326,326,326,131,107,
+ 394,398,136,45,98,166,240,441,403,166,
+ 129,433,433,129,433,142,107,398,386,98,
+ 45,165,133,240,392,75,239,405,45,166,
+ 131,272,131,305,307,244,302,131,386,386,
+ 142,142,45,166,400,319,318,398,405,240,
+ 131,272,305,305,302,105,439,433,142,243,
+ 302,107,386,98,45,45,240,441,403,392,
+ 272,302,311,272,305,307,436,307,109,45,
+ 433,142,107,98,386,405,272,313,307,302,
+ 142,433,45,307,386,240,239,302,362,142,
+ 361,161,398,302,302,434,313,142,161,307
};
};
public final static char asb[] = Asb.asb;
@@ -709,54 +712,54 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Asr {
public final static byte asr[] = {0,
- 7,68,38,58,39,75,31,11,12,13,
- 14,15,2,9,10,8,4,5,6,17,
- 18,19,20,21,22,23,24,1,3,53,
- 54,55,48,40,45,43,44,42,41,46,
- 47,49,50,51,37,34,32,33,36,35,
- 25,26,27,29,28,30,0,89,0,69,
- 31,61,0,75,31,2,61,76,9,10,
- 8,4,5,6,62,63,56,57,64,65,
- 66,67,70,71,72,73,74,77,78,52,
- 69,79,80,81,82,83,85,84,86,87,
- 88,68,39,89,38,58,7,0,7,52,
- 31,61,9,10,8,4,5,6,17,18,
- 11,22,23,24,2,12,13,14,15,19,
- 20,21,1,3,16,0,58,7,32,25,
- 26,27,28,29,30,12,13,14,15,19,
- 20,21,3,9,10,8,5,6,17,18,
- 11,22,23,24,4,2,1,0,32,58,
- 7,9,10,8,4,5,6,17,18,11,
- 22,23,24,2,1,3,12,13,14,15,
- 19,20,21,0,33,40,25,41,53,34,
+ 89,0,31,2,61,76,9,10,69,79,
+ 80,81,82,83,85,84,86,87,88,4,
+ 62,63,5,6,57,56,64,65,66,67,
+ 70,71,8,72,73,74,52,75,77,78,
+ 68,39,89,38,58,7,0,7,68,38,
+ 58,39,75,31,11,12,13,14,15,2,
+ 9,10,8,4,5,6,17,18,19,20,
+ 21,22,23,24,1,3,53,54,55,48,
+ 40,45,43,44,42,41,46,47,49,50,
+ 51,37,34,32,33,36,35,25,26,27,
+ 29,28,30,0,7,52,31,61,9,10,
+ 8,4,5,6,17,18,11,22,23,24,
+ 2,12,13,14,15,19,20,21,1,3,
+ 16,0,58,7,32,25,26,27,28,29,
+ 30,12,13,14,15,19,20,21,3,9,
+ 10,8,5,6,17,18,11,22,23,24,
+ 4,2,1,0,32,58,7,9,10,8,
+ 4,5,6,17,18,11,22,23,24,2,
+ 1,3,12,13,14,15,19,20,21,0,
+ 26,32,37,27,36,35,34,25,33,28,
+ 29,30,61,76,9,10,8,5,6,62,
+ 63,56,57,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,38,39,
+ 7,0,69,31,61,0,7,39,11,12,
+ 13,14,15,1,3,2,9,10,8,4,
+ 5,6,17,18,19,20,21,22,23,24,
+ 0,33,40,25,41,53,34,42,35,43,
+ 44,36,26,45,46,32,54,37,55,47,
+ 48,27,49,50,51,1,3,28,29,30,
+ 60,7,52,0,1,3,7,52,38,0,
+ 75,7,4,1,2,68,0,2,7,38,
+ 39,75,31,68,0,8,4,5,6,62,
+ 63,56,57,64,65,66,67,70,71,72,
+ 73,74,77,78,69,79,80,81,82,83,
+ 84,85,86,87,88,58,39,52,89,16,
+ 68,75,7,38,0,48,40,45,43,44,
+ 42,41,46,47,49,50,51,68,75,37,
+ 34,32,33,36,35,25,26,27,28,29,
+ 30,38,1,7,39,2,31,4,0,4,
+ 2,31,39,7,33,40,25,41,53,34,
42,35,43,44,36,26,45,46,32,54,
- 37,55,47,48,27,49,50,51,1,3,
- 28,29,30,60,7,52,0,1,3,7,
- 52,38,0,26,32,37,27,36,35,34,
- 25,33,28,29,30,61,76,9,10,8,
- 5,6,62,63,56,57,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,38,39,7,0,7,39,11,12,13,
- 14,15,1,3,2,9,10,8,4,5,
- 6,17,18,19,20,21,22,23,24,0,
- 2,7,38,39,75,31,68,0,48,40,
- 45,43,44,42,41,46,47,49,50,51,
- 68,75,37,34,32,33,36,35,25,26,
- 27,28,29,30,38,1,7,39,2,31,
- 4,0,4,2,31,39,7,33,40,25,
- 41,53,34,42,35,43,44,36,26,45,
- 46,32,54,37,55,47,48,27,49,50,
- 51,28,29,30,59,3,1,0,69,79,
- 80,81,82,83,84,85,86,87,88,16,
- 4,62,63,5,6,57,56,64,65,66,
- 67,70,71,8,72,73,74,58,39,52,
- 89,77,78,68,75,7,38,0,4,33,
- 40,25,41,53,34,42,35,43,44,36,
- 26,45,46,32,54,37,55,47,48,27,
- 49,50,51,1,3,28,29,30,59,0,
- 7,38,52,69,0,75,7,4,1,2,
- 68,0,11,12,13,14,15,1,3,2,
+ 37,55,47,48,27,49,50,51,28,29,
+ 30,59,3,1,0,7,38,52,69,0,
+ 4,33,40,25,41,53,34,42,35,43,
+ 44,36,26,45,46,32,54,37,55,47,
+ 48,27,49,50,51,1,3,28,29,30,
+ 59,0,11,12,13,14,15,1,3,2,
9,10,8,4,5,6,17,18,19,20,
21,22,23,24,60,0
};
@@ -766,29 +769,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Nasb {
public final static byte nasb[] = {0,
- 119,44,35,44,35,35,35,35,35,35,
- 35,35,35,35,35,35,44,102,44,44,
- 44,44,44,44,44,44,44,44,44,35,
- 102,102,102,102,102,23,23,83,103,21,
- 21,89,1,35,35,35,35,35,35,35,
- 35,35,35,35,35,35,35,35,35,103,
- 35,35,35,35,35,35,35,35,35,35,
- 35,35,35,21,21,21,21,21,21,54,
- 35,9,52,88,16,16,61,12,62,28,
- 62,26,26,62,25,62,56,44,44,44,
- 44,44,44,44,44,44,44,44,44,44,
- 44,44,44,44,44,44,44,44,44,75,
- 109,44,45,54,113,53,21,93,20,53,
- 7,7,7,7,7,35,33,44,75,113,
- 54,53,30,21,71,37,44,95,54,53,
- 50,75,44,75,48,14,75,44,75,113,
- 35,35,54,53,70,16,16,9,95,21,
- 44,115,75,7,86,32,44,7,35,18,
- 86,75,113,30,54,54,21,93,20,77,
- 75,86,106,64,7,48,44,44,34,54,
- 7,35,33,30,98,115,73,48,86,35,
- 7,54,48,21,21,86,107,35,44,73,
- 9,86,86,44,73,35,79,68
+ 105,39,30,39,30,30,30,30,30,30,
+ 30,30,30,30,30,30,39,108,39,39,
+ 39,39,39,39,39,39,39,39,39,30,
+ 108,108,108,108,108,16,16,85,109,70,
+ 70,94,1,30,30,30,30,30,30,30,
+ 30,30,30,30,30,30,30,30,30,109,
+ 30,30,30,30,30,30,30,30,30,30,
+ 30,30,30,70,70,70,70,70,70,45,
+ 30,13,43,93,11,11,60,18,61,23,
+ 61,21,21,61,20,61,55,39,39,39,
+ 39,39,39,39,39,39,39,39,39,39,
+ 39,39,39,39,39,39,39,39,39,77,
+ 51,39,40,45,112,44,70,100,69,44,
+ 7,7,7,7,7,30,28,39,83,112,
+ 45,44,98,70,73,32,39,102,45,44,
+ 63,77,39,77,25,9,77,39,83,77,
+ 30,30,45,44,72,11,11,13,102,70,
+ 39,114,77,7,91,27,39,7,30,49,
+ 91,77,77,112,45,45,70,100,69,79,
+ 77,91,88,65,7,25,39,39,29,45,
+ 7,30,28,112,98,118,114,75,25,91,
+ 30,7,45,25,98,70,70,91,89,30,
+ 39,75,13,91,91,39,75,30,81,47
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -796,18 +799,18 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Nasr {
public final static char nasr[] = {0,
- 81,79,78,67,77,76,1,0,36,52,
- 0,102,0,99,0,29,0,101,0,10,
- 21,0,73,0,94,68,0,91,0,23,
- 0,71,10,62,5,0,81,80,79,78,
- 67,77,76,0,5,10,0,54,0,92,
- 0,10,5,22,0,67,63,64,65,66,
- 55,32,0,10,31,69,0,97,0,21,
- 49,48,41,39,10,0,49,48,41,39,
- 36,0,10,90,0,37,0,21,48,49,
- 10,0,36,52,10,27,0,95,10,27,
- 0,31,10,30,0,10,72,0,49,48,
- 36,0,59,0,83,10,31,0,10,89,
+ 81,79,78,67,77,76,1,0,99,0,
+ 29,0,30,52,0,73,0,102,0,94,
+ 68,0,91,0,54,0,71,10,62,5,
+ 0,81,80,79,78,67,77,76,0,5,
+ 10,0,10,5,22,0,97,0,101,0,
+ 49,48,30,0,67,63,64,65,66,55,
+ 33,0,92,0,10,32,69,0,10,21,
+ 0,21,49,48,41,39,10,0,49,48,
+ 41,39,30,0,10,90,0,10,72,0,
+ 37,0,21,48,49,10,0,23,0,30,
+ 52,10,27,0,10,89,0,32,10,31,
+ 0,59,0,83,10,32,0,95,10,27,
0
};
};
@@ -835,18 +838,18 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
114,0,0,0,116,120,121,122,123,0,
- 124,125,126,127,128,129,130,131,132,133,
- 111,110,143,0,0,0,136,0,164,115,
- 155,142,0,0,0,0,112,160,162,0,
- 163,0,0,0,118,135,173,174,175,0,
- 151,161,170,0,145,150,0,165,168,169,
- 172,0,146,147,148,149,152,0,154,159,
- 176,113,117,119,134,137,138,139,140,141,
- 144,0,153,157,0,0,158,167,109,0,
- 0,0,156,0,166,171,0,177,178,0,
- 179,180,0,0,0,0,0,0,0,0,
+ 124,125,126,127,128,129,130,131,0,132,
+ 111,110,142,0,0,0,135,0,163,0,
+ 115,154,141,0,0,0,112,159,161,0,
+ 162,0,0,0,118,134,172,173,174,0,
+ 150,160,169,0,144,149,0,164,167,168,
+ 171,0,145,146,147,148,151,0,153,158,
+ 175,113,117,119,133,136,137,138,139,140,
+ 143,0,152,156,0,0,157,166,109,0,
+ 0,0,155,0,165,170,0,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
+ 0,0,0,0,0,0,0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -878,10 +881,10 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 65,63,5,65,29,29,63,56,109,50,
+ 65,63,5,65,29,29,63,56,110,50,
29,44,29,6,6,6,50,29,29,69,
6,5,5,29,29,19,29,102,101,100,
- 48,61,29,41,51,3,71,69,7,110,
+ 48,61,29,41,51,3,71,69,7,111,
5,69,80,79,78,77,76,44,42,44
};
};
@@ -916,28 +919,28 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public final static char scopeRhs[] = {0,
153,31,0,110,0,152,2,24,0,111,
0,152,2,23,0,152,2,22,0,205,
- 117,0,31,150,0,161,181,117,16,169,
+ 117,0,31,149,0,161,181,117,16,169,
0,112,0,0,165,117,2,155,0,165,
- 117,2,0,168,2,0,159,117,0,173,
+ 117,2,0,168,2,0,159,117,0,172,
0,195,117,31,0,9,110,0,127,32,
- 195,117,31,0,69,133,110,0,127,195,
- 117,32,31,0,195,117,32,31,0,133,
+ 195,117,31,0,69,132,110,0,127,195,
+ 117,32,31,0,195,117,32,31,0,132,
110,0,127,32,31,0,127,195,117,31,
- 0,127,31,0,148,0,2,0,166,111,
+ 0,127,31,0,148,0,2,0,165,111,
0,2,111,0,165,117,2,148,0,2,
- 0,165,111,0,158,2,0,160,0,161,
+ 0,164,111,0,158,2,0,159,0,161,
193,117,16,108,201,53,0,112,0,161,
- 193,117,16,201,53,0,138,0,113,0,
- 200,117,138,0,117,138,0,156,113,0,
+ 193,117,16,201,53,0,139,0,113,0,
+ 200,117,139,0,117,139,0,155,113,0,
189,117,16,199,108,198,174,0,189,117,
- 16,198,174,0,188,0,149,0,148,0,
- 147,0,146,0,145,0,212,94,0,77,
- 2,115,111,113,0,212,128,137,2,98,
- 0,53,0,0,137,78,125,0,29,132,
+ 16,198,174,0,188,0,148,0,147,0,
+ 146,0,145,0,144,0,213,94,0,77,
+ 2,115,111,113,0,213,128,138,2,98,
+ 0,53,0,0,138,78,125,0,29,132,
0,152,2,0,111,121,0,152,2,11,
0,161,181,117,16,128,152,2,0,111,
3,0,119,0,112,0,197,2,112,0,
- 137,31,112,0,137,2,0
+ 138,31,112,0,138,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -945,16 +948,16 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeState {
public final static char scopeState[] = {0,
- 420,0,1867,1257,1842,0,393,0,1608,1347,
- 1399,1541,1364,1319,1260,0,388,0,1230,569,
- 366,0,1384,718,396,395,1347,1812,1319,1260,
- 1565,1643,0,1768,1761,1728,1717,1349,434,1600,
- 1429,511,1681,1330,402,720,494,1416,1271,1237,
- 1553,1531,1497,1485,1470,1458,1673,1662,1654,1181,
- 1125,1631,1566,1542,1509,637,607,1190,1154,1134,
- 1098,1078,1057,1036,760,1210,737,571,651,1015,
+ 1200,0,1889,1237,1860,0,394,0,397,1325,
+ 1430,1252,1352,1297,1238,0,529,0,1208,569,
+ 367,0,1398,718,399,396,1325,1206,1297,1238,
+ 1573,1696,0,1798,1768,1554,1507,1327,617,1649,
+ 608,512,1726,1308,404,720,495,1417,1404,1376,
+ 1543,1458,1516,1494,1482,1446,1715,1707,1697,1564,
+ 1146,1688,1680,1672,1657,1624,637,1211,1175,1155,
+ 1119,1099,1078,1057,760,1036,737,571,651,1015,
994,973,952,931,910,889,868,847,826,805,
- 366,784,695,674,469,544,448,0
+ 367,784,695,674,470,545,449,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -966,25 +969,25 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
6,5,4,8,10,9,112,2,116,115,
119,118,121,120,123,122,125,124,113,38,
2,2,2,2,2,76,61,2,31,152,
- 137,138,117,6,5,63,62,4,67,66,
+ 138,139,117,6,5,63,62,4,67,66,
65,64,56,57,8,71,70,73,72,78,
77,74,88,87,86,84,85,83,82,81,
- 80,79,69,152,152,152,152,152,197,137,
+ 80,79,69,152,152,152,152,152,197,138,
128,117,31,2,156,155,183,29,184,174,
185,55,54,186,53,187,188,108,115,115,
118,118,118,118,116,116,120,119,119,122,
- 121,137,124,123,128,128,128,128,128,16,
- 159,143,32,127,117,4,168,117,2,31,
- 198,175,175,201,175,68,117,143,4,117,
+ 121,138,124,123,128,128,128,128,128,16,
+ 159,137,32,127,117,4,168,117,2,31,
+ 198,175,175,201,175,68,117,137,4,117,
127,195,166,165,134,117,167,117,153,4,
- 108,16,108,16,181,117,16,169,4,117,
+ 108,16,108,16,181,117,16,169,4,137,
195,32,127,4,2,146,148,117,38,165,
199,117,16,117,161,38,205,61,31,206,
- 117,16,117,166,127,127,158,117,2,159,
- 16,189,138,190,117,193,108,194,69,153,
- 61,31,117,166,117,117,117,193,161,69,
- 38,153,181,165,202,189,200,68,158,2,
- 117,161,161,38,38,68,159,144
+ 117,16,137,117,127,127,158,117,2,159,
+ 16,189,139,190,117,193,108,194,69,153,
+ 61,31,117,117,166,117,117,117,193,161,
+ 69,38,153,181,166,165,202,189,200,68,
+ 158,2,117,161,161,38,38,68,159,144
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1119,12 +1122,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_list_actual",
"constant_expression",
@@ -1195,20 +1197,20 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 228,
+ NUM_STATES = 230,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 2351,
+ LA_STATE_OFFSET = 2369,
MAX_LA = 2,
- NUM_RULES = 365,
- NUM_NONTERMINALS = 128,
- NUM_SYMBOLS = 235,
+ NUM_RULES = 366,
+ NUM_NONTERMINALS = 129,
+ NUM_SYMBOLS = 236,
SEGMENT_SIZE = 8192,
- START_STATE = 1882,
+ START_STATE = 1752,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 89,
EOLT_SYMBOL = 89,
- ACCEPT_ACTION = 1973,
- ERROR_ACTION = 1986;
+ ACCEPT_ACTION = 1990,
+ ERROR_ACTION = 2003;
public final static boolean BACKTRACK = true;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java
index 9e62301e28..bb6cfaea97 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java
@@ -17,13 +17,20 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
@@ -37,7 +44,9 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser< IASTExpression >
+public class UPCNoCastExpressionParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTExpression >
+ , ISecondaryParser< IASTExpression >
{
private static ParseTable prs = new UPCNoCastExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -175,7 +184,11 @@ public class UPCNoCastExpressionParser extends PrsStream implements RuleAction ,
private UPCParserAction action;
private IASTCompletionNode compNode;
-public UPCNoCastExpressionParser() { // constructor
+
+public UPCNoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) {
+ initActions(options);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
private void initActions(Set<IParser.Options> options) {
@@ -194,10 +207,9 @@ public void addToken(IToken token) {
}
-public IASTExpression parse(Set<IParser.Options> options) {
+public IASTExpression parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(options);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
@@ -240,12 +252,12 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, UPCNoCastExpressionParsersym.TK_EOF_TOKEN));
}
-public UPCNoCastExpressionParser(IParserActionTokenProvider parser) { // constructor
- tokenMap = new TokenMap(UPCNoCastExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
+public UPCNoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser
+ initActions(options);
+ tokenMap = new TokenMap(UPCNoCastExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
}
-
public void ruleAction(int ruleNumber)
{
switch (ruleNumber)
@@ -258,1287 +270,1293 @@ public UPCNoCastExpressionParser(IParserActionTokenProvider parser) { // constr
}
//
- // Rule 12: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 13: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 14: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 15: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 17: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 17: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 18: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 18: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 21: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 22: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 23: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 24: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 26: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 27: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 41: unary_expression ::= sizeof ( type_id )
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 44: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 42: unary_expression ::= sizeof ( type_id )
//
- case 44: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 42: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 48: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 49: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 51: shift_expression ::= shift_expression << additive_expression
+ // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
//
- case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression >> additive_expression
+ // Rule 52: shift_expression ::= shift_expression << additive_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 54: relational_expression ::= relational_expression < shift_expression
+ // Rule 53: shift_expression ::= shift_expression >> additive_expression
//
- case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 55: relational_expression ::= relational_expression > shift_expression
+ // Rule 55: relational_expression ::= relational_expression < shift_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 56: relational_expression ::= relational_expression <= shift_expression
+ // Rule 56: relational_expression ::= relational_expression > shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression >= shift_expression
+ // Rule 57: relational_expression ::= relational_expression <= shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 59: equality_expression ::= equality_expression == relational_expression
+ // Rule 58: relational_expression ::= relational_expression >= shift_expression
//
- case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression != relational_expression
+ // Rule 60: equality_expression ::= equality_expression == relational_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 62: AND_expression ::= AND_expression & equality_expression
+ // Rule 61: equality_expression ::= equality_expression != relational_expression
//
- case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 64: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 63: and_expression ::= and_expression & equality_expression
//
- case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 66: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 68: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 70: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 72: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 72: { action. consumeExpressionConditional(); break;
+ case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 74: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 74: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 73: { action. consumeExpressionConditional(); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 75: assignment_expression ::= unary_expression = assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression += assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 87: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
//
- case 87: { action. consumeExpressionList(); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 89: expression_list_opt ::= $Empty
+ // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
//
- case 89: { action. consumeEmpty(); break;
+ case 88: { action. consumeExpressionList(); break;
}
//
- // Rule 99: statement ::= ERROR_TOKEN
+ // Rule 90: expression_list_opt ::= $Empty
//
- case 99: { action. consumeStatementProblem(); break;
+ case 90: { action. consumeEmpty(); break;
}
//
- // Rule 100: labeled_statement ::= identifier_token : statement
+ // Rule 100: statement ::= ERROR_TOKEN
//
- case 100: { action. consumeStatementLabeled(); break;
+ case 100: { action. consumeStatementProblem(); break;
}
//
- // Rule 101: labeled_statement ::= case constant_expression : statement
+ // Rule 101: labeled_statement ::= identifier_token : statement
//
- case 101: { action. consumeStatementCase(); break;
+ case 101: { action. consumeStatementLabeled(); break;
}
//
- // Rule 102: labeled_statement ::= default : statement
+ // Rule 102: labeled_statement ::= case constant_expression : statement
//
- case 102: { action. consumeStatementDefault(); break;
+ case 102: { action. consumeStatementCase(); break;
}
//
- // Rule 103: compound_statement ::= { }
+ // Rule 103: labeled_statement ::= default : statement
//
- case 103: { action. consumeStatementCompoundStatement(false); break;
+ case 103: { action. consumeStatementDefault(); break;
}
//
- // Rule 104: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 104: compound_statement ::= { }
//
- case 104: { action. consumeStatementCompoundStatement(true); break;
+ case 104: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 108: block_item ::= declaration
+ // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 108: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 105: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 109: expression_statement ::= ;
+ // Rule 109: block_item ::= declaration
//
- case 109: { action. consumeStatementNull(); break;
+ case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 110: expression_statement ::= expression_in_statement ;
+ // Rule 110: expression_statement ::= ;
//
- case 110: { action. consumeStatementExpression(); break;
+ case 110: { action. consumeStatementNull(); break;
}
//
- // Rule 111: selection_statement ::= if ( expression ) statement
+ // Rule 111: expression_statement ::= expression_in_statement ;
//
- case 111: { action. consumeStatementIf(false); break;
+ case 111: { action. consumeStatementExpression(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement else statement
+ // Rule 112: selection_statement ::= if ( expression ) statement
//
- case 112: { action. consumeStatementIf(true); break;
+ case 112: { action. consumeStatementIf(false); break;
}
//
- // Rule 113: selection_statement ::= switch ( expression ) statement
+ // Rule 113: selection_statement ::= if ( expression ) statement else statement
//
- case 113: { action. consumeStatementSwitch(); break;
+ case 113: { action. consumeStatementIf(true); break;
}
//
- // Rule 115: expression_opt ::= $Empty
+ // Rule 114: selection_statement ::= switch ( expression ) statement
//
- case 115: { action. consumeEmpty(); break;
+ case 114: { action. consumeStatementSwitch(); break;
}
//
- // Rule 116: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 116: expression_opt ::= $Empty
//
- case 116: { action. consumeStatementDoLoop(); break;
+ case 116: { action. consumeEmpty(); break;
}
//
- // Rule 117: iteration_statement ::= while ( expression ) statement
+ // Rule 117: iteration_statement ::= do statement while ( expression ) ;
//
- case 117: { action. consumeStatementWhileLoop(); break;
+ case 117: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 118: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 118: iteration_statement ::= while ( expression ) statement
//
- case 118: { action. consumeStatementForLoop(); break;
+ case 118: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 119: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 119: { action. consumeStatementForLoop(); break;
}
//
- // Rule 120: jump_statement ::= goto identifier_token ;
+ // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 120: { action. consumeStatementGoto(); break;
+ case 120: { action. consumeStatementForLoop(); break;
}
//
- // Rule 121: jump_statement ::= continue ;
+ // Rule 121: jump_statement ::= goto identifier_token ;
//
- case 121: { action. consumeStatementContinue(); break;
+ case 121: { action. consumeStatementGoto(); break;
}
//
- // Rule 122: jump_statement ::= break ;
+ // Rule 122: jump_statement ::= continue ;
//
- case 122: { action. consumeStatementBreak(); break;
+ case 122: { action. consumeStatementContinue(); break;
}
//
- // Rule 123: jump_statement ::= return ;
+ // Rule 123: jump_statement ::= break ;
//
- case 123: { action. consumeStatementReturn(false); break;
+ case 123: { action. consumeStatementBreak(); break;
}
//
- // Rule 124: jump_statement ::= return expression ;
+ // Rule 124: jump_statement ::= return ;
//
- case 124: { action. consumeStatementReturn(true); break;
+ case 124: { action. consumeStatementReturn(false); break;
}
//
- // Rule 125: declaration ::= declaration_specifiers ;
+ // Rule 125: jump_statement ::= return expression ;
//
- case 125: { action. consumeDeclarationSimple(false); break;
+ case 125: { action. consumeStatementReturn(true); break;
}
//
- // Rule 126: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 126: declaration ::= declaration_specifiers ;
//
- case 126: { action. consumeDeclarationSimple(true); break;
+ case 126: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 127: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 127: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 127: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 128: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 128: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 128: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 131: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 156: init_declarator ::= complete_declarator = initializer
+ // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 156: { action. consumeDeclaratorWithInitializer(true); break;
+ case 132: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 158: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 157: init_declarator ::= complete_declarator = initializer
//
- case 158: { action. consumeToken(); break;
+ case 157: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 164: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 159: storage_class_specifier ::= storage_class_specifier_token
//
- case 164: { action. consumeToken(); break;
+ case 159: { action. consumeToken(); break;
}
//
- // Rule 177: type_name_specifier ::= identifier_token
+ // Rule 165: simple_type_specifier ::= simple_type_specifier_token
//
- case 177: { action. consumeToken(); break;
+ case 165: { action. consumeToken(); break;
}
//
- // Rule 178: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 178: type_name_specifier ::= identifier_token
//
- case 178: { action. consumeTypeSpecifierComposite(false); break;
+ case 178: { action. consumeToken(); break;
}
//
- // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 179: { action. consumeTypeSpecifierComposite(true); break;
+ case 179: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 184: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 184: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 180: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 185: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 186: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 192: { action. consumeStructDeclaration(true); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 193: { action. consumeStructDeclaration(false); break;
+ case 193: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 194: struct_declaration ::= ERROR_TOKEN
+ // Rule 194: struct_declaration ::= specifier_qualifier_list ;
//
- case 194: { action. consumeDeclarationProblem(); break;
+ case 194: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 200: struct_declarator ::= : constant_expression
+ // Rule 195: struct_declaration ::= ERROR_TOKEN
//
- case 200: { action. consumeBitField(false); break;
+ case 195: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 201: struct_declarator ::= declarator : constant_expression
+ // Rule 201: struct_declarator ::= : constant_expression
//
- case 201: { action. consumeBitField(true); break;
+ case 201: { action. consumeBitField(false); break;
}
//
- // Rule 202: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 202: struct_declarator ::= declarator : constant_expression
//
- case 202: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 202: { action. consumeBitField(true); break;
}
//
- // Rule 203: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 203: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 203: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 209: enumerator ::= identifier_token
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 209: { action. consumeEnumerator(false); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 210: enumerator ::= identifier_token = constant_expression
+ // Rule 210: enumerator ::= identifier_token
//
- case 210: { action. consumeEnumerator(true); break;
+ case 210: { action. consumeEnumerator(false); break;
}
//
- // Rule 211: type_qualifier ::= type_qualifier_token
+ // Rule 211: enumerator ::= identifier_token = constant_expression
//
- case 211: { action. consumeToken(); break;
+ case 211: { action. consumeEnumerator(true); break;
}
//
- // Rule 215: function_specifier ::= inline
+ // Rule 212: type_qualifier ::= type_qualifier_token
//
- case 215: { action. consumeToken(); break;
+ case 212: { action. consumeToken(); break;
}
//
- // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 216: function_specifier ::= inline
//
- case 217: { action. consumeDeclaratorWithPointer(true); break;
+ case 216: { action. consumeToken(); break;
}
//
- // Rule 222: basic_direct_declarator ::= declarator_id_name
+ // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 222: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 218: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 223: basic_direct_declarator ::= ( declarator )
+ // Rule 223: basic_direct_declarator ::= declarator_id_name
//
- case 223: { action. consumeDirectDeclaratorBracketed(); break;
+ case 223: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 224: declarator_id_name ::= identifier
+ // Rule 224: basic_direct_declarator ::= ( declarator )
//
- case 224: { action. consumeIdentifierName(); break;
+ case 224: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 225: declarator_id_name ::= identifier
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 225: { action. consumeIdentifierName(); break;
}
//
- // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 231: { action. consumeDeclaratorWithPointer(true); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 232: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 234: { action. consumeDeclaratorWithPointer(true); break;
+ case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 235: identifier_list ::= identifier
+ // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 235: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 236: identifier_list ::= identifier_list , identifier
+ // Rule 236: identifier_list ::= identifier
//
case 236: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 237: array_modifier ::= [ ]
+ // Rule 237: identifier_list ::= identifier_list , identifier
//
- case 237: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 238: array_modifier ::= [ ]
//
- case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 238: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 239: array_modifier ::= [ assignment_expression ]
+ // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 240: array_modifier ::= [ assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 241: array_modifier ::= [ static assignment_expression ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 242: array_modifier ::= [ static assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 244: array_modifier ::= [ * ]
+ // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 245: array_modifier ::= [ * ]
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 247: pointer_seq ::= pointer_hook *
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 247: { action. consumePointer(); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 248: pointer_seq ::= pointer_seq pointer_hook *
+ // Rule 248: pointer_seq ::= pointer_hook * pointer_hook
//
case 248: { action. consumePointer(); break;
}
//
- // Rule 249: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 249: { action. consumePointer(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
case 250: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 254: parameter_type_list ::= parameter_list
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 254: { action. consumeEmpty(); break;
+ case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 255: parameter_type_list ::= parameter_list , ...
+ // Rule 255: parameter_type_list ::= parameter_list
//
- case 255: { action. consumePlaceHolder(); break;
+ case 255: { action. consumeEmpty(); break;
}
//
- // Rule 256: parameter_type_list ::= ...
+ // Rule 256: parameter_type_list ::= parameter_list , ...
//
case 256: { action. consumePlaceHolder(); break;
}
//
- // Rule 259: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 257: parameter_type_list ::= ...
//
- case 259: { action. consumeParameterDeclaration(); break;
+ case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 260: parameter_declaration ::= declaration_specifiers
+ // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 260: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 260: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 263: type_id ::= specifier_qualifier_list
+ // Rule 261: parameter_declaration ::= declaration_specifiers
//
- case 263: { action. consumeTypeId(false); break;
+ case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 264: type_id ::= specifier_qualifier_list abstract_declarator
+ // Rule 264: type_id ::= specifier_qualifier_list
//
- case 264: { action. consumeTypeId(true); break;
+ case 264: { action. consumeTypeId(false); break;
}
//
- // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 266: { action. consumeDeclaratorWithPointer(false); break;
+ case 265: { action. consumeTypeId(true); break;
}
//
- // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq
//
case 267: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 271: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 271: { action. consumeDirectDeclaratorBracketed(); break;
+ case 268: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= array_modifier
+ // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 272: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 273: array_direct_abstract_declarator ::= array_modifier
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 274: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= ( )
+ // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
//
- // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 276: function_direct_abstract_declarator ::= ( )
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
- }
+ case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
//
- // Rule 277: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 279: initializer ::= assignment_expression
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeInitializer(); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 280: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 280: initializer ::= assignment_expression
//
- case 280: { action. consumeInitializerList(); break;
+ case 280: { action. consumeInitializer(); break;
}
//
- // Rule 281: initializer ::= { <openscope-ast> }
+ // Rule 281: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
case 281: { action. consumeInitializerList(); break;
}
//
- // Rule 282: start_initializer_list ::= $Empty
+ // Rule 282: initializer ::= { <openscope-ast> }
//
- case 282: { action. initializerListStart(); break;
+ case 282: { action. consumeInitializerList(); break;
}
//
- // Rule 283: end_initializer_list ::= $Empty
+ // Rule 283: start_initializer_list ::= $Empty
//
- case 283: { action. initializerListEnd(); break;
+ case 283: { action. initializerListStart(); break;
}
//
- // Rule 288: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 284: end_initializer_list ::= $Empty
//
- case 288: { action. consumeInitializerDesignated(); break;
+ case 284: { action. initializerListEnd(); break;
}
//
- // Rule 292: designator_base ::= [ constant_expression ]
+ // Rule 289: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 292: { action. consumeDesignatorArray(); break;
+ case 289: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 293: designator_base ::= . identifier_token
+ // Rule 293: designator_base ::= [ constant_expression ]
//
- case 293: { action. consumeDesignatorField(); break;
+ case 293: { action. consumeDesignatorArray(); break;
}
//
- // Rule 294: designator ::= [ constant_expression ]
+ // Rule 294: designator_base ::= . identifier_token
//
- case 294: { action. consumeDesignatorArray(); break;
+ case 294: { action. consumeDesignatorField(); break;
}
//
- // Rule 295: designator ::= . identifier_token
+ // Rule 295: designator ::= [ constant_expression ]
//
- case 295: { action. consumeDesignatorField(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 296: translation_unit ::= external_declaration_list
+ // Rule 296: designator ::= . identifier_token
//
- case 296: { action. consumeTranslationUnit(); break;
- }
+ case 296: { action. consumeDesignatorField(); break;
+ }
//
- // Rule 297: translation_unit ::= $Empty
+ // Rule 297: translation_unit ::= external_declaration_list
//
case 297: { action. consumeTranslationUnit(); break;
- }
+ }
//
- // Rule 302: external_declaration ::= ;
+ // Rule 298: translation_unit ::= $Empty
//
- case 302: { action. consumeDeclarationEmpty(); break;
+ case 298: { action. consumeTranslationUnit(); break;
}
//
- // Rule 303: external_declaration ::= ERROR_TOKEN
+ // Rule 303: external_declaration ::= ;
//
- case 303: { action. consumeDeclarationProblem(); break;
+ case 303: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 304: external_declaration ::= ERROR_TOKEN
//
- case 306: { action. consumeFunctionDefinition(true); break;
+ case 304: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 307: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 307: { action. consumeFunctionDefinition(false); break;
+ case 307: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 308: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 308: { action. consumeFunctionDefinitionKnR(); break;
+ case 308: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 309: function_body ::= { }
+ // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 309: { action. consumeStatementCompoundStatement(false); break;
+ case 309: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 310: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 310: function_body ::= { }
//
- case 310: { action. consumeStatementCompoundStatement(true); break;
+ case 310: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 312: no_cast_start ::= ERROR_TOKEN
+ // Rule 311: function_body ::= { <openscope-ast> block_item_list }
//
- case 312: { action. consumeEmpty(); break;
+ case 311: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 313: literal ::= MYTHREAD
+ // Rule 313: no_cast_start ::= ERROR_TOKEN
//
- case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 313: { action. consumeEmpty(); break;
}
//
- // Rule 314: literal ::= THREADS
+ // Rule 314: literal ::= MYTHREAD
//
- case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 315: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 315: literal ::= THREADS
//
- case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 316: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 316: literal ::= UPC_MAX_BLOCKSIZE
//
- case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 317: unary_expression ::= upc_localsizeof ( type_id )
+ // Rule 317: unary_expression ::= upc_localsizeof unary_expression
//
- case 317: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 317: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 318: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 318: unary_expression ::= upc_localsizeof ( type_id )
//
- case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 318: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 319: unary_expression ::= upc_blocksizeof ( type_id )
+ // Rule 319: unary_expression ::= upc_blocksizeof unary_expression
//
- case 319: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 320: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 320: unary_expression ::= upc_blocksizeof ( type_id )
//
- case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 321: unary_expression ::= upc_elemsizeof ( type_id )
+ // Rule 321: unary_expression ::= upc_elemsizeof unary_expression
//
- case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 325: shared_type_qualifier ::= shared
+ // Rule 322: unary_expression ::= upc_elemsizeof ( type_id )
//
- case 325: { action. consumeToken(); break;
+ case 322: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 326: reference_type_qualifier ::= relaxed
+ // Rule 326: shared_type_qualifier ::= shared
//
case 326: { action. consumeToken(); break;
}
//
- // Rule 327: reference_type_qualifier ::= strict
+ // Rule 327: reference_type_qualifier ::= relaxed
//
case 327: { action. consumeToken(); break;
}
//
- // Rule 328: layout_qualifier ::= [ constant_expression ]
+ // Rule 328: reference_type_qualifier ::= strict
+ //
+ case 328: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 329: layout_qualifier ::= [ constant_expression ]
//
- case 328: { action. consumeLayoutQualifier(true, false); break;
+ case 329: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 329: layout_qualifier ::= [ * ]
+ // Rule 330: layout_qualifier ::= [ * ]
//
- case 329: { action. consumeLayoutQualifier(false, true); break;
+ case 330: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 330: layout_qualifier ::= [ ]
+ // Rule 331: layout_qualifier ::= [ ]
//
- case 330: { action. consumeLayoutQualifier(false, false); break;
+ case 331: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 332: synchronization_statement ::= upc_notify expression ;
+ // Rule 333: synchronization_statement ::= upc_notify expression ;
//
- case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 333: synchronization_statement ::= upc_notify ;
+ // Rule 334: synchronization_statement ::= upc_notify ;
//
- case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 334: synchronization_statement ::= upc_wait expression ;
+ // Rule 335: synchronization_statement ::= upc_wait expression ;
//
- case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 335: synchronization_statement ::= upc_wait ;
+ // Rule 336: synchronization_statement ::= upc_wait ;
//
- case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 336: synchronization_statement ::= upc_barrier expression ;
+ // Rule 337: synchronization_statement ::= upc_barrier expression ;
//
- case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 337: synchronization_statement ::= upc_barrier ;
+ // Rule 338: synchronization_statement ::= upc_barrier ;
//
- case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 338: synchronization_statement ::= upc_fence ;
+ // Rule 339: synchronization_statement ::= upc_fence ;
//
- case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 339: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 340: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 341: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 342: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 345: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 346: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 347: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 348: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 349: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 350: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 353: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 354: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 355: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 355: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 356: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 356: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 357: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 357: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 358: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 358: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 359: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 359: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 361: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 360: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 361: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 361: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 361: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 362: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 363: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 362: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 363: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 364: affinity ::= continue
+ // Rule 365: affinity ::= continue
//
- case 364: { action. consumeToken(); break;
+ case 365: { action. consumeToken(); break;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java
index a8eb0b888b..a22af61765 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java
@@ -35,199 +35,200 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3,1,1,
- 4,4,3,3,2,2,8,1,0,1,
- 1,2,2,2,2,2,2,2,2,2,
- 4,1,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,
- 4,3,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,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,8,1,0,
+ 1,1,2,2,2,2,2,2,2,2,
+ 2,4,1,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,4,3,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,6,8,0,
- 0,1,1,3,3,3,0,1,0,1,
- 2,4,2,1,1,1,3,1,1,2,
- 3,7,8,0,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,2,3,4,5,
- 0,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,7,
- 3,0,0,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,-38,0,0,0,0,0,
- 0,0,0,0,-2,0,0,0,0,0,
- 0,0,0,0,0,-128,0,0,0,0,
- 0,-153,-81,-4,-82,0,0,0,0,-133,
- 0,0,0,0,0,0,0,0,0,-18,
+ 1,1,1,1,1,1,1,1,6,8,
+ 0,0,1,1,3,3,3,0,1,0,
+ 1,2,4,2,1,1,1,3,1,1,
+ 2,3,7,8,0,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,3,4,5,
+ 6,0,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,
+ 7,3,0,0,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,-38,0,0,0,0,
+ 0,0,0,0,0,-35,0,0,0,0,
+ 0,0,0,0,0,0,-2,-84,0,0,
+ 0,0,-153,-81,-136,-226,0,0,0,0,
+ 0,-60,0,0,0,0,0,0,0,0,
+ 0,-4,0,0,0,0,0,0,0,-177,
+ 0,0,0,0,0,-128,0,-18,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-129,0,-130,0,0,0,0,
- 0,0,-5,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-134,0,0,0,
+ 0,0,0,0,0,0,0,-134,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-200,0,0,
+ 0,0,0,0,0,0,0,0,-200,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-78,0,
- 0,0,-57,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-123,
- 0,0,0,0,0,0,0,0,-126,-19,
- 0,-20,-88,0,0,-91,-39,0,0,0,
- -21,0,-208,0,-22,-89,-131,0,0,0,
- 0,0,-173,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-143,0,-120,0,0,0,0,
+ 0,0,0,-57,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -123,0,0,0,0,0,0,0,0,-126,
+ 0,0,-129,0,0,-39,0,-117,-91,0,
+ 0,-19,0,-86,-209,0,-20,0,-21,0,
+ 0,-140,0,-173,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-85,-23,0,0,0,0,0,0,0,
- -35,-24,0,0,0,-9,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-143,0,
+ -120,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-85,0,-156,0,0,
+ 0,0,0,0,0,0,-9,0,0,0,
+ 0,0,0,0,0,-130,0,-152,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-10,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-79,0,0,0,0,
+ 0,0,0,0,0,0,-10,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-25,0,-196,0,
- 0,0,0,0,0,0,0,0,-36,0,
- 0,0,0,0,0,0,0,0,0,-3,
+ -79,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-196,0,0,0,0,0,0,
+ 0,0,0,-36,0,0,0,0,0,0,
+ 0,0,0,0,-3,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -132,0,-26,-163,-58,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-96,
- 0,-127,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-131,0,-22,-82,-58,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-27,0,-48,0,0,0,0,0,
- 0,0,0,0,0,0,-139,0,0,0,
+ 0,0,0,0,-96,0,-127,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-28,0,-30,
- 0,0,0,0,0,0,0,0,0,-73,
+ 0,0,0,0,0,0,0,-23,0,-48,
0,0,0,0,0,0,0,0,0,0,
- -62,0,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,-63,0,0,0,0,0,0,0,0,
- 0,-74,0,0,0,0,0,0,0,0,
- 0,0,-64,0,0,0,0,0,0,0,
+ 0,0,-24,0,-30,0,0,0,0,0,
+ 0,0,0,0,-73,0,0,0,0,0,
+ 0,0,0,0,0,-62,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-65,0,0,0,0,0,0,
- 0,0,0,-75,0,0,0,0,0,0,
- 0,0,0,0,-66,0,0,0,0,0,
+ 0,0,0,0,0,0,-63,0,0,0,
+ 0,0,0,0,0,0,-74,0,0,0,
+ 0,0,0,0,0,0,0,-64,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-67,0,0,0,0,
- 0,0,0,0,0,-76,0,0,0,0,
- 0,0,0,0,0,0,-68,0,0,0,
+ 0,0,0,0,0,0,0,0,-65,0,
+ 0,0,0,0,0,0,0,0,-75,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,-69,0,0,
- 0,0,0,0,0,0,0,-95,0,0,
- 0,0,0,0,0,0,0,0,-70,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-71,
- 0,0,0,0,0,0,0,0,0,-124,
+ -67,0,0,0,0,0,0,0,0,0,
+ -76,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,
- -72,0,0,0,0,0,0,0,0,0,
+ 0,0,-69,0,0,0,0,0,0,0,
+ 0,0,-95,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,-158,0,0,0,0,0,0,0,0,
- 0,-141,0,0,0,0,0,0,0,0,
- 0,0,-159,0,0,0,0,0,0,0,
+ 0,0,0,0,-71,0,0,0,0,0,
+ 0,0,0,0,-124,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,-176,0,0,0,0,0,0,
- 0,0,0,-29,0,0,0,0,0,0,
- 0,0,0,-199,0,0,0,0,0,0,
- 0,0,0,-117,0,0,0,0,0,0,
- 0,0,0,0,-77,-152,-175,0,0,-43,
- 0,0,0,0,0,0,0,0,-207,0,
+ 0,0,0,0,0,0,-133,0,0,0,
+ 0,0,0,0,0,0,-141,0,0,0,
+ 0,0,0,0,0,0,0,-158,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-215,0,
- 0,0,0,0,0,0,0,0,-94,0,
- 0,0,0,0,0,0,0,0,-86,0,
- -40,0,-193,0,-44,0,0,0,0,0,
- 0,0,0,-223,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-159,0,
+ 0,0,0,0,0,0,0,0,-167,0,
+ 0,0,0,0,0,0,0,0,0,-176,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-60,0,0,0,0,0,0,
- 0,0,0,-136,0,0,0,0,0,0,
- 0,-93,0,0,-198,0,0,-148,0,-54,
+ 0,0,0,0,0,0,0,0,0,-199,
0,0,0,0,0,0,0,0,0,-190,
- 0,0,0,0,0,0,0,0,-191,0,
- -166,-142,0,0,0,0,-97,-98,0,0,
- 0,0,-55,0,0,0,0,0,0,0,
- 0,0,-84,0,0,0,0,0,0,0,
- -167,-164,-87,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-121,0,0,0,
- 0,0,0,0,-177,0,0,0,0,0,
- -162,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,-187,
- -6,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-204,0,0,0,0,
- -149,0,-42,-186,-172,0,-151,0,-184,-99,
0,0,0,0,0,0,0,0,0,0,
+ -132,0,-148,-193,0,-43,0,0,0,0,
+ 0,0,0,0,-208,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,-225,-171,0,0,0,-56,0,0,
- 0,0,0,0,0,0,0,-100,0,0,
- -147,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-154,-156,-138,-205,0,
- 0,0,0,-101,-102,0,0,-103,0,-49,
+ 0,0,0,0,-217,0,0,0,0,0,
+ 0,0,0,0,-186,0,0,0,0,0,
+ 0,0,0,0,0,-175,0,0,-25,0,
+ -26,0,-198,0,-27,0,-93,0,-78,-225,
0,0,0,0,0,0,0,0,0,0,
- 0,-50,0,0,0,0,0,0,0,0,
- 0,-83,0,0,0,0,-51,0,0,0,
- 0,0,0,0,0,0,-210,0,-170,0,
- 0,-217,0,-104,0,0,0,0,0,0,
- -105,0,0,0,0,0,-52,0,0,0,
- 0,0,0,0,0,0,-53,0,0,0,
- 0,0,0,0,0,0,0,-80,0,0,
- 0,0,0,0,0,0,-90,0,-214,-106,
- 0,-146,0,-179,-107,-108,-109,-188,0,-160,
- -178,-211,-110,0,-157,0,-59,0,-92,0,
- 0,0,0,0,-111,-224,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-83,0,-149,-142,0,0,0,
+ 0,0,-206,-227,-28,0,0,-5,0,0,
+ 0,0,0,0,0,-172,0,0,0,0,
+ 0,0,-29,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-161,0,0,0,0,0,0,
- 0,0,-112,0,0,0,0,0,0,0,
- 0,-113,-114,0,-115,0,-11,0,0,0,
- 0,0,0,0,-12,0,0,0,0,0,
- 0,0,-13,0,0,0,0,0,0,0,
- -14,0,0,0,0,0,0,0,-37,-45,
- 0,0,0,0,0,0,0,-140,0,-46,
- 0,0,0,0,0,0,0,-47,0,0,
- 0,0,0,0,0,-125,0,-1,-185,-182,
- 0,0,0,0,-116,0,-183,0,0,-189,
- -197,-209,-206,-119,0,0,0,0,-135,-181,
- -144,0,0,-150,-155,0,0,0,0,0,
- -168,0,0,0,0,-7,0,0,0,0,
+ 0,-88,0,0,0,0,-89,0,0,-77,
+ 0,-94,0,-97,-211,-162,0,0,-6,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,-187,-7,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-174,0,-194,0,0,-118,0,-8,
- 0,0,0,0,0,0,-15,0,0,0,
- 0,0,0,-16,0,0,0,0,0,0,
- -17,-195,-216,-221,-31,0,0,-213,0,-202,
- 0,-32,0,0,0,0,-192,0,-33,0,
- 0,0,-34,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-212,0,0,
+ 0,0,0,0,0,-151,0,-121,0,0,
+ -205,-154,0,0,0,0,0,-40,0,-178,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-122,-165,0,0,-137,
- -41,0,0,-169,-145,0,-203,0,0,0,
- 0,-180,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-201,-219,0,
+ 0,0,0,0,-54,0,0,0,0,0,
+ 0,0,0,0,-163,0,0,0,0,0,
+ 0,0,0,0,0,-98,0,-99,-100,-189,
+ -207,0,-55,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-56,0,0,0,0,
+ 0,0,0,0,0,-165,0,0,-224,-157,
+ 0,-170,-179,-101,0,0,0,0,0,0,
+ -102,0,0,0,-49,0,0,0,0,0,
+ 0,0,0,0,0,0,-52,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -218,0,0,0,0,-220,0,0,0,0,
+ 0,0,0,-171,0,-103,-104,0,-105,0,
+ -50,0,0,0,0,0,0,0,0,0,
+ -106,0,-51,0,0,0,0,0,0,0,
+ 0,0,-107,0,-11,0,0,0,0,0,
+ 0,0,0,0,-53,0,0,0,0,0,
+ 0,0,0,0,-219,-44,0,0,0,0,
+ 0,0,0,0,0,-147,0,0,0,0,
+ 0,0,0,0,-108,-109,-164,-87,-80,-12,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-110,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-138,-90,0,
+ 0,0,0,-161,0,0,0,0,0,0,
+ 0,-92,-111,-112,0,0,0,0,-146,0,
+ -160,0,0,0,0,0,-113,-192,0,0,
+ 0,0,0,0,0,0,0,0,-114,-115,
+ 0,-116,0,0,0,0,0,-13,0,0,
+ 0,0,0,0,0,-14,0,0,0,0,
+ 0,0,0,-37,-45,0,0,0,0,0,
+ 0,0,-119,0,-46,0,0,0,0,0,
+ 0,0,-47,0,0,0,0,0,0,0,
+ -125,0,-180,-185,-166,-184,-182,0,-188,-135,
+ 0,-183,0,0,0,-144,-150,-155,0,0,
+ 0,0,0,0,0,-220,0,0,0,0,
+ 0,0,0,0,0,-8,0,0,0,0,
+ 0,0,-15,0,0,0,0,0,0,-17,
+ -168,-174,0,0,0,0,0,0,0,0,
+ 0,0,-31,0,-16,0,0,0,0,0,
+ 0,-41,0,-32,-213,-197,0,0,-118,0,
+ 0,0,-215,0,-33,0,-34,-214,-210,0,
+ -194,-216,0,0,0,0,0,0,0,0,
+ 0,0,-195,0,0,-122,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-137,0,
+ 0,-218,0,0,0,0,0,0,0,0,
+ 0,0,-221,-222,0,-169,0,-223,-203,-204,
+ -191,0,0,0,0,0,0,-145,0,0,
+ 0,0,0,0,0,-181,0,0,-1,0,
+ -201,0,0,0,0,0,0,0,0,0,
+ 0,0,-42,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-202,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,
+ -59,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0
+ 0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -237,200 +238,201 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 89,10,22,22,21,21,37,37,72,72,
- 1,1,2,2,2,2,3,3,3,4,
- 5,5,5,5,5,5,5,5,54,54,
- 73,6,6,6,6,6,6,6,6,6,
- 6,6,7,8,8,8,8,9,9,9,
- 11,11,11,12,12,12,12,12,13,13,
- 13,14,14,15,15,16,16,17,17,18,
- 18,19,19,20,20,20,20,20,20,20,
- 20,20,20,20,20,104,30,29,90,90,
- 75,75,45,105,105,105,105,105,105,105,
- 106,106,106,107,107,112,112,113,113,108,
- 108,109,109,109,115,115,110,110,110,110,
- 111,111,111,111,111,114,114,27,27,27,
- 27,27,31,31,31,81,81,76,76,76,
- 76,77,77,77,78,78,78,79,79,79,
- 80,80,80,116,116,117,117,118,32,34,
- 34,34,34,34,55,57,57,57,57,57,
- 57,57,57,57,57,57,57,66,63,63,
- 91,92,67,67,64,64,64,68,82,82,
- 83,83,69,69,69,35,93,93,84,85,
- 85,85,65,65,94,86,86,87,87,70,
- 70,23,24,24,24,33,51,51,38,38,
- 38,38,41,41,43,39,39,40,44,44,
- 119,119,42,120,120,95,95,28,28,28,
- 28,28,28,28,28,28,88,52,52,52,
- 52,36,59,59,58,58,58,60,60,53,
- 53,96,96,50,50,61,61,61,46,46,
- 46,47,48,48,48,49,49,49,49,56,
- 56,56,62,97,74,74,74,74,71,98,
- 99,99,100,100,101,101,121,121,122,122,
- 123,123,123,123,125,125,124,124,124,126,
- 126,89,89,2,2,2,6,6,6,6,
- 6,6,23,23,25,25,26,26,102,102,
- 102,105,127,127,127,127,127,127,127,110,
- 110,110,110,110,110,110,110,110,110,110,
- 110,110,110,110,110,110,110,110,110,110,
- 110,110,110,128,128,1,1169,16,20,17,
- 410,1094,43,522,520,88,535,531,602,593,
- 713,667,788,753,73,90,521,1238,133,211,
- 322,323,401,537,194,580,135,132,134,158,
- 664,19,16,20,17,410,42,43,522,520,
- 931,535,531,602,593,713,667,788,753,72,
- 137,273,164,274,230,185,230,184,141,144,
- 147,150,1179,695,19,16,20,17,410,320,
- 394,1482,592,1293,1547,1569,1232,571,19,16,
- 20,17,410,1094,43,522,520,392,535,531,
- 602,593,713,667,788,753,73,279,633,19,
- 16,20,17,410,1094,43,522,520,392,535,
- 531,602,593,713,667,788,753,73,279,61,
- 1743,1315,290,664,19,16,20,17,410,42,
- 43,522,520,284,535,531,602,593,1556,1715,
- 446,19,16,20,17,410,42,35,285,293,
- 70,1126,457,359,284,1704,455,230,30,1835,
- 1715,250,244,230,1745,39,399,564,1714,285,
- 276,1748,1497,363,19,16,20,17,410,1094,
- 43,522,520,392,535,531,602,593,713,667,
- 788,753,73,279,225,177,819,19,16,20,
- 17,410,1094,43,522,520,1830,535,531,602,
- 593,713,667,788,753,73,1448,133,211,322,
- 323,424,862,32,711,135,132,134,158,286,
- 24,188,81,208,426,1715,664,19,16,20,
- 17,410,42,39,287,133,211,322,323,137,
- 537,164,1125,143,132,134,158,141,144,147,
- 150,1179,664,19,16,20,17,410,42,38,
- 1482,592,1293,1547,1569,1232,281,19,16,20,
- 17,410,1094,43,522,520,1826,535,531,602,
- 593,713,667,788,753,73,1307,59,237,602,
- 19,16,20,17,410,1094,43,522,520,188,
- 535,531,602,593,713,667,788,753,73,279,
- 664,19,16,20,17,410,1094,43,522,520,
- 18,535,531,602,593,713,667,788,753,73,
- 90,230,186,115,644,664,19,16,20,17,
- 410,42,43,522,520,288,535,531,602,1557,
- 239,1715,487,19,16,20,17,410,42,43,
- 522,520,226,535,531,602,593,713,667,788,
- 753,92,21,243,330,664,19,16,20,17,
- 410,42,43,522,520,394,1380,322,19,16,
- 20,17,410,1094,43,522,520,1552,535,531,
- 602,593,713,667,788,753,73,1560,53,238,
- 664,19,16,20,17,410,1094,43,522,520,
- 188,535,531,602,593,713,667,788,753,73,
- 91,664,19,16,20,17,410,1094,43,522,
- 520,1622,535,531,602,593,713,667,788,753,
- 73,84,664,19,16,20,17,410,1094,43,
- 522,520,188,535,531,602,593,713,667,788,
- 753,73,83,664,19,16,20,17,410,1094,
- 43,522,520,1623,535,531,602,593,713,667,
- 788,753,73,82,664,19,16,20,17,410,
- 1094,43,522,520,188,535,531,602,593,713,
- 667,788,753,73,81,664,19,16,20,17,
- 410,1094,43,522,520,1625,535,531,602,593,
- 713,667,788,753,73,80,664,19,16,20,
- 17,410,1094,43,522,520,188,535,531,602,
- 593,713,667,788,753,73,79,664,19,16,
- 20,17,410,1094,43,522,520,1695,535,531,
- 602,593,713,667,788,753,73,78,664,19,
- 16,20,17,410,1094,43,522,520,188,535,
- 531,602,593,713,667,788,753,73,77,664,
- 19,16,20,17,410,1094,43,522,520,22,
- 535,531,602,593,713,667,788,753,73,76,
- 664,19,16,20,17,410,1094,43,522,520,
- 188,535,531,602,593,713,667,788,753,73,
- 75,664,19,16,20,17,410,1094,43,522,
- 520,271,535,531,602,593,713,667,788,753,
- 73,74,664,19,16,20,17,410,1094,43,
- 522,520,188,535,531,602,593,713,667,788,
- 753,73,1690,664,19,16,20,17,410,1094,
- 43,522,520,277,535,531,602,593,713,667,
- 788,753,73,1697,664,19,16,20,17,410,
- 42,43,522,520,337,535,531,602,593,713,
- 667,788,753,92,664,19,16,20,17,410,
- 42,43,522,520,13,535,531,602,593,713,
- 667,788,753,92,447,71,797,230,293,1701,
- 664,19,16,20,17,410,42,43,1267,664,
- 19,16,20,17,410,42,43,522,520,1702,
- 535,531,602,593,713,667,788,753,92,664,
- 19,16,20,17,410,42,43,522,520,850,
- 535,531,602,593,713,667,788,753,92,137,
- 1375,230,30,892,210,664,19,16,20,17,
- 410,42,43,1268,664,19,16,20,17,410,
- 42,43,522,520,200,535,531,602,593,713,
- 667,788,753,92,664,19,16,20,17,410,
- 42,43,522,520,125,535,531,602,593,713,
- 667,1575,225,177,1565,230,295,1703,139,201,
- 664,19,16,20,17,410,42,43,522,520,
- 538,535,531,1511,23,133,211,322,323,113,
- 1366,707,1000,136,132,134,158,477,498,564,
- 386,564,1827,664,19,16,20,17,410,42,
- 43,522,520,607,535,1550,195,138,1262,164,
- 272,188,617,891,1250,142,145,148,151,1179,
- 216,714,219,1292,221,222,227,239,265,395,
- 393,270,278,261,258,581,133,211,322,323,
- 225,954,193,262,146,132,134,158,191,239,
- 1721,1689,664,19,16,20,17,410,42,43,
- 522,520,275,535,531,602,593,713,1613,272,
- 1008,726,19,16,20,17,410,318,259,216,
- 714,219,1292,221,222,227,63,265,395,393,
- 270,13,1379,13,293,518,1871,13,272,188,
- 119,1834,1010,690,1780,324,1709,1414,217,714,
- 219,1292,221,222,227,229,267,395,393,270,
- 223,63,86,730,216,714,219,1292,221,222,
- 227,1871,27,144,482,1745,291,1773,664,19,
- 16,20,17,410,42,43,522,520,126,535,
- 1555,446,19,16,20,17,410,42,35,216,
- 714,219,1292,221,222,227,13,237,239,892,
- 196,198,1773,329,143,207,1561,1842,312,1549,
- 664,19,16,20,17,410,42,43,522,520,
- 241,1428,664,19,16,20,17,410,42,43,
- 522,520,394,1454,207,197,198,664,19,16,
- 20,17,410,42,43,522,520,797,1455,13,
- 1183,1772,412,1859,372,133,211,322,323,1787,
- 280,408,1871,140,132,134,158,664,19,16,
- 20,17,410,42,43,522,1458,664,19,16,
- 20,17,410,42,43,522,1504,139,994,164,
- 216,714,219,1292,221,222,227,903,1686,133,
- 291,1876,239,1379,13,331,361,673,13,275,
- 239,518,188,643,468,69,272,13,1837,932,
- 133,211,322,323,328,333,525,690,149,132,
- 134,158,240,228,265,395,393,270,252,211,
- 322,323,133,211,322,323,86,1563,281,1010,
- 152,132,134,158,446,19,16,20,17,410,
- 42,35,1709,669,217,714,219,1292,221,222,
- 227,192,700,731,1710,762,245,664,19,16,
- 20,17,410,42,37,664,19,16,20,17,
- 410,42,36,664,19,16,20,17,410,42,
- 35,664,19,16,20,17,410,42,34,1011,
- 664,19,16,20,17,410,42,46,181,489,
- 664,19,16,20,17,410,42,45,664,19,
- 16,20,17,410,42,44,559,272,528,559,
- 239,253,211,322,323,793,564,239,690,564,
- 518,239,239,518,245,265,395,393,270,292,
- 961,735,242,1262,824,856,1262,86,311,243,
- 264,857,1704,292,294,1704,757,19,16,20,
- 17,410,316,253,211,322,323,178,1748,257,
- 202,1350,257,6,1052,853,1711,1052,1014,1711,
- 788,19,16,20,17,410,40,664,19,16,
- 20,17,410,33,664,19,16,20,17,410,
- 32,13,915,704,373,13,272,375,518,1938,
- 679,365,13,1938,1709,365,1938,482,1745,13,
- 564,1938,365,13,267,395,393,270,195,365,
- 86,679,195,365,86,679,1659,1262,82,195,
- 1659,86,679,1938,1938,179,195,1659,86,679,
- 195,601,86,679,1659,800,69,61,1659,232,
- 69,251,842,257,57,503,1938,169,1562,884,
- 1711,690,69,926,564,564,1938,564,1938,252,
- 211,322,323,252,211,322,323,207,973,518,
- 88,195,1262,1704,195,252,211,322,323,1250,
- 1938,61,1250,1449,1772,1808,518,1938,1938,1350,
- 1938,253,211,322,323,1668,1938,1938,257,1668,
- 1938,1938,1938,1291,1938,1711,203,1938,1938,1938,
- 1938,1858,1938,190,1938,1938,190,1704,1938,1938,
- 1938,1938,1938,1413,767,1938,1700,1259,1042,1778,
- 1259,968,1938,1576,1938,0,325,732,0,19,
- 177,0,1,2162,0,1,2173,0
+ 89,10,104,22,22,21,21,37,37,72,
+ 72,1,1,2,2,2,2,3,3,3,
+ 4,5,5,5,5,5,5,5,5,54,
+ 54,73,6,6,6,6,6,6,6,6,
+ 6,6,6,7,8,8,8,8,9,9,
+ 9,11,11,11,12,12,12,12,12,13,
+ 13,13,14,14,15,15,16,16,17,17,
+ 18,18,19,19,20,20,20,20,20,20,
+ 20,20,20,20,20,20,105,31,30,90,
+ 90,75,75,45,106,106,106,106,106,106,
+ 106,107,107,107,108,108,113,113,114,114,
+ 109,109,110,110,110,116,116,111,111,111,
+ 111,112,112,112,112,112,115,115,27,27,
+ 27,27,27,32,32,32,81,81,76,76,
+ 76,76,77,77,77,78,78,78,79,79,
+ 79,80,80,80,117,117,118,118,119,33,
+ 35,35,35,35,35,55,57,57,57,57,
+ 57,57,57,57,57,57,57,57,66,63,
+ 63,91,92,67,67,64,64,64,68,82,
+ 82,83,83,69,69,69,36,93,93,84,
+ 85,85,85,65,65,94,86,86,87,87,
+ 70,70,23,24,24,24,34,51,51,38,
+ 38,38,38,41,41,43,39,39,40,44,
+ 44,120,120,42,121,121,95,95,28,28,
+ 28,28,28,28,28,28,28,88,52,52,
+ 52,52,29,59,59,58,58,58,60,60,
+ 53,53,96,96,50,50,61,61,61,46,
+ 46,46,47,48,48,48,49,49,49,49,
+ 56,56,56,62,97,74,74,74,74,71,
+ 98,99,99,100,100,101,101,122,122,123,
+ 123,124,124,124,124,126,126,125,125,125,
+ 127,127,89,89,2,2,2,6,6,6,
+ 6,6,6,23,23,25,25,26,26,102,
+ 102,102,106,128,128,128,128,128,128,128,
+ 111,111,111,111,111,111,111,111,111,111,
+ 111,111,111,111,111,111,111,111,111,111,
+ 111,111,111,111,129,129,1,1302,17,21,
+ 18,428,1273,44,537,532,188,718,539,793,
+ 758,1211,1209,1255,1215,74,91,88,607,134,
+ 212,323,324,401,537,61,525,1300,136,133,
+ 135,159,664,20,17,21,18,428,43,44,
+ 537,532,194,718,539,793,758,1211,1209,1603,
+ 581,138,274,165,1440,1690,521,1153,931,142,
+ 145,148,151,534,218,1395,220,1557,222,223,
+ 228,412,1244,596,1558,1589,1602,1217,571,20,
+ 17,21,18,428,1273,44,537,532,393,718,
+ 539,793,758,1211,1209,1255,1215,74,280,633,
+ 20,17,21,18,428,1273,44,537,532,393,
+ 718,539,793,758,1211,1209,1255,1215,74,280,
+ 325,1732,420,291,664,20,17,21,18,428,
+ 43,44,537,532,285,718,539,793,758,1555,
+ 1698,446,20,17,21,18,428,43,36,286,
+ 293,292,618,230,186,285,230,31,13,455,
+ 1828,1698,70,245,137,230,1771,457,448,250,
+ 286,277,125,1305,363,20,17,21,18,428,
+ 1273,44,537,532,393,718,539,793,758,1211,
+ 1209,1255,1215,74,280,254,212,323,324,225,
+ 178,819,20,17,21,18,428,1273,44,537,
+ 532,1799,718,539,793,758,1211,1209,1255,1215,
+ 74,1588,134,212,323,324,862,1151,61,25,
+ 287,136,133,135,159,209,1698,664,20,17,
+ 21,18,428,43,40,288,230,185,797,134,
+ 212,323,324,716,138,426,165,1683,144,133,
+ 135,159,142,145,148,151,534,664,20,17,
+ 21,18,428,43,39,1244,596,1558,1589,1602,
+ 1217,281,20,17,21,18,428,1273,44,537,
+ 532,1786,718,539,793,758,1211,1209,1255,1215,
+ 74,1358,1266,238,602,20,17,21,18,428,
+ 1273,44,537,532,188,718,539,793,758,1211,
+ 1209,1255,1215,74,280,664,20,17,21,18,
+ 428,1273,44,537,532,19,718,539,793,758,
+ 1211,1209,1255,1215,74,91,564,1697,39,580,
+ 664,20,17,21,18,428,43,44,537,532,
+ 289,718,539,793,1556,239,1698,487,20,17,
+ 21,18,428,43,44,537,532,275,718,539,
+ 793,758,1211,1209,1255,1215,93,22,32,331,
+ 664,20,17,21,18,428,43,44,537,532,
+ 412,1408,322,20,17,21,18,428,1273,44,
+ 537,532,1609,718,539,793,758,1211,1209,1255,
+ 1215,74,1611,81,239,664,20,17,21,18,
+ 428,1273,44,537,532,188,718,539,793,758,
+ 1211,1209,1255,1215,74,92,664,20,17,21,
+ 18,428,1273,44,537,532,1617,718,539,793,
+ 758,1211,1209,1255,1215,74,85,664,20,17,
+ 21,18,428,1273,44,537,532,188,718,539,
+ 793,758,1211,1209,1255,1215,74,84,664,20,
+ 17,21,18,428,1273,44,537,532,1629,718,
+ 539,793,758,1211,1209,1255,1215,74,83,664,
+ 20,17,21,18,428,1273,44,537,532,188,
+ 718,539,793,758,1211,1209,1255,1215,74,82,
+ 664,20,17,21,18,428,1273,44,537,532,
+ 1630,718,539,793,758,1211,1209,1255,1215,74,
+ 81,664,20,17,21,18,428,1273,44,537,
+ 532,188,718,539,793,758,1211,1209,1255,1215,
+ 74,80,664,20,17,21,18,428,1273,44,
+ 537,532,1632,718,539,793,758,1211,1209,1255,
+ 1215,74,79,664,20,17,21,18,428,1273,
+ 44,537,532,188,718,539,793,758,1211,1209,
+ 1255,1215,74,78,664,20,17,21,18,428,
+ 1273,44,537,532,23,718,539,793,758,1211,
+ 1209,1255,1215,74,77,664,20,17,21,18,
+ 428,1273,44,537,532,188,718,539,793,758,
+ 1211,1209,1255,1215,74,76,664,20,17,21,
+ 18,428,1273,44,537,532,272,718,539,793,
+ 758,1211,1209,1255,1215,74,75,664,20,17,
+ 21,18,428,1273,44,537,532,188,718,539,
+ 793,758,1211,1209,1255,1215,74,73,664,20,
+ 17,21,18,428,1273,44,537,532,278,718,
+ 539,793,758,1211,1209,1255,1215,74,1687,664,
+ 20,17,21,18,428,1273,44,537,532,188,
+ 718,539,793,758,1211,1209,1255,1215,74,1692,
+ 664,20,17,21,18,428,43,44,537,532,
+ 279,718,539,793,758,1211,1209,1255,1215,93,
+ 664,20,17,21,18,428,43,44,537,532,
+ 538,718,539,793,758,1211,1209,1255,1215,93,
+ 1361,230,187,139,892,1756,664,20,17,21,
+ 18,428,43,44,1304,664,20,17,21,18,
+ 428,43,44,537,532,1769,718,539,793,758,
+ 1211,1209,1255,1215,93,664,20,17,21,18,
+ 428,43,44,537,532,293,718,539,793,758,
+ 1211,1209,1255,1215,93,1819,230,294,1411,59,
+ 211,115,194,230,296,243,230,225,178,61,
+ 664,20,17,21,18,428,43,44,537,532,
+ 201,718,539,793,758,1211,1209,1255,1215,93,
+ 134,212,323,324,394,1731,13,1000,1663,137,
+ 133,135,159,892,144,53,1816,1436,695,20,
+ 17,21,18,428,321,202,518,134,212,323,
+ 324,1759,139,337,165,273,141,133,135,159,
+ 143,146,149,152,534,217,1395,220,1557,222,
+ 223,228,359,266,719,394,271,399,262,140,
+ 71,165,850,28,477,797,954,1813,263,726,
+ 20,17,21,18,428,319,1684,664,20,17,
+ 21,18,428,43,44,537,532,276,718,539,
+ 793,758,1211,1604,273,1008,757,20,17,21,
+ 18,428,317,260,217,1395,220,1557,222,223,
+ 228,281,266,719,394,271,13,1686,239,1814,
+ 523,63,13,273,1690,616,1484,1015,230,31,
+ 518,1706,1370,218,1395,220,1557,222,223,228,
+ 240,268,719,394,271,664,20,17,21,18,
+ 428,43,44,537,532,644,718,539,1489,217,
+ 1395,220,1557,222,223,228,498,282,119,126,
+ 518,518,1802,664,20,17,21,18,428,43,
+ 44,537,532,227,718,1501,664,20,17,21,
+ 18,428,43,44,537,532,61,718,1513,63,
+ 181,24,13,13,143,197,199,179,203,1706,
+ 1836,207,1618,469,1772,664,20,17,21,18,
+ 428,43,44,537,532,1663,1409,664,20,17,
+ 21,18,428,43,44,537,1486,217,1395,220,
+ 1557,222,223,228,482,1771,312,372,1335,408,
+ 1802,664,20,17,21,18,428,43,44,537,
+ 532,291,1444,664,20,17,21,18,428,43,
+ 44,537,532,331,1451,664,20,17,21,18,
+ 428,43,38,198,199,664,20,17,21,18,
+ 428,43,44,537,1487,412,664,20,17,21,
+ 18,428,43,44,1406,1706,446,20,17,21,
+ 18,428,43,36,208,361,673,617,891,994,
+ 664,20,17,21,18,428,43,37,330,1681,
+ 1154,1783,643,217,1395,220,1557,222,223,228,
+ 276,134,212,323,324,226,1686,273,239,903,
+ 147,133,135,159,446,20,17,21,18,428,
+ 43,36,932,333,669,266,719,394,271,239,
+ 242,239,134,212,323,324,246,700,482,1771,
+ 1015,150,133,135,159,134,212,323,324,731,
+ 762,329,793,241,153,133,135,159,664,20,
+ 17,21,18,428,43,36,664,20,17,21,
+ 18,428,43,35,1011,664,20,17,21,18,
+ 428,43,47,245,1219,664,20,17,21,18,
+ 428,43,46,664,20,17,21,18,428,43,
+ 45,559,273,237,559,707,188,239,208,13,
+ 292,569,239,1841,569,569,735,824,856,1820,
+ 266,719,394,271,1253,1783,61,224,1247,243,
+ 1663,1247,1247,1663,244,265,788,20,17,21,
+ 18,428,41,664,20,17,21,18,428,34,
+ 13,857,6,1759,258,1663,1335,258,259,1057,
+ 366,1696,1057,13,1696,664,20,17,21,18,
+ 428,33,251,366,13,188,239,196,396,1014,
+ 87,684,695,518,366,13,1654,13,82,239,
+ 196,853,133,87,684,366,229,366,293,1654,
+ 376,196,89,915,87,684,69,273,1690,233,
+ 1654,295,196,805,196,87,684,87,684,69,
+ 180,1654,704,1654,847,268,719,394,271,253,
+ 212,323,324,518,518,889,57,931,373,679,
+ 169,113,253,212,323,324,569,1947,503,569,
+ 569,569,1947,1947,1947,1947,69,1947,569,528,
+ 1947,69,973,196,193,542,1247,196,196,695,
+ 204,1254,1140,13,1947,1247,1140,1140,542,253,
+ 212,323,324,695,253,212,323,324,961,87,
+ 312,1947,258,1947,772,1947,1947,1755,1947,1696,
+ 1947,258,973,87,735,191,1099,1068,1696,191,
+ 192,254,212,323,324,1868,1947,1947,1410,1821,
+ 1882,13,1763,1821,1947,254,212,323,324,1947,
+ 1947,695,1947,1947,1768,1947,1947,1947,1947,1947,
+ 1947,1947,1947,1947,1947,1947,1947,1947,387,1947,
+ 1947,87,1572,1947,0,326,737,0,20,178,
+ 0,1,2172,0,1,2183,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -560,111 +562,111 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1938,1948,1771,1949,1643,1938,1635,1627,1651,2150,
- 2151,2152,1,1764,1757,2264,1283,2265,1750,1950,
- 1951,1952,1953,632,606,2251,2252,2253,1726,1351,
- 433,63,2099,2100,2098,2153,2101,2097,53,1240,
- 2104,2109,2108,2106,2107,2105,2110,2111,2103,2112,
- 2113,2114,69,526,536,523,1938,1,67,1,
- 251,189,1,2162,1502,1,1,1,1938,50,
- 1938,1,1,1,669,1185,1130,2150,2151,2152,
- 61,1938,1114,2264,1283,2265,1943,1938,1,1,
- 1,1,1,1,1517,1527,1,1,1,1,
- 1,1,1,1,1,1,1,1,189,1,
- 1,1,1938,1,65,1,2132,188,57,1774,
- 1942,1,1,1,247,56,1332,1,1,1,
- 1159,493,1938,1,1,1,180,1947,181,1,
- 1,1,55,283,1,1,1,1,1,1,
- 1418,1273,1,1,1,1,1,1,1,1,
- 1,1,1,1,188,1,1,1,1938,1,
- 1401,1,2132,189,1517,1527,1925,1,1,1,
- 246,1517,1527,1,1,1,715,1938,1938,2150,
- 2151,2152,1943,87,1938,2264,1283,2265,1517,1527,
- 1,1,1,1,1,1,54,1946,1,1,
+ 1947,1958,1730,1959,1638,1947,1560,1515,1646,2160,
+ 2161,2162,1,1745,1723,2274,388,2275,1716,1960,
+ 1961,1962,1963,637,607,2261,2262,2263,1336,1309,
+ 1258,64,2109,2110,2108,2163,2111,2107,54,1385,
+ 2114,2119,2118,2116,2117,2115,2120,2121,2113,2122,
+ 2123,2124,70,529,1297,1292,1947,1,68,1,
+ 252,190,1,2172,1535,1,1,1,1947,51,
+ 1947,1,1,1,674,1536,1156,2160,2161,2162,
+ 62,1947,528,2274,388,2275,1953,1947,1,1,
+ 1,1,1,1,1467,1525,1,1,1,1,
+ 1,1,1,1,1,1,1,1,190,1,
+ 1,1,1947,1,66,1,2142,189,58,1818,
+ 1952,1,1,1,247,57,1317,1,1,1,
+ 1185,494,1947,2160,2161,2162,181,1957,182,2274,
+ 388,2275,56,284,1,1,1,1,1,1,
+ 1426,1413,1,1,1,1,1,1,1,1,
+ 1,1,1,1,189,1,1,1,1947,1,
+ 1439,1,2142,190,1467,1525,1934,1,1,1,
+ 248,1467,1525,1,1,1,720,1947,1947,1,
+ 1,1,1953,88,1947,1,1,1,1467,1525,
+ 1,1,1,1,1,1,55,1956,1,1,
1,1,1,1,1,1,1,1,1,1,
- 189,1,1,1,1938,1948,1942,1949,2132,1938,
- 1948,790,1949,2150,2151,2152,248,1938,1938,2264,
- 1283,2265,71,1941,1938,1,1,1,1224,58,
- 1,1,1,1,1938,89,2099,2100,2098,2153,
- 2101,2097,1517,1527,2104,2109,2108,2106,2107,2105,
- 2110,2111,2103,2112,2113,2114,1938,526,536,523,
- 1,1948,1771,1949,510,1941,1635,1627,1651,89,
- 60,1938,1,1764,1757,1447,1940,1943,1750,1950,
- 1951,1952,1953,632,606,2251,2252,2253,1726,1351,
- 433,52,566,1487,1472,1460,755,1185,1130,1214,
- 1567,1938,1948,1771,1949,1604,1941,1635,1627,1651,
- 59,1942,70,1938,1764,1757,42,1938,1940,1750,
- 1950,1951,1952,1953,632,606,2251,2252,2253,1726,
- 1351,433,1938,1063,1487,1472,1460,755,183,3160,
- 66,3160,1,1948,1771,1949,1643,28,1635,1627,
- 1651,51,1938,2174,3101,1764,1757,1185,1130,1940,
- 1750,1950,1951,1952,1953,632,606,2251,2252,2253,
- 1726,1351,433,127,1487,1472,1460,755,182,3165,
- 1938,3165,2150,2151,2152,1021,1332,62,2264,1283,
- 2265,1,2162,1502,28,1000,979,958,937,916,
- 874,895,853,832,811,2099,2100,2098,2153,2101,
- 2097,1084,715,2104,2109,2108,2106,2107,2105,2110,
- 2111,2103,2112,2113,2114,1938,1948,1771,1949,1643,
- 1941,1635,1627,1651,204,3166,47,3166,1764,1757,
- 1678,1127,1938,1750,1950,1951,1952,1953,632,606,
- 2251,2252,2253,1726,1351,433,49,1418,1273,1938,
- 1678,206,1948,1938,1949,1938,1938,1948,1771,1949,
- 1431,1941,1635,1627,1651,205,533,48,533,1764,
- 1757,1678,1,1940,1750,1950,1951,1952,1953,632,
- 606,2251,2252,2253,1726,1351,433,1938,1670,1660,
- 1938,1948,1945,1949,251,2162,1502,1938,1,1,
- 1,1,1371,1,1,1,269,1,1670,1660,
- 1,1,1947,1938,1940,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1670,
- 1660,2194,251,1938,1948,1938,1949,646,1938,1944,
- 1,1948,1771,1949,1643,1377,1635,1627,1651,268,
- 289,519,3101,1764,1757,1938,1938,2250,1750,1950,
- 1951,1952,1953,632,606,2251,2252,2253,1726,1351,
- 433,1938,1948,1771,1949,1643,325,1635,1627,1651,
- 646,1104,1946,3101,1764,1757,220,2194,1374,1750,
- 1950,1951,1952,1953,632,606,2251,2252,2253,1726,
- 1351,433,1,1948,1771,1949,1643,1926,1635,1627,
- 1651,1235,1938,218,3101,1764,1757,646,1938,1938,
- 1750,1950,1951,1952,1953,632,606,2251,2252,2253,
- 1726,1351,433,1938,1948,1771,1949,1643,68,1635,
- 1627,1651,64,1938,646,1938,1764,1757,1,1935,
- 1240,1750,1950,1951,1952,1953,632,606,2251,2252,
- 2253,1726,1351,433,1938,1948,1775,1949,1643,321,
- 1635,1627,1651,199,1938,1938,1,1764,1757,1938,
- 400,1114,1750,1950,1951,1952,1953,632,606,2251,
- 2252,2253,1726,1351,433,1938,1948,1782,1949,1643,
- 319,1635,1627,1651,254,1938,1938,2194,1764,1757,
- 1938,493,1114,1750,1950,1951,1952,1953,632,606,
- 2251,2252,2253,1726,1351,433,1938,1948,1789,1949,
- 1643,317,1635,1627,1651,2193,1938,1938,1938,1764,
- 1757,1194,1261,1114,1750,1950,1951,1952,1953,632,
- 606,2251,2252,2253,1726,1351,433,1938,1948,1793,
- 1949,1643,41,1635,1627,1651,29,1938,282,1938,
- 1764,1757,1938,1446,1114,1750,1950,1951,1952,1953,
- 632,606,2251,2252,2253,1726,1351,433,1,1948,
- 1771,1949,1643,1938,1635,1627,1651,1938,1938,1938,
- 1938,1764,1757,1938,543,1499,1750,1950,1951,1952,
- 1953,632,606,2251,2252,2253,1726,1351,433,19,
- 1446,1929,209,1929,1929,1938,1938,187,177,177,
- 177,128,187,187,177,177,177,1554,1558,183,
- 2150,2151,2152,1938,182,204,2264,1283,2265,1938,
- 1929,177,177,177,177,177,177,1938,1929,1938,
- 129,29,1938,2099,2100,2098,2153,2101,2097,2150,
- 2151,2152,130,1938,1938,2264,1283,2265,1938,1938,
- 1938,2150,2151,2152,205,1938,1938,2264,1283,2265,
- 1938,1139,2099,2100,2098,2153,2101,2097,1938,1966,
- 31,131,1831,1938,2099,2100,2098,2153,2101,2097,
- 2150,2151,2152,1963,1964,1938,2264,1283,2265,1938,
- 1938,1938,2798,1,1932,1321,1938,1938,1943,1938,
- 249,1373,1938,2099,2100,2098,2153,2101,2097,2150,
- 2151,2152,250,1938,1938,2264,1283,2265,1938,1938,
- 1938,2150,2151,2152,646,1938,1938,2264,1283,2265,
- 1938,1181,1942,1,1938,1538,1938,1938,1943,260,
- 2162,1321,1938,1,1938,1938,527,266,2162,1321,
- 263,251,1538,266,1,1538,1938,251,1938,1938,
- 1938,1938,1938,1938,646,1938,1938,1938,1938,1938,
- 646,1938,1942,1938,1938,1938,1938,1938,646,1938,
- 1938,646,1938,1938,646
+ 190,1,1,1,1947,1958,1952,1959,2142,1947,
+ 1958,795,1959,2160,2161,2162,249,1947,1947,2274,
+ 388,2275,72,1951,1947,1,1,1,395,59,
+ 1,1,1,1,1947,90,2109,2110,2108,2163,
+ 2111,2107,1467,1525,2114,2119,2118,2116,2117,2115,
+ 2120,2121,2113,2122,2123,2124,1947,529,1297,1292,
+ 1,1958,1730,1959,511,1951,1560,1515,1646,90,
+ 61,1947,1,1745,1723,598,1950,1953,1716,1960,
+ 1961,1962,1963,637,607,2261,2262,2263,1336,1309,
+ 1258,53,571,1503,1491,1455,760,1536,1156,402,
+ 1901,1947,1958,1730,1959,1594,1951,1560,1515,1646,
+ 60,1952,71,1947,1745,1723,43,1947,1950,1716,
+ 1960,1961,1962,1963,637,607,2261,2262,2263,1336,
+ 1309,1258,1947,1089,1503,1491,1455,760,184,3170,
+ 67,3170,1,1958,1730,1959,1638,29,1560,1515,
+ 1646,52,1947,2184,3111,1745,1723,1536,1156,1950,
+ 1716,1960,1961,1962,1963,637,607,2261,2262,2263,
+ 1336,1309,1258,128,1503,1491,1455,760,183,3175,
+ 1947,3175,2160,2161,2162,1026,1317,63,2274,388,
+ 2275,1,2172,1535,29,1005,984,963,942,921,
+ 879,900,858,837,816,2109,2110,2108,2163,2111,
+ 2107,1110,720,2114,2119,2118,2116,2117,2115,2120,
+ 2121,2113,2122,2123,2124,1947,1958,1730,1959,1638,
+ 1951,1560,1515,1646,205,3176,48,3176,1745,1723,
+ 1673,1206,1947,1716,1960,1961,1962,1963,637,607,
+ 2261,2262,2263,1336,1309,1258,50,1426,1413,1947,
+ 1673,207,1958,1947,1959,1947,1947,1958,1730,1959,
+ 1546,1951,1560,1515,1646,206,535,49,535,1745,
+ 1723,1673,1,1950,1716,1960,1961,1962,1963,637,
+ 607,2261,2262,2263,1336,1309,1258,1947,1665,1655,
+ 1947,1958,1955,1959,252,2172,1535,1947,1,1,
+ 1,1,1246,1,1,1,270,1,1665,1655,
+ 1,1,1957,1947,1950,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1665,
+ 1655,2204,252,1947,1958,1947,1959,651,1947,1954,
+ 1,1958,1730,1959,1638,1356,1560,1515,1646,269,
+ 290,520,3111,1745,1723,1947,1947,2260,1716,1960,
+ 1961,1962,1963,637,607,2261,2262,2263,1336,1309,
+ 1258,1947,1958,1730,1959,1638,326,1560,1515,1646,
+ 651,1130,1956,3111,1745,1723,221,2204,1195,1716,
+ 1960,1961,1962,1963,637,607,2261,2262,2263,1336,
+ 1309,1258,1,1958,1730,1959,1638,1935,1560,1515,
+ 1646,1213,1947,219,3111,1745,1723,651,1947,1947,
+ 1716,1960,1961,1962,1963,637,607,2261,2262,2263,
+ 1336,1309,1258,1947,1958,1730,1959,1638,69,1560,
+ 1515,1646,65,1947,651,1947,1745,1723,1,1944,
+ 1385,1716,1960,1961,1962,1963,637,607,2261,2262,
+ 2263,1336,1309,1258,1947,1958,1743,1959,1638,322,
+ 1560,1515,1646,200,1947,1947,1,1745,1723,1947,
+ 1047,528,1716,1960,1961,1962,1963,637,607,2261,
+ 2262,2263,1336,1309,1258,1947,1958,1754,1959,1638,
+ 320,1560,1515,1646,255,1947,1947,2204,1745,1723,
+ 1947,494,528,1716,1960,1961,1962,1963,637,607,
+ 2261,2262,2263,1336,1309,1258,1947,1958,1765,1959,
+ 1638,318,1560,1515,1646,2203,1947,1947,1947,1745,
+ 1723,1220,1685,528,1716,1960,1961,1962,1963,637,
+ 607,2261,2262,2263,1336,1309,1258,1947,1958,1767,
+ 1959,1638,42,1560,1515,1646,30,1947,283,1947,
+ 1745,1723,1947,1362,528,1716,1960,1961,1962,1963,
+ 637,607,2261,2262,2263,1336,1309,1258,1,1958,
+ 1730,1959,1638,1947,1560,1515,1646,1947,1947,1947,
+ 1947,1745,1723,1947,544,1442,1716,1960,1961,1962,
+ 1963,637,607,2261,2262,2263,1336,1309,1258,20,
+ 1362,1938,210,1938,1938,1947,1947,188,178,178,
+ 178,129,188,188,178,178,178,1443,1689,184,
+ 2160,2161,2162,1947,183,205,2274,388,2275,1947,
+ 1938,178,178,178,178,178,178,1947,1938,1947,
+ 130,30,1947,2109,2110,2108,2163,2111,2107,2160,
+ 2161,2162,131,1947,1947,2274,388,2275,1947,1947,
+ 1947,2160,2161,2162,206,1947,1947,2274,388,2275,
+ 1947,1165,2109,2110,2108,2163,2111,2107,1947,1976,
+ 32,132,1752,1947,2109,2110,2108,2163,2111,2107,
+ 2160,2161,2162,1973,1974,1947,2274,388,2275,1947,
+ 1947,1947,2808,1,1941,1306,1947,1947,1953,1947,
+ 250,1853,1947,2109,2110,2108,2163,2111,2107,2160,
+ 2161,2162,251,1947,1947,2274,388,2275,1947,1947,
+ 1947,2160,2161,2162,651,1947,1947,2274,388,2275,
+ 1947,1368,1952,1,1947,1559,1947,1947,1953,261,
+ 2172,1306,1947,1,1947,1947,526,267,2172,1306,
+ 264,252,1559,267,1,1559,1947,252,1947,1947,
+ 1947,1947,1947,1947,651,1947,1947,1947,1947,1947,
+ 651,1947,1952,1947,1947,1947,1947,1947,651,1947,
+ 1947,651,1947,1947,651
};
};
public final static char termAction[] = TermAction.termAction;
@@ -672,29 +674,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 443,1,85,41,85,85,85,85,85,85,
- 85,85,85,85,85,85,200,3,386,383,
- 390,388,396,394,398,397,400,399,10,85,
- 200,200,200,200,183,183,329,200,368,368,
- 472,85,85,85,85,85,85,85,85,85,
- 85,85,85,85,85,85,85,85,85,85,
- 85,85,85,85,85,85,85,85,85,85,
- 85,85,183,183,183,183,74,333,76,335,
- 181,180,301,193,313,72,313,72,72,313,
- 72,313,220,134,183,45,383,383,388,388,
- 388,388,386,386,394,390,390,397,396,256,
- 399,398,371,371,371,371,50,329,333,79,
- 45,243,109,183,411,338,109,72,368,368,
- 72,368,85,50,333,321,243,45,108,76,
- 183,327,220,182,340,45,109,74,262,74,
- 295,297,259,292,74,321,243,85,85,45,
- 109,335,251,250,333,340,183,74,262,295,
- 295,292,48,470,368,85,258,292,50,243,
- 321,45,45,183,411,338,327,262,292,186,
- 262,295,297,467,297,52,45,368,85,50,
- 321,340,262,188,297,292,85,368,45,297,
- 183,182,292,407,85,406,104,333,292,292,
- 369,188,85,104,297
+ 473,1,146,102,146,146,146,146,146,146,
+ 146,146,146,146,146,146,10,64,84,81,
+ 88,86,94,92,96,95,98,97,70,146,
+ 10,10,10,10,318,318,230,10,368,368,
+ 443,146,146,146,146,146,146,146,146,146,
+ 146,146,146,146,146,146,146,146,146,146,
+ 146,146,146,146,146,146,146,146,146,146,
+ 146,146,318,318,318,318,135,234,137,335,
+ 316,315,202,3,214,133,214,133,133,214,
+ 133,214,30,269,318,106,81,81,86,86,
+ 86,86,84,84,92,88,88,95,94,333,
+ 97,96,371,371,371,371,111,230,234,140,
+ 106,53,170,318,411,338,170,133,368,368,
+ 133,368,146,111,234,222,53,106,169,137,
+ 318,228,30,317,340,106,170,135,236,135,
+ 321,323,61,266,135,222,222,146,146,106,
+ 170,335,328,327,234,340,318,135,236,321,
+ 321,266,109,471,368,146,60,266,111,222,
+ 53,106,106,318,411,338,228,236,266,195,
+ 236,321,323,468,323,113,106,368,146,111,
+ 53,222,340,236,197,323,266,146,368,106,
+ 323,222,318,317,266,407,146,406,165,234,
+ 266,266,369,197,146,165,323
};
};
public final static char asb[] = Asb.asb;
@@ -702,56 +704,56 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 89,0,75,31,2,61,76,13,14,8,
- 4,6,7,62,63,56,57,64,65,66,
- 67,70,71,72,73,74,77,78,52,69,
- 79,80,81,82,83,85,84,86,87,88,
- 68,39,89,38,58,5,0,5,52,31,
- 61,13,14,8,4,6,7,23,24,18,
- 28,29,30,2,19,20,21,22,25,26,
- 27,1,3,12,0,58,5,32,9,10,
- 11,15,16,17,19,20,21,22,25,26,
- 27,3,13,14,8,6,7,23,24,18,
- 28,29,30,4,2,1,0,32,58,5,
- 13,14,8,4,6,7,23,24,18,28,
- 29,30,2,1,3,19,20,21,22,25,
- 26,27,0,10,32,37,11,36,35,34,
- 9,33,15,16,17,61,76,13,14,8,
- 6,7,62,63,56,57,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,38,39,5,0,75,5,4,1,2,
- 68,0,5,68,38,58,39,75,31,18,
+ 89,0,5,68,38,58,39,75,31,18,
19,20,21,22,2,13,14,8,4,6,
7,23,24,25,26,27,28,29,30,1,
3,53,54,55,48,40,45,43,44,42,
41,46,47,49,50,51,37,34,32,33,
- 36,35,9,10,11,16,15,17,0,2,
- 5,38,39,75,31,68,0,69,31,61,
- 0,33,40,9,41,53,34,42,35,43,
- 44,36,10,45,46,32,54,37,55,47,
- 48,11,49,50,51,1,3,15,16,17,
- 60,5,52,0,1,3,5,52,38,0,
- 48,40,45,43,44,42,41,46,47,49,
- 50,51,68,75,37,34,32,33,36,35,
- 9,10,11,15,16,17,38,1,5,39,
- 2,31,4,0,4,2,31,39,5,33,
+ 36,35,9,10,11,16,15,17,0,69,
+ 31,61,0,31,2,61,76,13,14,69,
+ 79,80,81,82,83,85,84,86,87,88,
+ 4,62,63,6,7,57,56,64,65,66,
+ 67,70,71,8,72,73,74,52,75,77,
+ 78,68,39,89,38,58,5,0,5,52,
+ 31,61,13,14,8,4,6,7,23,24,
+ 18,28,29,30,2,19,20,21,22,25,
+ 26,27,1,3,12,0,58,5,32,9,
+ 10,11,15,16,17,19,20,21,22,25,
+ 26,27,3,13,14,8,6,7,23,24,
+ 18,28,29,30,4,2,1,0,32,58,
+ 5,13,14,8,4,6,7,23,24,18,
+ 28,29,30,2,1,3,19,20,21,22,
+ 25,26,27,0,75,5,4,1,2,68,
+ 0,48,40,45,43,44,42,41,46,47,
+ 49,50,51,68,75,37,34,32,33,36,
+ 35,9,10,11,15,16,17,38,1,5,
+ 39,2,31,4,0,33,40,9,41,53,
+ 34,42,35,43,44,36,10,45,46,32,
+ 54,37,55,47,48,11,49,50,51,1,
+ 3,15,16,17,60,5,52,0,10,32,
+ 37,11,36,35,34,9,33,15,16,17,
+ 61,76,13,14,8,6,7,62,63,56,
+ 57,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,38,39,5,0,
+ 1,3,5,52,38,0,2,5,38,39,
+ 75,31,68,0,4,2,31,39,5,33,
40,9,41,53,34,42,35,43,44,36,
10,45,46,32,54,37,55,47,48,11,
49,50,51,15,16,17,59,3,1,0,
- 69,79,80,81,82,83,84,85,86,87,
- 88,12,4,62,63,6,7,57,56,64,
- 65,66,67,70,71,8,72,73,74,58,
- 39,52,89,77,78,68,75,5,38,0,
+ 8,4,6,7,62,63,56,57,64,65,
+ 66,67,70,71,72,73,74,77,78,69,
+ 79,80,81,82,83,84,85,86,87,88,
+ 58,39,52,89,12,68,75,5,38,0,
4,33,40,9,41,53,34,42,35,43,
44,36,10,45,46,32,54,37,55,47,
48,11,49,50,51,1,3,15,16,17,
- 59,0,18,19,20,21,22,1,3,2,
+ 59,0,5,39,18,19,20,21,22,1,
+ 3,2,13,14,8,4,6,7,23,24,
+ 25,26,27,28,29,30,0,5,38,52,
+ 69,0,18,19,20,21,22,1,3,2,
13,14,8,4,6,7,23,24,25,26,
- 27,28,29,30,60,0,5,38,52,69,
- 0,5,39,18,19,20,21,22,1,3,
- 2,13,14,8,4,6,7,23,24,25,
- 26,27,28,29,30,0
+ 27,28,29,30,60,0
};
};
public final static byte asr[] = Asr.asr;
@@ -759,29 +761,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static byte nasb[] = {0,
- 98,36,27,36,27,27,27,27,27,27,
- 27,27,27,27,27,27,105,36,36,36,
- 36,36,36,36,36,36,36,36,36,27,
- 105,105,105,105,17,17,87,1,22,22,
- 115,106,27,27,27,27,27,27,27,27,
- 27,27,27,27,27,27,27,27,106,27,
- 27,27,27,27,27,27,27,27,27,27,
- 27,27,17,17,17,17,36,13,40,86,
- 11,11,53,65,54,46,54,20,20,54,
- 19,54,48,36,17,42,36,36,36,36,
- 36,36,36,36,36,36,36,36,36,36,
- 36,36,36,36,36,36,74,101,36,37,
- 42,113,41,17,93,16,41,7,7,7,
- 7,7,27,25,36,74,113,42,41,91,
- 17,70,29,36,95,42,41,56,74,36,
- 74,44,9,74,36,74,113,27,27,42,
- 41,69,11,11,13,95,17,36,118,74,
- 7,82,24,36,7,27,67,82,74,113,
- 91,42,42,17,93,16,76,74,82,58,
- 61,7,44,36,36,26,42,7,27,25,
- 91,109,118,72,44,82,27,7,42,44,
- 17,17,82,59,27,36,72,13,82,82,
- 36,72,27,78,84
+ 119,41,32,41,32,32,32,32,32,32,
+ 32,32,32,32,32,32,94,41,41,41,
+ 41,41,41,41,41,41,41,41,41,32,
+ 94,94,94,94,18,18,85,1,20,20,
+ 98,95,32,32,32,32,32,32,32,32,
+ 32,32,32,32,32,32,32,32,95,32,
+ 32,32,32,32,32,32,32,32,32,32,
+ 32,32,18,18,18,18,41,64,47,84,
+ 13,13,61,9,62,25,62,23,23,62,
+ 22,62,56,41,18,49,41,41,41,41,
+ 41,41,41,41,41,41,41,41,41,41,
+ 41,41,41,41,41,41,76,101,41,42,
+ 49,105,48,18,89,17,48,7,7,7,
+ 7,7,32,30,41,82,105,49,48,27,
+ 18,72,34,41,91,49,48,54,76,41,
+ 76,45,11,76,41,82,76,32,32,49,
+ 48,71,13,13,64,91,18,41,107,76,
+ 7,69,29,41,7,32,15,69,76,76,
+ 105,49,49,18,89,17,78,76,69,51,
+ 115,7,45,41,41,31,49,7,32,30,
+ 105,27,111,107,74,45,69,32,7,49,
+ 45,27,18,18,69,52,32,41,74,64,
+ 69,69,41,74,32,80,67
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -789,18 +791,18 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 81,79,78,67,77,76,1,0,99,0,
- 28,0,36,52,0,10,21,0,94,68,
- 0,73,0,71,10,62,5,0,81,80,
- 79,78,67,77,76,0,5,10,0,10,
- 5,22,0,54,0,91,0,67,63,64,
- 65,66,55,31,0,92,0,10,72,0,
- 10,35,69,0,102,0,101,0,21,48,
- 47,41,39,10,0,48,47,41,39,36,
- 0,37,0,97,0,21,47,48,10,0,
- 23,0,36,52,10,27,0,10,89,0,
- 48,47,36,0,35,10,30,0,95,10,
- 27,0,59,0,10,90,0,83,10,35,
+ 81,79,78,67,77,76,1,0,102,0,
+ 99,0,28,0,101,0,10,21,0,73,
+ 0,94,68,0,91,0,23,0,71,10,
+ 62,5,0,81,80,79,78,67,77,76,
+ 0,5,10,0,54,0,10,5,22,0,
+ 10,72,0,92,0,67,63,64,65,66,
+ 55,32,0,29,52,0,97,0,37,0,
+ 21,48,47,41,39,10,0,48,47,41,
+ 39,29,0,21,47,48,10,0,29,52,
+ 10,27,0,36,10,31,0,10,90,0,
+ 48,47,29,0,59,0,83,10,36,0,
+ 95,10,27,0,10,36,69,0,10,89,
0
};
};
@@ -828,18 +830,18 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
114,0,0,0,116,120,121,122,123,0,
- 124,125,126,127,128,129,130,131,132,133,
- 111,110,143,0,0,0,136,164,0,115,
- 142,0,0,0,155,0,112,160,162,0,
- 163,0,0,0,135,173,174,175,0,118,
- 151,161,170,0,145,150,0,165,168,169,
- 172,0,146,147,148,149,152,0,154,159,
- 176,113,117,119,134,137,138,139,140,141,
- 144,0,153,157,0,0,158,167,109,0,
- 0,0,156,0,166,171,0,177,178,0,
- 179,180,0,0,0,0,0,0,0,0,
+ 124,125,126,127,128,129,130,131,0,132,
+ 111,110,142,0,0,0,135,163,0,0,
+ 115,141,0,0,0,154,112,159,161,0,
+ 162,0,0,0,134,172,173,174,0,118,
+ 150,160,169,0,144,149,0,164,167,168,
+ 171,0,145,146,147,148,151,0,153,158,
+ 175,113,117,119,133,136,137,138,139,140,
+ 143,0,152,156,0,0,157,166,109,0,
+ 0,0,155,0,165,170,0,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
+ 0,0,0,0,0,0,0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -871,10 +873,10 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 65,63,5,65,28,28,63,56,109,49,
+ 65,63,5,65,28,28,63,56,110,49,
28,44,28,6,6,6,49,28,28,69,
6,5,5,28,28,19,28,102,101,100,
- 47,61,28,41,51,3,71,69,110,5,
+ 47,61,28,41,51,3,71,69,111,5,
69,80,79,78,77,76,44,42,44
};
};
@@ -909,28 +911,28 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static char scopeRhs[] = {0,
152,31,0,110,0,157,2,30,0,111,
0,157,2,29,0,157,2,28,0,205,
- 117,0,31,150,0,161,181,117,12,169,
+ 117,0,31,149,0,161,181,117,12,169,
0,112,0,0,165,117,2,154,0,165,
- 117,2,0,168,2,0,159,117,0,173,
+ 117,2,0,168,2,0,159,117,0,172,
0,195,117,31,0,9,110,0,127,32,
- 195,117,31,0,69,133,110,0,127,195,
- 117,32,31,0,195,117,32,31,0,133,
+ 195,117,31,0,69,132,110,0,127,195,
+ 117,32,31,0,195,117,32,31,0,132,
110,0,127,32,31,0,127,195,117,31,
- 0,127,31,0,148,0,2,0,166,111,
+ 0,127,31,0,148,0,2,0,165,111,
0,2,111,0,165,117,2,148,0,2,
- 0,165,111,0,158,2,0,160,0,161,
+ 0,164,111,0,158,2,0,159,0,161,
193,117,12,108,201,53,0,112,0,161,
- 193,117,12,201,53,0,142,0,113,0,
- 200,117,142,0,117,142,0,156,113,0,
+ 193,117,12,201,53,0,143,0,113,0,
+ 200,117,143,0,117,143,0,155,113,0,
189,117,12,199,108,198,174,0,189,117,
- 12,198,174,0,188,0,149,0,148,0,
- 147,0,146,0,145,0,212,94,0,77,
- 2,115,111,113,0,212,128,137,2,98,
- 0,53,0,0,137,78,125,0,29,132,
+ 12,198,174,0,188,0,148,0,147,0,
+ 146,0,145,0,144,0,213,94,0,77,
+ 2,115,111,113,0,213,128,138,2,98,
+ 0,53,0,0,138,78,125,0,29,132,
0,157,2,18,0,161,181,117,12,128,
157,2,0,157,2,0,111,3,0,119,
- 0,112,0,197,2,112,0,137,31,112,
- 0,137,2,0
+ 0,112,0,197,2,112,0,138,31,112,
+ 0,138,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -938,16 +940,16 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 1315,0,1837,1259,1834,0,392,0,1576,1350,
- 1401,1502,1366,1321,1262,0,1283,0,1232,564,
- 365,0,1292,714,395,393,1350,1748,1321,1262,
- 1538,1659,0,1604,1431,510,1332,1214,715,493,
- 1418,1273,1240,1527,1517,1487,1472,1460,755,1678,
- 1670,1660,1185,1130,1764,1757,1651,1643,1635,1627,
- 632,606,1750,1726,1351,433,1194,1159,1139,1104,
- 1084,1063,1042,767,400,732,566,646,1021,1000,
- 979,958,937,916,895,874,853,832,811,365,
- 790,690,669,468,543,447,0
+ 420,0,1820,1821,1816,0,393,0,396,1335,
+ 1439,1535,1361,1306,1247,0,388,0,1217,569,
+ 366,0,1557,1395,719,394,1335,1759,1306,1247,
+ 1559,1654,0,1594,1546,511,1317,402,720,494,
+ 1426,1413,1385,1525,1467,1503,1491,1455,760,1673,
+ 1665,1655,1536,1156,1745,1723,1646,1638,1560,1515,
+ 637,607,1716,1336,1309,1258,1220,1185,1165,1130,
+ 1110,1089,1068,772,1047,737,571,651,1026,1005,
+ 984,963,942,921,900,879,858,837,816,366,
+ 795,695,674,469,544,448,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -958,26 +960,26 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,196,117,182,30,29,28,18,24,23,
7,6,4,8,14,13,2,112,116,115,
119,118,121,120,123,122,125,124,113,38,
- 2,2,2,2,157,137,142,117,76,61,
+ 2,2,2,2,157,138,143,117,76,61,
2,31,7,6,63,62,4,67,66,65,
64,56,57,8,71,70,73,72,78,77,
74,88,87,86,84,85,83,82,81,80,
79,69,157,157,157,157,128,117,31,2,
155,154,183,16,184,174,185,55,54,186,
- 53,187,188,108,197,137,115,115,118,118,
- 118,118,116,116,120,119,119,122,121,137,
- 124,123,128,128,128,128,12,159,143,32,
+ 53,187,188,108,197,138,115,115,118,118,
+ 118,118,116,116,120,119,119,122,121,138,
+ 124,123,128,128,128,128,12,159,136,32,
127,117,4,168,117,2,31,198,175,175,
- 201,175,68,117,143,4,117,127,195,166,
+ 201,175,68,117,136,4,117,127,195,166,
165,134,117,167,117,152,4,108,12,108,
- 12,181,117,12,169,4,117,195,32,127,
+ 12,181,117,12,169,4,136,195,32,127,
4,2,146,148,117,38,165,199,117,12,
- 117,161,38,205,61,31,206,117,12,117,
- 166,127,127,158,117,2,159,12,189,142,
+ 117,161,38,205,61,31,206,117,12,136,
+ 117,127,127,158,117,2,159,12,189,143,
190,117,193,108,194,69,152,61,31,117,
- 166,117,117,117,193,161,69,38,152,181,
- 165,202,189,200,68,158,2,117,161,161,
- 38,38,68,159,144
+ 117,166,117,117,117,193,161,69,38,152,
+ 181,166,165,202,189,200,68,158,2,117,
+ 161,161,38,38,68,159,144
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1112,12 +1114,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_list_actual",
"constant_expression",
@@ -1188,20 +1189,20 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 225,
+ NUM_STATES = 227,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 2302,
+ LA_STATE_OFFSET = 2312,
MAX_LA = 2,
- NUM_RULES = 364,
- NUM_NONTERMINALS = 128,
- NUM_SYMBOLS = 235,
+ NUM_RULES = 365,
+ NUM_NONTERMINALS = 129,
+ NUM_SYMBOLS = 236,
SEGMENT_SIZE = 8192,
- START_STATE = 1688,
+ START_STATE = 1839,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 89,
EOLT_SYMBOL = 89,
- ACCEPT_ACTION = 1925,
- ERROR_ACTION = 1938;
+ ACCEPT_ACTION = 1934,
+ ERROR_ACTION = 1947;
public final static boolean BACKTRACK = true;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java
index 693ff8f048..2ea043384d 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java
@@ -17,13 +17,16 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
-
-import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
-import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
@@ -37,7 +40,9 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser< IASTTranslationUnit >
+public class UPCParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTTranslationUnit >
+
{
private static ParseTable prs = new UPCParserprs();
private FixedBacktrackingParser btParser;
@@ -175,7 +180,11 @@ public class UPCParser extends PrsStream implements RuleAction , IParserActionTo
private UPCParserAction action;
private IASTCompletionNode compNode;
-public UPCParser() { // constructor
+
+public UPCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) {
+ initActions(options);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
private void initActions(Set<IParser.Options> options) {
@@ -194,17 +203,16 @@ public void addToken(IToken token) {
}
-public IASTTranslationUnit parse(Set<IParser.Options> options) {
+public IASTTranslationUnit parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(options);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
compNode = action.getASTCompletionNode(); // the completion node may be null
- return ( IASTTranslationUnit ) action.getParseResult();
+ return ( IASTTranslationUnit ) action.getParseResult();
}
@@ -227,25 +235,6 @@ public String getName() {
}
-
-private ITokenMap tokenMap = null;
-
-public void setTokens(List<IToken> tokens) {
- resetTokenStream();
- addToken(new Token(null, 0, 0, 0)); // dummy token
- for(IToken token : tokens) {
- token.setKind(tokenMap.mapKind(token.getKind()));
- addToken(token);
- }
- addToken(new Token(null, 0, 0, UPCParsersym.TK_EOF_TOKEN));
-}
-
-public UPCParser(IParserActionTokenProvider parser) { // constructor
- tokenMap = new TokenMap(UPCParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
-}
-
-
-
public void ruleAction(int ruleNumber)
{
switch (ruleNumber)
@@ -258,1287 +247,1293 @@ public UPCParser(IParserActionTokenProvider parser) { // constructor
}
//
- // Rule 12: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 13: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 14: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 15: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 17: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 17: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 18: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 18: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 21: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 22: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 23: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 24: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 26: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 27: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 41: unary_expression ::= sizeof ( type_id )
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 43: cast_expression ::= ( type_id ) cast_expression
+ // Rule 42: unary_expression ::= sizeof ( type_id )
//
- case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ case 42: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 44: cast_expression ::= ( type_id ) cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 44: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 48: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 50: additive_expression ::= additive_expression + multiplicative_expression
//
- case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression << additive_expression
+ // Rule 51: additive_expression ::= additive_expression - multiplicative_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 53: shift_expression ::= shift_expression >> additive_expression
+ // Rule 53: shift_expression ::= shift_expression << additive_expression
//
- case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 55: relational_expression ::= relational_expression < shift_expression
+ // Rule 54: shift_expression ::= shift_expression >> additive_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 56: relational_expression ::= relational_expression > shift_expression
+ // Rule 56: relational_expression ::= relational_expression < shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression <= shift_expression
+ // Rule 57: relational_expression ::= relational_expression > shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 58: relational_expression ::= relational_expression >= shift_expression
+ // Rule 58: relational_expression ::= relational_expression <= shift_expression
//
- case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression == relational_expression
+ // Rule 59: relational_expression ::= relational_expression >= shift_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 61: equality_expression ::= equality_expression != relational_expression
+ // Rule 61: equality_expression ::= equality_expression == relational_expression
//
- case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 63: AND_expression ::= AND_expression & equality_expression
+ // Rule 62: equality_expression ::= equality_expression != relational_expression
//
- case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 65: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 64: and_expression ::= and_expression & equality_expression
//
- case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 67: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 66: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 69: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 68: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 71: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 70: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 73: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 72: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 73: { action. consumeExpressionConditional(); break;
+ case 72: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 74: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 74: { action. consumeExpressionConditional(); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression = assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression *= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression /= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression %= assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression += assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression -= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression &= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 85: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 86: assignment_expression ::= unary_expression |= assignment_expression
//
- case 88: { action. consumeExpressionList(); break;
+ case 86: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 90: expression_list_opt ::= $Empty
+ // Rule 89: expression_list ::= <openscope-ast> expression_list_actual
//
- case 90: { action. consumeEmpty(); break;
+ case 89: { action. consumeExpressionList(); break;
}
//
- // Rule 100: statement ::= ERROR_TOKEN
+ // Rule 91: expression_list_opt ::= $Empty
//
- case 100: { action. consumeStatementProblem(); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 101: labeled_statement ::= identifier_token : statement
+ // Rule 101: statement ::= ERROR_TOKEN
//
- case 101: { action. consumeStatementLabeled(); break;
+ case 101: { action. consumeStatementProblem(); break;
}
//
- // Rule 102: labeled_statement ::= case constant_expression : statement
+ // Rule 102: labeled_statement ::= identifier_token : statement
//
- case 102: { action. consumeStatementCase(); break;
+ case 102: { action. consumeStatementLabeled(); break;
}
//
- // Rule 103: labeled_statement ::= default : statement
+ // Rule 103: labeled_statement ::= case constant_expression : statement
//
- case 103: { action. consumeStatementDefault(); break;
+ case 103: { action. consumeStatementCase(); break;
}
//
- // Rule 104: compound_statement ::= { }
+ // Rule 104: labeled_statement ::= default : statement
//
- case 104: { action. consumeStatementCompoundStatement(false); break;
+ case 104: { action. consumeStatementDefault(); break;
}
//
- // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 105: compound_statement ::= { }
//
- case 105: { action. consumeStatementCompoundStatement(true); break;
+ case 105: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 109: block_item ::= declaration
+ // Rule 106: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 106: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 110: expression_statement ::= ;
+ // Rule 110: block_item ::= declaration
//
- case 110: { action. consumeStatementNull(); break;
+ case 110: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 111: expression_statement ::= expression_in_statement ;
+ // Rule 111: expression_statement ::= ;
//
- case 111: { action. consumeStatementExpression(); break;
+ case 111: { action. consumeStatementNull(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement
+ // Rule 112: expression_statement ::= expression_in_statement ;
//
- case 112: { action. consumeStatementIf(false); break;
+ case 112: { action. consumeStatementExpression(); break;
}
//
- // Rule 113: selection_statement ::= if ( expression ) statement else statement
+ // Rule 113: selection_statement ::= if ( expression ) statement
//
- case 113: { action. consumeStatementIf(true); break;
+ case 113: { action. consumeStatementIf(false); break;
}
//
- // Rule 114: selection_statement ::= switch ( expression ) statement
+ // Rule 114: selection_statement ::= if ( expression ) statement else statement
//
- case 114: { action. consumeStatementSwitch(); break;
+ case 114: { action. consumeStatementIf(true); break;
}
//
- // Rule 116: expression_opt ::= $Empty
+ // Rule 115: selection_statement ::= switch ( expression ) statement
//
- case 116: { action. consumeEmpty(); break;
+ case 115: { action. consumeStatementSwitch(); break;
}
//
- // Rule 117: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 117: expression_opt ::= $Empty
//
- case 117: { action. consumeStatementDoLoop(); break;
+ case 117: { action. consumeEmpty(); break;
}
//
- // Rule 118: iteration_statement ::= while ( expression ) statement
+ // Rule 118: iteration_statement ::= do statement while ( expression ) ;
//
- case 118: { action. consumeStatementWhileLoop(); break;
+ case 118: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 119: iteration_statement ::= while ( expression ) statement
//
- case 119: { action. consumeStatementForLoop(); break;
+ case 119: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 120: { action. consumeStatementForLoop(); break;
}
//
- // Rule 121: jump_statement ::= goto identifier_token ;
+ // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 121: { action. consumeStatementGoto(); break;
+ case 121: { action. consumeStatementForLoop(); break;
}
//
- // Rule 122: jump_statement ::= continue ;
+ // Rule 122: jump_statement ::= goto identifier_token ;
//
- case 122: { action. consumeStatementContinue(); break;
+ case 122: { action. consumeStatementGoto(); break;
}
//
- // Rule 123: jump_statement ::= break ;
+ // Rule 123: jump_statement ::= continue ;
//
- case 123: { action. consumeStatementBreak(); break;
+ case 123: { action. consumeStatementContinue(); break;
}
//
- // Rule 124: jump_statement ::= return ;
+ // Rule 124: jump_statement ::= break ;
//
- case 124: { action. consumeStatementReturn(false); break;
+ case 124: { action. consumeStatementBreak(); break;
}
//
- // Rule 125: jump_statement ::= return expression ;
+ // Rule 125: jump_statement ::= return ;
//
- case 125: { action. consumeStatementReturn(true); break;
+ case 125: { action. consumeStatementReturn(false); break;
}
//
- // Rule 126: declaration ::= declaration_specifiers ;
+ // Rule 126: jump_statement ::= return expression ;
//
- case 126: { action. consumeDeclarationSimple(false); break;
+ case 126: { action. consumeStatementReturn(true); break;
}
//
- // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 127: declaration ::= declaration_specifiers ;
//
- case 127: { action. consumeDeclarationSimple(true); break;
+ case 127: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 128: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 128: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 129: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 132: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 157: init_declarator ::= complete_declarator = initializer
+ // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 157: { action. consumeDeclaratorWithInitializer(true); break;
+ case 133: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 159: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 158: init_declarator ::= complete_declarator = initializer
//
- case 159: { action. consumeToken(); break;
+ case 158: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 165: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 160: storage_class_specifier ::= storage_class_specifier_token
//
- case 165: { action. consumeToken(); break;
+ case 160: { action. consumeToken(); break;
}
//
- // Rule 178: type_name_specifier ::= identifier_token
+ // Rule 166: simple_type_specifier ::= simple_type_specifier_token
//
- case 178: { action. consumeToken(); break;
+ case 166: { action. consumeToken(); break;
}
//
- // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 179: type_name_specifier ::= identifier_token
//
- case 179: { action. consumeTypeSpecifierComposite(false); break;
+ case 179: { action. consumeToken(); break;
}
//
- // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 180: { action. consumeTypeSpecifierComposite(true); break;
+ case 180: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 181: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 193: { action. consumeStructDeclaration(true); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 194: { action. consumeStructDeclaration(false); break;
+ case 194: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 195: struct_declaration ::= ERROR_TOKEN
+ // Rule 195: struct_declaration ::= specifier_qualifier_list ;
//
- case 195: { action. consumeDeclarationProblem(); break;
+ case 195: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 201: struct_declarator ::= : constant_expression
+ // Rule 196: struct_declaration ::= ERROR_TOKEN
//
- case 201: { action. consumeBitField(false); break;
+ case 196: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 202: struct_declarator ::= declarator : constant_expression
+ // Rule 202: struct_declarator ::= : constant_expression
//
- case 202: { action. consumeBitField(true); break;
+ case 202: { action. consumeBitField(false); break;
}
//
- // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 203: struct_declarator ::= declarator : constant_expression
//
- case 203: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 203: { action. consumeBitField(true); break;
}
//
- // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 204: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 210: enumerator ::= identifier_token
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 210: { action. consumeEnumerator(false); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 211: enumerator ::= identifier_token = constant_expression
+ // Rule 211: enumerator ::= identifier_token
//
- case 211: { action. consumeEnumerator(true); break;
+ case 211: { action. consumeEnumerator(false); break;
}
//
- // Rule 212: type_qualifier ::= type_qualifier_token
+ // Rule 212: enumerator ::= identifier_token = constant_expression
//
- case 212: { action. consumeToken(); break;
+ case 212: { action. consumeEnumerator(true); break;
}
//
- // Rule 216: function_specifier ::= inline
+ // Rule 213: type_qualifier ::= type_qualifier_token
//
- case 216: { action. consumeToken(); break;
+ case 213: { action. consumeToken(); break;
}
//
- // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 217: function_specifier ::= inline
//
- case 218: { action. consumeDeclaratorWithPointer(true); break;
+ case 217: { action. consumeToken(); break;
}
//
- // Rule 223: basic_direct_declarator ::= declarator_id_name
+ // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 223: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 219: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 224: basic_direct_declarator ::= ( declarator )
+ // Rule 224: basic_direct_declarator ::= declarator_id_name
//
- case 224: { action. consumeDirectDeclaratorBracketed(); break;
+ case 224: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 225: declarator_id_name ::= identifier
+ // Rule 225: basic_direct_declarator ::= ( declarator )
//
- case 225: { action. consumeIdentifierName(); break;
+ case 225: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 226: declarator_id_name ::= identifier
//
- case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 226: { action. consumeIdentifierName(); break;
}
//
- // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 230: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 232: { action. consumeDeclaratorWithPointer(true); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 233: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 235: { action. consumeDeclaratorWithPointer(true); break;
+ case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 236: identifier_list ::= identifier
+ // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 236: { action. consumeIdentifierKnR(); break;
+ case 236: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 237: identifier_list ::= identifier_list , identifier
+ // Rule 237: identifier_list ::= identifier
//
case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 238: array_modifier ::= [ ]
+ // Rule 238: identifier_list ::= identifier_list , identifier
//
- case 238: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 239: array_modifier ::= [ ]
//
- case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 239: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 240: array_modifier ::= [ assignment_expression ]
+ // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 240: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 241: array_modifier ::= [ assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 241: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 242: array_modifier ::= [ static assignment_expression ]
+ // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 243: array_modifier ::= [ static assignment_expression ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 245: array_modifier ::= [ * ]
+ // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 246: array_modifier ::= [ * ]
//
- case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 248: pointer_seq ::= pointer_hook *
+ // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 248: { action. consumePointer(); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 249: pointer_seq ::= pointer_seq pointer_hook *
+ // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
//
case 249: { action. consumePointer(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 250: { action. consumePointerTypeQualifierList(); break;
+ case 250: { action. consumePointer(); break;
}
//
- // Rule 251: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 255: parameter_type_list ::= parameter_list
+ // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 255: { action. consumeEmpty(); break;
+ case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 256: parameter_type_list ::= parameter_list , ...
+ // Rule 256: parameter_type_list ::= parameter_list
//
- case 256: { action. consumePlaceHolder(); break;
+ case 256: { action. consumeEmpty(); break;
}
//
- // Rule 257: parameter_type_list ::= ...
+ // Rule 257: parameter_type_list ::= parameter_list , ...
//
case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 258: parameter_type_list ::= ...
//
- case 260: { action. consumeParameterDeclaration(); break;
+ case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 261: parameter_declaration ::= declaration_specifiers
+ // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 261: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 264: type_id ::= specifier_qualifier_list
+ // Rule 262: parameter_declaration ::= declaration_specifiers
//
- case 264: { action. consumeTypeId(false); break;
+ case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator
+ // Rule 265: type_id ::= specifier_qualifier_list
//
- case 265: { action. consumeTypeId(true); break;
+ case 265: { action. consumeTypeId(false); break;
}
//
- // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 267: { action. consumeDeclaratorWithPointer(false); break;
+ case 266: { action. consumeTypeId(true); break;
}
//
- // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq
//
case 268: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 272: { action. consumeDirectDeclaratorBracketed(); break;
+ case 269: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= array_modifier
+ // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 273: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 274: array_direct_abstract_declarator ::= array_modifier
//
- case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= ( )
+ // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 277: function_direct_abstract_declarator ::= ( )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
- }
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
//
- // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 280: initializer ::= assignment_expression
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 280: { action. consumeInitializer(); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 281: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 281: initializer ::= assignment_expression
//
- case 281: { action. consumeInitializerList(); break;
+ case 281: { action. consumeInitializer(); break;
}
//
- // Rule 282: initializer ::= { <openscope-ast> }
+ // Rule 282: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
case 282: { action. consumeInitializerList(); break;
}
//
- // Rule 283: start_initializer_list ::= $Empty
+ // Rule 283: initializer ::= { <openscope-ast> }
//
- case 283: { action. initializerListStart(); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 284: end_initializer_list ::= $Empty
+ // Rule 284: start_initializer_list ::= $Empty
//
- case 284: { action. initializerListEnd(); break;
+ case 284: { action. initializerListStart(); break;
}
//
- // Rule 289: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 285: end_initializer_list ::= $Empty
//
- case 289: { action. consumeInitializerDesignated(); break;
+ case 285: { action. initializerListEnd(); break;
}
//
- // Rule 293: designator_base ::= [ constant_expression ]
+ // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 293: { action. consumeDesignatorArray(); break;
+ case 290: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 294: designator_base ::= . identifier_token
+ // Rule 294: designator_base ::= [ constant_expression ]
//
- case 294: { action. consumeDesignatorField(); break;
+ case 294: { action. consumeDesignatorArray(); break;
}
//
- // Rule 295: designator ::= [ constant_expression ]
+ // Rule 295: designator_base ::= . identifier_token
//
- case 295: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorField(); break;
}
//
- // Rule 296: designator ::= . identifier_token
+ // Rule 296: designator ::= [ constant_expression ]
//
- case 296: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 297: translation_unit ::= external_declaration_list
+ // Rule 297: designator ::= . identifier_token
//
- case 297: { action. consumeTranslationUnit(); break;
- }
+ case 297: { action. consumeDesignatorField(); break;
+ }
//
- // Rule 298: translation_unit ::= $Empty
+ // Rule 298: translation_unit ::= external_declaration_list
//
case 298: { action. consumeTranslationUnit(); break;
- }
+ }
//
- // Rule 303: external_declaration ::= ;
+ // Rule 299: translation_unit ::= $Empty
//
- case 303: { action. consumeDeclarationEmpty(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 304: external_declaration ::= ERROR_TOKEN
+ // Rule 304: external_declaration ::= ;
//
- case 304: { action. consumeDeclarationProblem(); break;
+ case 304: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 305: external_declaration ::= ERROR_TOKEN
//
- case 307: { action. consumeFunctionDefinition(true); break;
+ case 305: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 308: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 308: { action. consumeFunctionDefinition(false); break;
+ case 308: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 309: { action. consumeFunctionDefinitionKnR(); break;
+ case 309: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 310: function_body ::= { }
+ // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 310: { action. consumeStatementCompoundStatement(false); break;
+ case 310: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 311: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 311: function_body ::= { }
//
- case 311: { action. consumeStatementCompoundStatement(true); break;
+ case 311: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 312: literal ::= MYTHREAD
+ // Rule 312: function_body ::= { <openscope-ast> block_item_list }
//
- case 312: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 312: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 313: literal ::= THREADS
+ // Rule 313: literal ::= MYTHREAD
//
- case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 314: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 314: literal ::= THREADS
//
- case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 315: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 315: literal ::= UPC_MAX_BLOCKSIZE
//
- case 315: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 316: unary_expression ::= upc_localsizeof ( type_id )
+ // Rule 316: unary_expression ::= upc_localsizeof unary_expression
//
- case 316: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 317: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 317: unary_expression ::= upc_localsizeof ( type_id )
//
- case 317: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 317: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 318: unary_expression ::= upc_blocksizeof ( type_id )
+ // Rule 318: unary_expression ::= upc_blocksizeof unary_expression
//
- case 318: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 319: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 319: unary_expression ::= upc_blocksizeof ( type_id )
//
- case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 319: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 320: unary_expression ::= upc_elemsizeof ( type_id )
+ // Rule 320: unary_expression ::= upc_elemsizeof unary_expression
//
- case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 324: shared_type_qualifier ::= shared
+ // Rule 321: unary_expression ::= upc_elemsizeof ( type_id )
//
- case 324: { action. consumeToken(); break;
+ case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 325: reference_type_qualifier ::= relaxed
+ // Rule 325: shared_type_qualifier ::= shared
//
case 325: { action. consumeToken(); break;
}
//
- // Rule 326: reference_type_qualifier ::= strict
+ // Rule 326: reference_type_qualifier ::= relaxed
//
case 326: { action. consumeToken(); break;
}
//
- // Rule 327: layout_qualifier ::= [ constant_expression ]
+ // Rule 327: reference_type_qualifier ::= strict
+ //
+ case 327: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 328: layout_qualifier ::= [ constant_expression ]
//
- case 327: { action. consumeLayoutQualifier(true, false); break;
+ case 328: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 328: layout_qualifier ::= [ * ]
+ // Rule 329: layout_qualifier ::= [ * ]
//
- case 328: { action. consumeLayoutQualifier(false, true); break;
+ case 329: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 329: layout_qualifier ::= [ ]
+ // Rule 330: layout_qualifier ::= [ ]
//
- case 329: { action. consumeLayoutQualifier(false, false); break;
+ case 330: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 331: synchronization_statement ::= upc_notify expression ;
+ // Rule 332: synchronization_statement ::= upc_notify expression ;
//
- case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 332: synchronization_statement ::= upc_notify ;
+ // Rule 333: synchronization_statement ::= upc_notify ;
//
- case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 333: synchronization_statement ::= upc_wait expression ;
+ // Rule 334: synchronization_statement ::= upc_wait expression ;
//
- case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 334: synchronization_statement ::= upc_wait ;
+ // Rule 335: synchronization_statement ::= upc_wait ;
//
- case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 335: synchronization_statement ::= upc_barrier expression ;
+ // Rule 336: synchronization_statement ::= upc_barrier expression ;
//
- case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 336: synchronization_statement ::= upc_barrier ;
+ // Rule 337: synchronization_statement ::= upc_barrier ;
//
- case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 337: synchronization_statement ::= upc_fence ;
+ // Rule 338: synchronization_statement ::= upc_fence ;
//
- case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 338: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 339: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 339: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 340: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 341: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 342: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 345: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 346: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 347: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 348: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 349: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 350: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 353: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 354: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 355: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 355: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 356: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 356: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 357: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 357: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 358: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 358: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 358: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 359: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 359: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 360: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 361: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 360: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 361: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 361: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 361: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 362: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 363: affinity ::= continue
+ // Rule 364: affinity ::= continue
//
- case 363: { action. consumeToken(); break;
+ case 364: { action. consumeToken(); break;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java
index 154894148f..06cf14bfe8 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java
@@ -35,339 +35,341 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3,1,1,
- 4,4,3,3,2,2,8,1,0,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,4,3,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,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,8,1,0,
+ 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,4,3,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,6,8,
- 0,0,1,1,3,3,3,0,1,0,
- 1,2,4,2,1,1,1,3,1,1,
- 2,3,7,8,0,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,2,3,4,
- 5,0,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,
- 7,3,0,0,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,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,-105,-2,0,-36,0,0,0,
- 0,0,0,0,-208,0,0,0,0,0,
- -117,0,-10,-30,0,-77,0,-19,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-4,0,-55,0,0,-23,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ 1,1,1,1,1,1,1,1,1,6,
+ 8,0,0,1,1,3,3,3,0,1,
+ 0,1,2,4,2,1,1,1,3,1,
+ 1,2,3,7,8,0,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,3,4,
+ 5,6,0,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,7,3,0,0,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,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,-105,-2,0,-36,0,0,
+ 0,0,0,0,0,-9,0,0,0,0,
+ 0,-20,-117,0,-37,0,0,-141,-147,0,
+ 0,0,0,0,0,0,0,0,-45,0,
+ 0,0,0,-21,-5,0,-8,0,-23,0,
+ 0,0,0,0,-100,0,0,0,0,0,
-3,0,0,0,0,0,0,0,0,0,
- 0,-9,0,0,0,0,0,-6,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-12,0,-254,0,0,0,0,0,0,
- 0,0,0,-115,0,0,0,0,0,0,
- -13,-8,0,0,0,0,-118,0,-1,0,
- 0,0,-32,0,0,0,0,0,-20,0,
- 0,0,-21,0,0,0,0,0,0,0,
- -235,0,0,0,0,0,0,0,-275,0,
- 0,0,-31,0,0,0,0,0,0,-39,
- 0,0,0,0,0,0,-38,-34,0,-17,
- -25,0,0,0,0,0,0,0,0,0,
- 0,0,0,-287,0,0,0,-40,0,0,
- 0,0,0,0,-143,0,0,0,0,0,
- 0,0,-80,0,0,0,0,0,-35,0,
- 0,0,0,0,0,0,0,0,0,-41,
- 0,0,0,0,0,0,0,-43,0,0,
- 0,0,0,-37,0,0,0,0,0,-71,
- 0,0,0,0,0,0,0,0,0,-106,
- -45,0,0,-73,0,0,-316,0,0,0,
- 0,0,0,0,0,0,0,-85,0,0,
- 0,0,0,-216,0,0,0,-152,0,0,
- -75,0,0,0,0,0,0,0,0,0,
- 0,-145,0,0,-81,0,0,0,0,0,
- 0,0,-298,0,0,-107,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-25,0,0,-19,0,0,0,0,
+ 0,0,0,0,-6,-75,0,0,0,0,
+ 0,0,-31,0,0,0,0,0,0,0,
+ 0,0,0,0,-40,-10,-46,0,0,-115,
+ 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,-41,0,0,0,0,0,0,-276,0,
+ 0,0,0,0,0,0,0,0,0,-30,
+ 0,0,0,0,0,0,0,-4,0,-17,
+ 0,0,0,-43,0,0,0,0,0,0,
+ 0,0,-288,0,0,-81,0,0,0,0,
0,0,0,0,0,0,-59,0,0,0,
- 0,0,0,-60,0,0,0,-26,-70,0,
- 0,0,0,0,0,-146,0,-104,0,0,
- 0,0,0,0,0,0,0,-140,0,0,
- 0,0,0,0,0,-78,0,0,-154,0,
- 0,0,0,0,0,0,-15,0,0,-339,
- 0,0,0,0,0,0,-144,0,-27,-61,
- 0,0,0,0,0,0,0,0,-190,0,
- -82,0,0,-62,0,0,0,0,0,0,
- 0,-90,0,0,0,0,0,-215,0,0,
- -142,0,0,0,0,-150,0,0,0,0,
- 0,0,0,-340,0,0,0,0,0,0,
- 0,0,0,0,-63,0,0,0,0,0,
- -64,0,0,0,0,0,0,0,-65,0,
- 0,0,0,0,0,0,0,0,0,-124,
- -66,0,0,-18,0,0,0,0,0,0,
- -24,0,0,-155,0,0,0,0,0,0,
- 0,0,0,0,-67,0,0,0,0,-241,
- 0,0,0,0,-68,0,0,0,0,0,
- 0,0,0,0,-69,-161,0,0,-184,0,
- 0,0,0,0,0,0,-33,0,0,0,
- 0,0,0,-5,0,-28,0,0,0,-100,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-60,
+ 0,0,0,0,0,-61,0,0,0,0,
+ 0,0,0,0,0,-15,0,-26,0,0,
+ -38,0,0,0,0,0,0,0,0,-27,
+ 0,0,-34,-142,0,-318,0,0,-77,0,
+ 0,0,0,0,0,0,-12,0,0,0,
+ 0,0,-221,0,0,0,-152,0,0,-71,
+ 0,0,0,0,0,0,0,0,0,-145,
+ 0,0,-76,0,0,0,0,0,0,0,
+ -62,0,0,0,0,0,-35,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-28,0,0,0,0,0,
+ 0,0,0,0,0,0,-254,0,0,0,
+ 0,0,-116,0,0,0,-268,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-78,0,0,-341,-13,0,
+ 0,0,0,0,0,-63,0,0,-18,0,
+ 0,0,0,0,0,-64,-144,0,-139,0,
+ 0,0,0,0,0,0,0,0,-29,-82,
+ 0,0,-32,0,0,0,0,0,0,0,
+ -33,0,0,0,0,0,-296,-92,0,0,
+ 0,-39,0,-106,0,0,0,0,0,0,
+ 0,0,0,-342,0,0,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,0,0,0,0,0,0,-24,0,
+ 0,0,-322,0,0,0,0,0,0,0,
+ 0,0,-42,0,0,-70,0,0,0,-1,
+ 0,-320,0,0,0,0,0,0,0,0,
+ 0,0,0,-146,-161,0,0,0,-300,0,
+ 0,0,0,0,0,-180,0,0,-66,0,
+ 0,-218,0,0,-104,0,0,0,-73,0,
0,0,0,0,0,0,0,0,-220,0,
- 0,-72,-182,0,0,0,0,0,0,-91,
- 0,0,0,0,0,0,0,-86,0,0,
- 0,0,-79,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-102,0,0,-207,
- 0,0,0,0,0,0,0,-99,0,0,
- 0,0,0,0,-183,0,-166,0,-74,0,
+ 0,0,0,0,0,0,0,0,0,-85,
+ 0,0,0,0,0,0,0,0,0,0,
+ -209,0,-107,0,0,0,0,0,0,0,
+ 0,0,-234,0,0,-182,-102,0,0,-140,
+ 0,0,0,0,0,0,0,-90,0,0,
+ 0,0,0,-143,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-222,
- 0,0,-237,0,0,0,0,0,0,0,
- -93,0,0,0,0,0,-250,0,-221,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-223,0,0,0,0,0,0,0,
- 0,0,0,-42,0,0,-160,0,0,0,
- -94,-289,0,0,0,0,0,-185,0,0,
- 0,0,0,0,0,-224,0,0,0,-95,
- 0,0,0,0,0,0,-180,0,0,-162,
- 0,0,0,-141,0,0,0,-116,-29,0,
- 0,0,0,0,0,0,0,0,-225,0,
- 0,-97,0,0,0,0,0,0,0,-98,
- 0,0,0,0,0,-267,-211,-163,0,0,
- 0,0,0,-186,0,0,0,0,0,0,
- 0,-226,0,0,0,0,0,0,0,0,
- 0,0,-164,0,0,0,0,0,-212,-219,
- 0,0,0,0,-92,-101,0,0,0,0,
- 0,0,0,0,-227,0,0,-187,-103,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-209,0,-138,0,0,0,0,-188,
- 0,0,0,0,0,0,0,-228,0,0,
- 0,-148,0,0,0,0,0,0,0,0,
- 0,-165,0,0,0,-266,-318,0,0,0,
- 0,0,-189,0,0,0,0,0,0,0,
- -229,0,0,0,-153,0,0,0,0,0,
- 0,-234,0,0,-217,0,0,-240,-242,-277,
- 0,0,0,-156,-236,0,0,0,0,0,
- 0,0,0,-230,0,0,-243,-263,0,0,
- 0,0,0,0,-245,0,0,0,0,0,
- -271,-295,-157,-279,0,0,0,-158,-264,0,
- 0,0,0,0,0,0,-231,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -246,0,0,-281,-291,-300,0,0,0,0,
+ -67,0,0,0,0,0,0,0,0,0,
+ -91,0,0,0,0,0,0,0,0,0,
+ 0,0,-68,-150,0,0,0,0,0,0,
+ 0,0,0,-223,0,0,-154,0,0,0,
+ 0,0,0,0,-99,0,0,0,0,0,
+ -69,-235,0,0,-166,0,-72,0,0,0,
+ 0,0,0,0,0,0,0,-224,0,0,
+ 0,-74,0,0,0,0,0,0,-160,0,
+ 0,0,0,0,-162,0,0,0,0,-155,
+ 0,-207,0,0,0,0,0,0,0,0,
+ 0,-225,-163,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-164,0,0,0,-79,
+ 0,-165,-167,0,0,-93,0,0,0,0,
+ 0,0,0,0,0,-226,0,0,-184,-94,
+ 0,0,0,0,0,0,-185,0,0,0,
+ 0,0,-240,0,-190,0,0,0,-344,-186,
+ 0,0,0,0,0,0,0,0,0,-227,
+ 0,0,0,-183,0,0,0,0,0,0,
+ 0,0,0,-187,0,0,-95,-212,0,0,
+ 0,-80,0,0,0,0,0,0,0,0,
+ 0,0,0,-228,-266,0,0,-97,0,0,
+ 0,0,0,0,-98,0,0,-188,0,0,
+ -242,-290,0,0,0,0,-101,-189,0,0,
+ 0,0,0,0,0,0,0,-229,0,0,
+ -208,0,0,0,0,0,0,0,-236,0,
+ 0,-219,0,0,-103,0,-215,0,-86,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-230,0,0,-237,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-250,0,
+ 0,0,0,0,-138,-217,0,0,0,0,
+ 0,0,0,0,0,-231,0,0,-243,-148,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-278,-263,-153,0,-87,0,-156,0,
0,0,0,0,0,0,0,0,0,-232,
- 0,0,-252,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-296,-297,-303,-306,
- -159,0,0,-290,-288,0,0,0,0,0,
- 0,0,-249,0,0,0,-311,0,0,0,
- 0,0,0,-294,0,0,-308,0,0,0,
- -325,-330,-320,0,0,0,-169,-315,0,0,
- 0,0,0,0,0,-265,0,0,0,-174,
- 0,0,0,0,0,0,-309,0,0,-332,
- 0,0,0,-341,-177,-167,0,0,0,0,
- 0,0,0,0,0,0,0,0,-269,0,
- 0,-312,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-342,-336,0,0,0,
- -178,-191,0,0,0,0,0,0,0,0,
- 0,-270,0,0,-322,0,0,0,0,0,
- 0,0,-327,0,0,0,0,0,-192,-360,
- -193,0,0,0,-194,-338,-334,0,0,0,
- 0,0,0,0,-292,0,0,0,-195,0,
- 0,0,0,0,0,0,0,0,-346,0,
- 0,-196,-197,-198,-87,0,-199,0,0,0,
- 0,0,0,0,0,0,0,-314,0,0,
- 0,-200,0,0,0,0,0,0,-348,0,
- 0,-201,0,0,-202,-203,-204,-88,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -319,0,0,-352,-205,0,0,0,0,0,
- 0,-354,0,0,0,0,0,-206,-213,-147,
- -89,0,0,0,0,0,0,0,0,0,
- 0,0,0,-343,0,0,-357,-214,0,0,
- 0,0,0,0,-244,0,0,0,0,0,
- -363,-255,-256,-257,0,0,0,0,0,0,
- 0,0,0,0,0,0,-260,-258,0,-362,
- -259,0,0,0,0,0,0,-7,0,0,
- 0,0,0,-44,0,0,0,0,-268,0,
- -293,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-310,
- -317,-367,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,0,0,0,
- 0,0,0,0,0,-371,0,-374,0,0,
- 0,-172,0,0,0,0,0,0,0,-11,
- -210,0,0,0,0,0,-376,0,0,0,
- 0,0,0,0,0,0,0,0,-238,0,
- 0,0,0,0,0,-247,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-47,0,0,0,0,
- 0,0,0,0,0,0,-151,0,0,0,
- 0,0,0,0,-137,0,0,0,-76,0,
- 0,0,0,0,0,-384,0,0,0,0,
- 0,0,0,0,-233,0,0,0,0,0,
+ 0,0,-245,-157,0,0,0,0,0,0,
+ -158,0,0,0,0,0,-280,-159,-169,0,
+ -88,0,-174,0,0,0,0,0,0,0,
+ 0,0,0,-249,0,0,-246,-177,0,0,
+ 0,0,0,0,-178,0,0,0,0,0,
+ -282,-272,-191,0,-89,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-260,0,0,
+ -252,-192,0,0,0,0,0,0,-264,0,
+ 0,0,0,0,-292,-193,-194,0,-238,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-265,0,0,-289,-195,0,0,0,0,
+ 0,0,-291,0,0,0,0,0,-299,-297,
+ -313,-239,0,0,0,0,-295,0,0,0,
+ 0,0,0,0,-270,0,0,-317,-196,0,
+ 0,0,0,0,0,-197,0,0,-298,0,
+ 0,-302,-305,-308,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-271,-310,
+ 0,0,0,0,0,0,0,0,0,-311,
+ 0,0,0,0,0,-327,-198,0,0,-216,
+ 0,0,-314,0,0,0,0,0,0,0,
+ 0,0,-293,0,0,-324,-199,0,0,0,
+ 0,0,0,-340,0,0,0,0,0,-332,
+ -334,-200,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-316,-338,0,-329,0,
+ 0,0,0,0,0,0,-336,0,0,0,
+ 0,0,-362,-201,-267,0,-202,0,0,-203,
+ 0,0,0,0,0,0,0,0,-321,0,
+ 0,-348,-204,0,0,0,0,0,0,-205,
+ 0,0,0,0,0,-343,-365,-206,-213,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-345,-214,0,-350,-244,0,0,0,0,
+ 0,0,-354,0,0,0,0,0,-44,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-255,-256,-257,-258,-275,-259,
+ -356,-359,0,-84,0,0,0,0,-47,0,
+ 0,0,0,0,0,0,0,0,0,-11,
+ 0,0,0,0,0,0,0,0,0,-269,
+ -294,-312,-319,0,0,0,0,0,0,0,
+ 0,0,0,-7,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-364,0,-172,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-369,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-247,0,0,0,0,0,0,0,0,
+ 0,0,0,-110,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-373,0,
+ -301,0,0,0,0,0,0,-376,-378,0,
+ 0,0,-151,0,0,-386,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,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-233,0,0,0,
+ 0,0,0,0,-118,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-126,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-210,0,0,0,-22,0,0,0,0,
+ 0,0,0,0,0,0,-134,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-277,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-22,0,0,0,0,0,0,0,
- 0,-134,0,0,0,-251,0,0,0,0,
+ 0,0,0,0,0,-136,0,0,-135,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-239,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-279,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-135,0,0,0,0,
+ -261,0,0,0,0,-96,0,0,0,0,
+ -48,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-276,0,0,0,0,0,0,0,
- 0,0,0,0,-278,0,0,0,0,0,
- 0,0,-96,0,0,0,0,-48,0,0,
+ 0,-132,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-173,0,
+ 0,0,0,0,0,0,0,0,0,-175,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-132,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-173,0,0,0,0,
- 0,0,0,0,0,0,-175,0,0,0,
+ 0,0,0,0,0,-248,0,0,0,0,
+ 0,0,0,0,-284,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-274,0,0,0,0,0,0,0,0,
- 0,0,-248,0,0,0,0,-51,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -286,0,0,0,0,0,0,0,0,-287,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-283,0,0,0,0,0,0,
+ 0,0,0,0,0,-323,0,0,0,0,
+ 0,0,0,0,-328,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-285,
- 0,0,0,0,-218,0,0,0,-286,0,
0,0,0,0,0,0,0,0,0,0,
+ -339,0,0,0,0,0,0,0,0,-346,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-321,0,0,0,0,0,
- 0,0,0,-326,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-337,
- 0,0,0,0,0,0,0,0,-344,0,
+ 0,0,0,0,0,-347,0,0,0,0,
+ 0,0,0,0,-349,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-345,0,0,0,0,0,
- 0,0,0,-347,0,0,0,0,0,0,
+ -352,0,0,0,0,0,0,0,0,-353,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-350,
- 0,0,0,0,0,0,0,0,-351,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-355,0,0,0,0,
+ 0,0,0,0,-358,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-353,0,0,0,0,0,
- 0,0,0,-356,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-361,
- 0,0,0,0,0,0,0,0,-364,0,
+ -363,0,0,0,0,0,0,0,0,-366,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-365,0,0,0,0,0,
- 0,0,0,-366,0,0,0,0,0,0,
+ 0,0,0,0,0,-367,0,0,0,0,
+ 0,0,0,0,-368,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-368,
- 0,0,0,0,0,0,0,0,-369,0,
0,0,0,0,0,0,0,0,0,0,
+ -370,0,0,0,0,0,0,0,0,-371,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-370,0,0,0,0,0,
- 0,0,0,-372,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-373,
- 0,0,0,0,0,0,0,0,-375,0,
+ 0,0,0,0,0,-372,0,0,0,0,
+ 0,0,0,0,-374,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-378,0,0,0,0,0,
- 0,0,0,-379,0,0,0,0,0,0,
+ -375,0,0,0,0,0,0,0,0,-377,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-380,
- 0,0,0,0,0,0,0,0,-381,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-380,0,0,0,0,
+ 0,0,0,0,-381,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-382,0,0,0,0,0,
- 0,0,0,-383,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-385,
- 0,0,0,0,0,0,-176,0,0,0,
+ -382,0,0,0,0,0,0,0,0,-383,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-133,0,0,-262,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-384,0,0,0,0,
+ 0,0,0,0,-385,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -83,0,0,0,0,0,0,-280,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-313,0,
+ -387,0,0,0,0,0,0,-176,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-133,0,0,-262,
0,0,0,0,0,0,0,0,0,0,
- -126,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-281,0,0,0,0,0,0,
+ 0,-83,0,0,0,0,0,0,0,0,
+ -49,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-315,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-127,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-128,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-129,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-130,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -131,0,0,0,0,0,0,0,0,0,
- 0,-14,0,0,-122,0,0,-16,0,0,
- 0,0,0,0,0,0,0,0,-123,0,
+ 0,0,-128,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-129,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -130,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-131,0,0,
+ 0,0,0,0,0,0,0,0,-14,0,
+ 0,-122,0,0,-16,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,
- -181,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-125,0,0,0,0,0,0,
- 0,0,0,0,-149,0,0,0,0,0,
- 0,0,0,0,0,0,0,-272,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-108,0,0,-52,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-53,0,0,0,0,0,0,0,
- 0,0,0,-54,0,0,0,0,0,0,
- 0,0,0,0,-56,0,0,0,0,0,
- 0,0,0,0,0,0,-109,0,0,0,
+ -55,0,0,-181,0,0,0,0,0,0,
+ 0,-124,0,0,0,0,0,0,0,0,
+ 0,0,-125,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-149,0,0,0,0,
+ 0,0,0,0,0,0,0,-168,0,0,
+ -273,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-119,0,0,-253,0,0,0,0,
- 0,0,0,-120,0,0,0,0,0,0,
- 0,0,0,0,-121,0,0,-273,0,0,
- 0,0,0,0,0,-179,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-46,
- 0,-299,0,0,0,0,0,-302,0,0,
+ -51,0,0,0,0,0,0,0,0,0,
+ 0,-108,0,0,0,-52,0,0,0,0,
+ 0,0,0,0,0,0,-53,0,0,0,
+ 0,0,0,0,0,0,0,-54,0,0,
+ 0,0,0,0,0,0,0,0,-56,0,
+ 0,0,0,0,0,0,0,0,0,-109,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-49,0,0,0,0,0,0,0,
- 0,0,0,0,0,-50,0,0,0,0,
+ 0,0,0,0,0,0,0,-119,0,0,
+ 0,0,0,0,0,0,0,0,-120,0,
+ 0,0,0,0,0,0,0,0,0,-121,
+ 0,0,-253,0,0,0,0,0,0,0,
+ -179,0,0,0,0,0,0,0,0,0,
+ 0,0,-274,0,-50,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-57,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-110,0,0,-57,0,0,0,
- 0,0,0,0,0,0,-58,0,0,0,
- 0,0,0,0,0,0,0,-111,0,-112,
- 0,0,0,0,-113,0,0,0,0,-139,
- 0,0,0,0,-261,0,0,0,0,0,
- 0,-114,0,0,0,0,0,-323,0,0,
+ -111,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-251,-112,0,0,-58,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-282,0,0,0,0,0,
+ 0,0,0,0,0,-113,0,-114,0,0,
+ 0,0,0,0,-241,0,0,0,0,0,
+ 0,0,0,-170,0,0,0,0,0,0,
+ 0,-303,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-324,0,0,0,0,0,-328,0,
- 0,0,0,0,-329,0,0,0,0,0,
- 0,0,0,-331,0,0,0,0,0,-301,
+ 0,0,0,0,0,-304,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -325,0,-326,0,0,0,0,0,-330,0,
+ 0,0,0,0,0,0,0,-331,0,0,
+ 0,0,0,-333,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-351,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-349,0,0,0,0,
- -355,0,0,0,0,0,0,0,0,0,
- 0,0,-358,0,0,0,0,-359,0,0,
- 0,0,0,0,0,0,0,0,0,-377,
- 0,0,0,0,-304,0,0,0,0,0,
- 0,-307,0,0,0,0,-305,0,0,0,
- 0,0,0,-335,0,0,0,0,0,0,
- 0,0,-333,0,0,0,0,0,-136,0,
- -168,0,0,0,0,0,0,-170,0,-171,
- 0,0,0,0,0,-284,0,0,0,0,
+ 0,0,0,0,-357,0,0,0,0,-360,
0,0,0,0,0,0,0,0,0,0,
+ 0,-361,0,0,0,0,-379,0,0,0,
+ 0,0,0,0,0,0,0,0,-283,0,
+ 0,0,0,-306,0,0,0,0,0,0,
+ -309,0,0,0,0,-307,0,0,0,0,
+ 0,0,-337,0,0,0,0,0,0,0,
+ 0,-335,0,0,0,0,0,-171,0,-285,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0
+ 0,0,0,0,0,0,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;
@@ -377,341 +379,344 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface BaseAction {
public final static char baseAction[] = {
- 110,1,39,39,11,11,45,45,3,3,
- 2,2,5,5,5,5,6,6,6,7,
- 8,8,8,8,8,8,8,8,73,73,
- 94,9,9,9,9,9,9,9,9,9,
- 9,9,10,10,12,12,12,12,13,13,
- 13,15,15,15,16,16,16,16,16,26,
- 26,26,27,27,28,28,29,29,30,30,
- 31,31,32,32,34,34,34,34,34,34,
- 34,34,34,34,34,34,18,14,4,111,
- 111,96,96,58,19,19,19,19,19,19,
- 19,20,20,20,17,17,97,97,74,74,
- 21,21,22,22,22,66,66,23,23,23,
- 23,24,24,24,24,24,50,50,33,33,
- 33,33,33,52,52,52,87,87,82,82,
- 82,82,83,83,83,84,84,84,85,85,
- 85,86,86,86,98,98,88,88,89,53,
- 55,55,55,55,55,67,69,69,69,69,
- 69,69,69,69,69,69,69,69,78,75,
- 75,112,113,79,79,76,76,76,90,99,
- 99,100,100,91,91,91,56,114,114,101,
- 102,102,102,77,77,115,103,103,104,104,
- 92,92,35,36,36,36,54,57,57,46,
- 46,46,46,40,40,41,47,47,48,42,
- 42,105,105,49,117,117,116,116,51,51,
- 51,51,51,51,51,51,51,106,59,59,
- 59,59,43,80,80,70,70,70,71,71,
- 61,61,118,118,60,60,81,81,81,62,
- 62,62,63,64,64,64,65,65,65,65,
- 68,68,68,72,119,95,95,95,95,93,
- 120,121,121,122,122,123,123,110,110,124,
- 124,107,107,107,107,125,125,108,108,108,
- 109,109,5,5,5,9,9,9,9,9,
- 9,35,35,37,37,38,38,126,126,126,
- 19,25,25,25,25,25,25,25,23,23,
+ 110,1,128,39,39,11,11,45,45,3,
+ 3,2,2,5,5,5,5,6,6,6,
+ 7,8,8,8,8,8,8,8,8,73,
+ 73,94,9,9,9,9,9,9,9,9,
+ 9,9,9,10,10,12,12,12,12,13,
+ 13,13,15,15,15,16,16,16,16,16,
+ 26,26,26,27,27,28,28,29,29,30,
+ 30,31,31,32,32,33,33,33,33,33,
+ 33,33,33,33,33,33,33,18,14,4,
+ 111,111,96,96,58,19,19,19,19,19,
+ 19,19,20,20,20,17,17,97,97,74,
+ 74,21,21,22,22,22,66,66,23,23,
+ 23,23,24,24,24,24,24,50,50,34,
+ 34,34,34,34,52,52,52,87,87,82,
+ 82,82,82,83,83,83,84,84,84,85,
+ 85,85,86,86,86,98,98,88,88,89,
+ 53,55,55,55,55,55,67,69,69,69,
+ 69,69,69,69,69,69,69,69,69,78,
+ 75,75,112,113,79,79,76,76,76,90,
+ 99,99,100,100,91,91,91,56,114,114,
+ 101,102,102,102,77,77,115,103,103,104,
+ 104,92,92,35,36,36,36,54,57,57,
+ 46,46,46,46,41,41,42,47,47,48,
+ 43,43,105,105,49,117,117,116,116,51,
+ 51,51,51,51,51,51,51,51,106,59,
+ 59,59,59,40,80,80,70,70,70,71,
+ 71,61,61,118,118,60,60,81,81,81,
+ 62,62,62,63,64,64,64,65,65,65,
+ 65,68,68,68,72,119,95,95,95,95,
+ 93,120,121,121,122,122,123,123,110,110,
+ 124,124,107,107,107,107,125,125,108,108,
+ 108,109,109,5,5,5,9,9,9,9,
+ 9,9,35,35,37,37,38,38,126,126,
+ 126,19,25,25,25,25,25,25,25,23,
23,23,23,23,23,23,23,23,23,23,
23,23,23,23,23,23,23,23,23,23,
- 23,23,44,44,362,2151,1431,2558,933,16,
- 20,17,687,1182,44,2956,694,764,230,750,
- 811,2875,876,56,2077,89,2558,747,1912,887,
- 805,831,819,865,855,875,74,230,91,134,
- 212,321,322,2864,1853,2503,126,19,2318,1624,
- 16,20,17,687,42,35,136,133,135,159,
- 179,2213,834,178,493,223,232,969,528,223,
- 228,138,346,165,217,569,220,222,1922,142,
- 145,148,151,383,328,483,1618,432,1700,2782,
- 2788,530,401,310,2558,1032,134,212,321,322,
- 1395,493,223,231,2059,277,30,134,212,321,
- 322,2043,2509,136,133,135,159,129,876,1895,
- 421,87,303,2320,144,133,135,159,138,2045,
- 165,759,1203,2135,224,531,142,145,148,151,
- 383,2984,638,1618,432,1700,2782,2788,530,2601,
- 663,19,403,2051,16,20,17,687,1182,44,
- 2886,694,764,127,750,811,438,1922,2150,302,
- 2284,1901,178,699,1767,805,831,819,865,855,
- 875,74,698,280,2626,663,19,308,2606,16,
- 20,17,687,1182,44,2356,694,764,24,750,
- 811,749,259,129,638,134,212,321,322,2806,
- 805,831,819,865,855,875,74,285,280,226,
- 2181,1234,137,133,135,159,299,301,1910,365,
- 253,212,321,322,129,563,708,139,323,165,
- 129,3090,286,894,1328,143,146,149,152,383,
- 2320,2218,285,305,129,1064,1234,2412,663,19,
- 227,2986,16,20,17,687,1182,44,2942,694,
- 764,337,750,811,2870,634,307,286,2284,1347,
- 178,1929,555,805,831,819,865,855,875,74,
- 327,280,2826,2095,19,1912,887,16,20,17,
- 687,1182,44,2908,694,764,2320,750,811,254,
- 212,321,322,134,212,321,322,18,805,831,
- 819,865,855,875,74,287,1130,2857,729,1234,
- 136,133,135,159,2108,528,223,228,2059,145,
- 186,217,569,220,222,138,2218,165,2864,2587,
- 288,126,158,142,145,148,151,383,129,1097,
- 1618,432,1700,2782,2788,530,2290,1560,19,2952,
- 638,16,20,17,687,1182,44,2049,694,764,
- 202,750,811,155,548,240,309,2360,638,2059,
- 1903,185,805,831,819,865,855,875,74,2218,
- 706,2528,708,19,2212,238,16,20,17,687,
- 1182,44,2942,694,764,123,750,811,2356,306,
- 1767,2148,778,1651,1363,291,2320,805,831,819,
- 865,855,875,74,2651,280,19,229,21,16,
- 20,17,687,1182,44,2317,694,764,258,750,
- 811,2048,1165,253,212,321,322,786,1215,2268,
- 805,831,819,865,855,875,74,1069,280,157,
- 2776,2208,19,1234,72,16,20,17,687,42,
- 44,2478,1461,19,129,1235,16,20,17,687,
- 42,44,896,694,764,275,750,811,1096,281,
- 2939,876,289,1225,87,2468,1234,805,831,819,
- 865,855,875,93,115,2466,2776,513,19,2320,
- 329,16,20,17,687,1182,44,72,694,764,
- 1592,750,811,384,1966,421,1905,303,912,611,
- 2318,1692,805,831,819,865,855,875,74,2362,
- 91,19,2560,2922,16,20,17,687,1182,44,
- 2942,694,764,122,750,811,1294,403,2864,876,
- 513,336,87,2781,638,805,831,819,865,855,
- 875,74,1027,1261,302,104,1779,2776,239,19,
- 129,3095,16,20,17,687,42,44,2942,694,
- 764,111,750,811,274,2907,1767,2864,364,2206,
- 1883,87,1395,805,831,819,865,855,875,93,
- 2776,1228,19,129,509,16,20,17,687,1182,
- 44,2322,694,764,258,750,811,129,544,2882,
- 708,300,301,786,1215,1380,805,831,819,865,
- 855,875,74,2776,85,19,275,1719,16,20,
- 17,687,1182,44,72,694,764,2942,750,811,
- 335,2407,2781,638,254,212,321,322,2320,805,
- 831,819,865,855,875,74,2776,84,19,1593,
- 2565,16,20,17,687,1182,44,72,694,764,
- 2942,750,811,333,2221,1767,1559,513,2059,2059,
- 30,187,805,831,819,865,855,875,74,2776,
- 83,19,2568,2631,16,20,17,687,1182,44,
- 2569,694,764,258,750,811,2888,2221,2942,1559,
- 513,331,1412,1215,2320,805,831,819,865,855,
- 875,74,2776,82,19,1594,1866,16,20,17,
- 687,1182,44,2942,694,764,125,750,811,2980,
- 2218,254,212,321,322,2059,2682,1192,805,831,
- 819,865,855,875,74,2776,81,19,2320,2757,
- 16,20,17,687,1182,44,208,694,764,1608,
- 750,811,23,2864,2609,2866,194,1129,1578,242,
- 2320,805,831,819,865,855,875,74,2776,80,
- 19,1611,2041,16,20,17,687,1182,44,208,
- 694,764,2942,750,811,121,2059,2059,1559,294,
- 1248,1578,1269,2320,805,831,819,865,855,875,
- 74,2776,79,19,22,2807,16,20,17,687,
- 1182,44,72,694,764,2316,750,811,2942,2942,
- 2942,2638,3125,3170,2972,2956,233,805,831,819,
- 865,855,875,74,2776,78,19,2320,2980,16,
- 20,17,687,1182,44,2320,694,764,2064,750,
- 811,2218,2218,1983,2942,513,2090,3235,2973,2956,
- 805,831,819,865,855,875,74,2776,77,19,
- 282,2012,16,20,17,687,1182,44,209,694,
- 764,2320,750,811,2942,2940,2942,3242,193,3108,
- 241,243,2099,805,831,819,865,855,875,74,
- 2776,76,19,2320,203,16,20,17,687,1182,
- 44,1354,694,764,272,750,811,2218,2998,2942,
- 2942,74,3149,3263,2956,2320,805,831,819,865,
- 855,875,74,2776,75,19,278,2998,16,20,
- 17,687,1182,44,2956,694,764,2942,750,811,
- 3254,2942,2942,2920,3196,3201,244,2862,2956,805,
- 831,819,865,855,875,74,2776,92,19,180,
- 2881,16,20,17,687,42,44,2320,694,764,
- 2942,750,811,3213,2218,2910,2939,364,1427,204,
- 87,1368,805,831,819,865,855,875,93,2776,
- 115,19,2320,740,16,20,17,687,1182,44,
- 1466,694,764,279,750,811,2059,2942,296,708,
- 117,2851,2467,293,211,805,831,819,865,855,
- 875,74,2776,1262,19,2320,860,16,20,17,
- 687,1182,44,2320,694,764,2169,750,811,2469,
- 2942,2207,1229,3230,2230,2315,2956,2320,805,831,
- 819,865,855,875,74,2776,1327,19,2300,2114,
- 16,20,17,687,42,44,292,694,764,2320,
- 750,811,2118,1930,2394,2864,876,2873,334,87,
- 2309,805,831,819,865,855,875,93,2776,1060,
- 19,27,2877,16,20,17,687,42,44,2320,
- 694,764,2854,750,811,2871,2892,2879,2864,876,
- 2335,332,87,201,805,831,819,865,855,875,
- 93,2776,1098,19,2320,2943,16,20,17,687,
- 42,44,2320,694,764,2370,750,811,2782,2656,
- 2356,2864,876,2379,124,87,202,805,831,819,
- 865,855,875,93,2776,1123,19,2320,2982,16,
- 20,17,687,42,44,2572,694,764,2414,750,
- 811,2218,2985,2986,2987,253,212,321,322,1394,
- 805,831,819,865,855,875,93,2776,2989,19,
- 2320,2990,16,20,17,687,42,44,2398,694,
- 764,2475,750,811,220,364,1149,110,86,387,
- 295,2994,1591,805,831,819,865,855,875,73,
- 999,95,958,108,94,96,97,98,99,330,
- 2056,2997,2320,134,212,321,322,708,1,364,
- 1149,110,86,2484,3347,3347,909,3347,3347,3347,
- 141,133,135,159,109,95,958,108,94,96,
- 97,98,99,330,3347,140,2320,165,2320,3347,
- 3347,708,291,364,1149,110,86,2510,106,2519,
- 1950,2110,638,311,3347,3347,3347,2320,109,95,
- 958,108,94,96,97,98,99,330,2545,2864,
- 876,1658,1923,87,3347,708,147,364,1149,110,
- 86,3347,107,1230,196,134,212,321,322,3347,
- 3347,3347,109,95,958,108,94,96,97,98,
- 99,330,147,133,135,159,2676,1163,19,708,
- 3347,16,20,17,687,319,106,1923,1222,3347,
- 3347,105,3347,3347,3347,2776,109,19,3347,2077,
- 16,20,17,687,42,44,2320,694,764,1726,
- 750,811,192,3347,3347,1932,2978,2580,3347,3347,
- 107,805,831,819,865,1558,276,528,223,228,
- 3347,3347,3347,217,569,220,222,3347,273,528,
- 223,228,969,3347,262,218,569,220,222,266,
- 965,913,271,3347,3347,528,223,228,3347,3347,
- 3347,217,569,220,222,3347,273,3347,263,3347,
- 3347,3347,483,1912,1024,3347,3347,266,965,913,
- 271,3347,2776,3347,19,3347,2919,16,20,17,
- 687,42,44,3347,694,764,1313,750,811,3347,
- 3347,3347,3347,2864,876,260,1935,87,805,831,
- 819,1526,3347,528,223,580,3347,1264,3347,217,
- 569,220,588,3347,3347,3347,2776,3347,19,969,
- 158,16,20,17,687,42,44,273,694,764,
- 3347,750,811,2864,876,3347,3002,87,268,965,
- 913,271,805,831,1527,2864,876,1296,3008,87,
- 3347,154,548,433,876,1149,110,86,2701,1329,
- 19,520,3347,16,20,17,687,317,527,3347,
- 95,958,1367,94,96,97,98,99,330,2776,
- 594,19,3347,3347,16,20,17,687,42,44,
- 3347,694,764,3347,750,811,476,876,1149,110,
- 86,3347,3347,3347,3347,805,1522,519,876,1149,
- 110,86,3347,95,958,103,94,96,97,98,
- 99,330,2883,3347,95,958,101,94,96,97,
- 98,99,330,562,876,1149,110,86,2776,3347,
- 19,3347,3347,16,20,17,687,42,39,3347,
- 95,958,102,94,96,97,98,99,330,3347,
- 3347,3347,528,223,228,969,3347,3347,218,569,
- 220,222,3347,273,605,876,1149,110,86,3347,
- 3347,3347,3347,3347,268,965,913,271,3347,3347,
- 3347,95,958,118,94,96,97,98,99,330,
- 648,876,1149,110,86,2356,3347,3347,3347,691,
- 876,1149,110,86,3347,3347,3347,95,958,114,
- 94,96,97,98,99,330,95,958,1650,94,
- 96,97,98,99,330,734,876,1149,110,86,
- 253,212,321,322,777,876,1149,110,86,3347,
- 3347,3347,95,958,361,94,96,97,98,99,
- 330,95,958,353,94,96,97,98,99,330,
- 820,876,1149,110,86,3347,3347,3347,3347,863,
- 876,1149,110,86,3347,999,3347,95,958,113,
- 94,96,97,98,99,330,95,958,360,94,
- 96,97,98,99,330,906,876,1149,110,86,
- 3347,1409,3347,3347,949,876,1149,110,86,3347,
- 3347,3347,95,958,359,94,96,97,98,99,
- 330,95,958,357,94,96,97,98,99,330,
- 992,876,1149,110,86,3347,3347,3347,3347,1035,
- 876,1149,110,86,3347,3347,3347,95,958,352,
- 94,96,97,98,99,330,95,958,351,94,
- 96,97,98,99,330,1078,876,1149,110,86,
- 3347,3347,3347,3347,1121,876,1149,110,86,3347,
- 3347,3347,95,958,349,94,96,97,98,99,
- 330,95,958,345,94,96,97,98,99,330,
- 1164,876,1149,110,86,3347,3347,3347,3347,1207,
- 876,1149,110,86,3347,3347,3347,95,958,120,
- 94,96,97,98,99,330,95,958,358,94,
- 96,97,98,99,330,1250,876,1149,110,86,
- 3347,3347,3347,3347,1293,876,1149,110,86,3347,
- 3347,3347,95,958,356,94,96,97,98,99,
- 330,95,958,355,94,96,97,98,99,330,
- 1336,876,1149,110,86,3347,3347,3347,3347,1379,
- 876,1149,110,86,3347,3347,3347,95,958,350,
- 94,96,97,98,99,330,95,958,348,94,
- 96,97,98,99,330,1422,876,1149,110,86,
- 3347,3347,3347,3347,1465,876,1149,110,86,3347,
- 3347,3347,95,958,347,94,96,97,98,99,
- 330,95,958,344,94,96,97,98,99,330,
- 1508,876,1149,110,86,3347,3347,3347,3347,1551,
- 876,1149,110,86,3347,3347,3347,95,958,343,
- 94,96,97,98,99,330,95,958,341,94,
- 96,97,98,99,330,1594,876,1149,110,86,
- 3347,3347,3347,3347,1637,876,1149,110,86,3347,
- 3347,3347,95,958,119,94,96,97,98,99,
- 330,95,958,354,94,96,97,98,99,330,
- 1680,876,1149,110,86,3347,3347,3347,3347,1723,
- 876,1149,110,86,3347,3347,3347,95,958,346,
- 94,96,97,98,99,330,95,958,342,94,
- 96,97,98,99,330,1766,876,1149,110,86,
- 3347,3347,3347,3347,1809,876,1149,110,86,3347,
- 3347,3347,95,958,340,94,96,97,98,99,
- 330,95,958,339,94,96,97,98,99,330,
- 1852,876,1149,110,86,3347,3347,1912,887,3347,
- 3347,3347,3347,3347,3347,3347,3347,95,958,338,
- 94,96,97,98,99,330,2776,3347,19,1916,
- 887,16,20,17,687,42,44,3347,694,764,
- 3347,750,811,3347,3347,3347,3347,528,223,228,
- 3347,2077,1525,217,569,220,222,3347,2864,876,
- 3347,3247,87,3347,158,3347,3347,3347,3347,528,
- 223,228,1330,3347,3347,217,569,220,222,1916,
- 887,3347,3347,3347,3347,3347,1631,3347,3347,3347,
- 3347,528,223,1268,969,154,548,218,569,220,
- 1263,2776,3347,19,3347,520,16,20,17,687,
- 42,44,3347,694,764,3347,750,1479,3347,528,
- 223,228,3347,3347,3347,217,569,220,222,3347,
- 197,199,2776,3347,19,3347,1631,16,20,17,
- 687,42,44,1295,694,764,3347,750,1492,2776,
- 3347,19,3347,3347,16,20,17,687,42,44,
- 3347,694,764,2776,1493,19,3347,3347,16,20,
- 17,687,42,44,3347,694,764,2776,1494,19,
- 198,199,16,20,17,687,42,44,3347,694,
- 764,2776,1497,19,3347,3347,16,20,17,687,
- 42,44,2021,694,764,2776,1512,19,2076,3347,
- 16,20,17,687,42,44,3347,694,1432,2776,
- 3347,19,3347,3347,16,20,17,687,42,44,
- 3347,694,1459,3347,3347,3347,3347,134,212,321,
- 322,1984,2956,134,212,321,322,3347,3347,3347,
- 3347,3347,276,3347,150,133,135,159,3347,3347,
- 153,133,135,159,2776,3347,19,3347,3347,16,
- 20,17,687,42,44,2503,1465,19,3347,3347,
- 16,20,17,687,42,35,3347,3347,2503,3347,
- 19,3347,273,16,20,17,687,42,35,3347,
- 3347,3347,3347,266,965,913,271,2355,1057,3347,
- 2776,3347,19,3347,245,16,20,17,687,42,
- 38,3347,1313,2776,3347,19,3347,246,16,20,
- 17,687,42,37,2776,3347,19,3347,3347,16,
- 20,17,687,42,36,2776,3347,19,3347,3347,
- 16,20,17,687,42,34,3347,2776,273,19,
- 3347,3347,16,20,17,687,42,35,3347,266,
- 965,913,271,2776,3347,19,2966,638,16,20,
- 17,687,42,47,2776,3347,19,3347,265,16,
- 20,17,687,42,46,2776,3347,19,2966,638,
- 16,20,17,687,42,45,2576,3347,19,1767,
- 3347,16,20,17,687,42,43,3347,3347,513,
- 129,364,2941,876,87,3347,87,3347,2941,876,
- 3347,1767,87,2125,666,1866,362,258,3347,2134,
- 3347,513,362,2726,3347,19,1335,1215,16,20,
- 17,687,315,196,3347,3347,2751,2012,19,258,
- 3347,16,20,17,687,40,1445,3347,1335,1215,
- 3347,3347,1453,3347,129,364,2887,2801,87,19,
- 610,3347,16,20,17,687,33,2801,666,19,
- 3347,3347,16,20,17,687,32,3347,129,364,
- 129,364,87,3347,87,129,364,196,3347,87,
- 2037,638,666,3347,666,2183,638,3347,3347,666,
- 3347,3347,129,364,3347,3347,87,3347,2941,876,
- 2887,196,87,196,879,3347,666,3347,196,2195,
- 3347,3347,362,196,3347,2939,876,3347,196,87,
- 3347,3347,3347,3347,2887,196,2887,3347,1038,115,
- 1104,2887,3347,2941,876,1148,1163,87,3347,2941,
- 876,1163,1489,87,2204,2941,876,362,2887,87,
- 2239,3347,1170,362,2941,876,2265,3347,87,362,
- 2864,876,3347,3143,87,2274,3347,3347,362,3347,
- 3347,191,3347,3347,1361,3347,191,1519,3347,375,
- 1701,1357,3347,1544,1334,1701,2941,876,3347,1552,
- 87,2941,876,3347,3347,87,3347,2344,1577,3347,
- 362,3347,2405,2941,876,362,3347,87,2941,876,
- 3347,3347,87,3347,2440,3347,3347,362,3347,2449,
- 2941,876,362,3347,87,2864,876,3347,3155,87,
- 1652,2554,2939,876,362,1686,87,2864,876,1362,
- 3164,87,3347,3347,2939,876,115,1688,87,3347,
- 3347,1390,1707,2864,876,3347,3218,87,115,129,
- 876,129,876,87,1786,87,3347,1460,129,876,
- 129,876,87,1545,87,1247,129,876,3347,3347,
- 87,3347,1255,3347,1291,3347,3347,3347,3347,3347,
- 1387,3347,3347,3347,3347,3347,3347,3347,1467,3347,
- 3347,3347,3347,3347,3347,3347,3347,3347,3347,3347,
- 1610,3347,0,324,841,0,10,225,0,3354,
- 1,0,1,3583,0,7,9,0,178,19,
- 0,1,3572,0,112,2160,0
+ 23,23,23,44,44,362,2151,1355,2558,1090,
+ 17,21,18,557,1280,45,346,580,661,231,
+ 586,746,2045,2875,865,129,1162,90,2221,2148,
+ 1599,736,879,816,993,971,1021,75,92,2218,
+ 135,213,322,323,2135,1966,421,2509,304,2318,
+ 1629,135,213,322,323,2318,1727,137,134,136,
+ 160,2213,739,179,254,213,322,323,145,134,
+ 136,160,139,1901,166,846,1912,771,328,528,
+ 143,146,149,152,466,1922,72,1704,376,1680,
+ 2789,2795,530,2051,311,303,135,213,322,323,
+ 105,1348,404,224,232,2606,56,129,365,633,
+ 2059,88,31,137,134,136,160,613,224,229,
+ 209,923,218,667,221,223,954,2221,139,1599,
+ 166,1158,1613,763,1198,899,143,146,149,152,
+ 466,197,2181,1704,376,1680,2789,2795,530,2601,
+ 869,20,301,302,17,21,18,557,1280,45,
+ 2077,580,661,2932,586,746,445,784,2864,1906,
+ 2284,127,179,324,1910,736,879,816,993,971,
+ 1021,75,281,2626,869,20,1912,771,17,21,
+ 18,557,1280,45,309,580,661,2857,586,746,
+ 1042,404,224,233,25,135,213,322,323,736,
+ 879,816,993,971,1021,75,281,286,433,209,
+ 2108,1299,138,134,136,160,1903,613,224,229,
+ 1294,1613,218,667,221,223,2049,140,2059,166,
+ 187,1922,287,159,1429,144,147,150,153,466,
+ 2059,286,186,2150,72,1299,2412,869,20,2558,
+ 747,17,21,18,557,1280,45,401,580,661,
+ 231,586,746,2870,156,465,287,2284,1431,179,
+ 129,749,736,879,816,993,971,1021,75,281,
+ 2826,882,20,2077,1227,17,21,18,557,1280,
+ 45,2212,580,661,227,586,746,2806,255,213,
+ 322,323,135,213,322,323,736,879,816,993,
+ 971,1021,75,1222,288,1905,759,1027,1299,137,
+ 134,136,160,1042,613,224,229,2558,1192,219,
+ 667,221,223,2059,139,31,166,2882,278,289,
+ 308,685,143,146,149,152,466,598,228,1704,
+ 376,1680,2789,2795,530,2290,389,20,202,2043,
+ 17,21,18,557,1280,45,2317,580,661,72,
+ 586,746,255,213,322,323,2048,2360,637,2037,
+ 637,736,879,816,993,971,1021,75,864,2059,
+ 2528,188,20,2320,239,17,21,18,557,1280,
+ 45,72,580,661,225,586,746,2888,2059,453,
+ 1092,1803,2886,197,2320,128,736,879,816,993,
+ 971,1021,75,281,2651,3031,20,24,520,17,
+ 21,18,557,1280,45,921,580,661,259,586,
+ 746,453,255,213,322,323,2268,994,1295,610,
+ 736,879,816,993,971,1021,75,281,158,2478,
+ 653,20,1299,2920,17,21,18,557,43,45,
+ 192,580,661,72,586,746,145,282,1211,1902,
+ 1895,421,2059,304,295,736,879,816,993,971,
+ 1021,94,290,1266,2218,2776,1299,20,330,2908,
+ 17,21,18,557,1280,45,72,580,661,2208,
+ 586,746,2148,453,528,2864,2608,399,127,129,
+ 388,736,879,816,993,971,1021,75,92,2362,
+ 303,20,2652,241,17,21,18,557,1280,45,
+ 2942,580,661,338,586,746,453,254,213,322,
+ 323,2864,2630,2320,195,736,879,816,993,971,
+ 1021,75,1362,72,19,3086,2922,2776,240,20,
+ 129,487,17,21,18,557,43,45,2942,580,
+ 661,124,586,746,1929,1500,293,300,302,1265,
+ 366,1348,633,736,879,816,993,971,1021,94,
+ 2776,275,20,453,405,17,21,18,557,1280,
+ 45,2942,580,661,123,586,746,275,1445,1693,
+ 833,292,1659,2468,2320,1333,736,879,816,993,
+ 971,1021,75,86,2776,230,20,2952,637,17,
+ 21,18,557,1280,45,2942,580,661,112,586,
+ 746,2466,2984,637,310,2864,365,2560,1432,88,
+ 736,879,816,993,971,1021,75,85,2776,1123,
+ 20,885,2206,17,21,18,557,1280,45,2942,
+ 580,661,336,586,746,2942,1803,307,334,885,
+ 129,1219,129,1991,736,879,816,993,971,1021,
+ 75,84,2776,2942,20,1399,332,17,21,18,
+ 557,1280,45,260,580,661,2942,586,746,126,
+ 2781,637,2942,2939,365,122,2322,88,736,879,
+ 816,993,971,1021,75,83,2776,116,20,2320,
+ 2407,17,21,18,557,1280,45,2320,580,661,
+ 1655,586,746,2942,1803,2218,2644,885,1656,2059,
+ 2320,297,736,879,816,993,971,1021,75,82,
+ 2776,1657,20,3115,2907,17,21,18,557,1280,
+ 45,259,580,661,2320,586,746,2565,2980,1191,
+ 994,1295,129,637,22,1658,736,879,816,993,
+ 971,1021,75,81,2776,2059,20,1599,2568,17,
+ 21,18,557,1280,45,2569,580,661,2320,586,
+ 746,2942,2781,637,3259,276,885,2682,2320,1660,
+ 736,879,816,993,971,1021,75,80,2776,23,
+ 20,2956,306,17,21,18,557,1280,45,2956,
+ 580,661,2218,586,746,2757,1803,2356,1565,2864,
+ 865,1389,337,88,736,879,816,993,971,1021,
+ 75,79,2776,1049,20,129,509,17,21,18,
+ 557,1280,45,259,580,661,180,586,746,129,
+ 543,243,1503,1295,283,2866,2316,210,736,879,
+ 816,993,971,1021,75,78,2776,234,20,2320,
+ 2041,17,21,18,557,1280,45,1007,580,661,
+ 2085,586,746,2942,2980,2807,3132,2864,865,2972,
+ 335,88,736,879,816,993,971,1021,75,77,
+ 2776,1055,20,2320,1983,17,21,18,557,1280,
+ 45,2973,580,661,2111,586,746,2942,74,2862,
+ 3264,2864,865,2881,333,88,736,879,816,993,
+ 971,1021,75,76,2776,1073,20,2320,2910,17,
+ 21,18,557,1280,45,2851,580,661,2120,586,
+ 746,2942,2218,2467,3271,2864,865,1437,125,88,
+ 736,879,816,993,971,1021,75,93,2776,1086,
+ 20,2320,2469,17,21,18,557,1280,45,2956,
+ 580,661,273,586,746,2940,2207,2315,194,2864,
+ 865,242,1937,88,736,879,816,993,971,1021,
+ 75,74,2776,1293,20,2320,2114,17,21,18,
+ 557,43,45,2956,580,661,279,586,746,2998,
+ 2218,2998,2864,865,204,1976,88,2956,736,879,
+ 816,993,971,1021,94,2776,1327,20,2956,2118,
+ 17,21,18,557,1280,45,1930,580,661,2218,
+ 586,746,2942,2942,2942,3171,3179,3292,181,244,
+ 212,736,879,816,993,971,1021,75,1430,2776,
+ 2942,20,205,3283,17,21,18,557,1280,45,
+ 2320,580,661,728,586,746,2942,2394,245,3210,
+ 2148,1547,1448,2320,1524,736,879,816,993,971,
+ 1021,75,1459,2776,280,20,2320,2873,17,21,
+ 18,557,43,45,2956,580,661,2190,586,746,
+ 2942,2942,2877,3225,3230,254,213,322,323,736,
+ 879,816,993,971,1021,94,2776,2942,20,2320,
+ 118,17,21,18,557,43,45,2320,580,661,
+ 2251,586,746,2942,2854,2148,3247,2871,2321,28,
+ 2892,202,736,879,816,993,971,1021,94,2776,
+ 707,20,2320,2879,17,21,18,557,43,45,
+ 2943,580,661,2330,586,746,2218,2218,2782,2656,
+ 254,213,322,323,203,736,879,816,993,971,
+ 1021,94,2776,2982,20,2320,2572,17,21,18,
+ 557,43,45,2320,580,661,2356,586,746,220,
+ 365,1225,111,87,2391,294,296,1596,736,879,
+ 816,993,971,1021,94,777,96,1015,109,95,
+ 97,98,99,100,331,2985,2986,2987,2989,2883,
+ 2990,2320,2320,885,1,365,1225,111,87,2676,
+ 1597,20,2400,2435,17,21,18,557,320,110,
+ 1950,96,1015,109,95,97,98,99,100,331,
+ 387,2994,2056,2997,3376,3376,3376,3376,885,1042,
+ 613,224,229,107,2398,219,667,221,223,312,
+ 274,3376,3376,3376,110,135,213,322,323,3376,
+ 3376,269,1144,936,272,2320,1664,291,365,1225,
+ 111,87,148,134,136,160,2496,3376,108,135,
+ 213,322,323,2320,96,1015,109,95,97,98,
+ 99,100,331,3376,2505,3376,142,134,136,160,
+ 3376,885,147,365,1225,111,87,3376,3376,3376,
+ 3376,141,3376,166,129,365,3376,110,88,96,
+ 1015,109,95,97,98,99,100,331,923,2320,
+ 3376,2941,865,3376,3376,88,885,3376,2320,2320,
+ 2531,107,2146,1923,933,363,2320,106,197,2540,
+ 2566,3376,110,2776,3376,20,3376,2601,17,21,
+ 18,557,43,45,1762,580,661,3376,586,746,
+ 2932,3376,3376,3376,1109,1516,108,3376,3376,736,
+ 879,816,993,1598,613,224,229,1932,3043,218,
+ 667,221,223,3376,274,129,865,3376,277,88,
+ 263,3376,3376,3376,3376,267,1144,936,272,1125,
+ 2776,3376,20,3376,3376,17,21,18,557,43,
+ 45,3376,580,661,264,586,1416,3376,613,224,
+ 229,3376,3376,218,667,221,223,3376,274,3376,
+ 3376,3376,2110,637,763,3376,1912,843,3376,267,
+ 1144,936,272,3376,3376,3376,3376,2776,3376,20,
+ 3376,261,17,21,18,557,43,45,1381,580,
+ 661,3376,586,746,3376,3376,197,2864,865,3376,
+ 1791,88,3376,736,879,816,1570,613,224,502,
+ 3376,1462,218,667,221,534,129,865,921,2776,
+ 88,20,3376,159,17,21,18,557,43,45,
+ 1590,580,661,3376,586,746,2864,865,3376,3156,
+ 88,3376,3376,3376,3376,736,879,1583,3376,3376,
+ 1463,2183,637,193,155,465,433,865,1225,111,
+ 87,2701,3376,20,782,3376,17,21,18,557,
+ 318,601,3376,96,1015,1329,95,97,98,99,
+ 100,331,2776,385,20,197,3376,17,21,18,
+ 557,43,45,3376,580,661,3376,586,746,476,
+ 865,1225,111,87,3376,3376,3376,921,736,1564,
+ 519,865,1225,111,87,3376,96,1015,104,95,
+ 97,98,99,100,331,3376,3376,96,1015,102,
+ 95,97,98,99,100,331,562,865,1225,111,
+ 87,3376,192,3376,3376,605,865,1225,111,87,
+ 1423,1902,3376,96,1015,103,95,97,98,99,
+ 100,331,96,1015,119,95,97,98,99,100,
+ 331,648,865,1225,111,87,3376,3376,3376,3376,
+ 691,865,1225,111,87,3376,3376,3376,96,1015,
+ 115,95,97,98,99,100,331,96,1015,1692,
+ 95,97,98,99,100,331,734,865,1225,111,
+ 87,3376,3376,3376,3376,777,865,1225,111,87,
+ 3376,3376,3376,96,1015,362,95,97,98,99,
+ 100,331,96,1015,354,95,97,98,99,100,
+ 331,820,865,1225,111,87,3376,3376,3376,3376,
+ 863,865,1225,111,87,3376,3376,3376,96,1015,
+ 114,95,97,98,99,100,331,96,1015,361,
+ 95,97,98,99,100,331,906,865,1225,111,
+ 87,3376,3376,3376,3376,949,865,1225,111,87,
+ 3376,3376,3376,96,1015,360,95,97,98,99,
+ 100,331,96,1015,358,95,97,98,99,100,
+ 331,992,865,1225,111,87,3376,3376,3376,3376,
+ 1035,865,1225,111,87,3376,3376,3376,96,1015,
+ 353,95,97,98,99,100,331,96,1015,352,
+ 95,97,98,99,100,331,1078,865,1225,111,
+ 87,3376,3376,3376,3376,1121,865,1225,111,87,
+ 3376,3376,3376,96,1015,350,95,97,98,99,
+ 100,331,96,1015,346,95,97,98,99,100,
+ 331,1164,865,1225,111,87,3376,3376,3376,3376,
+ 1207,865,1225,111,87,3376,3376,3376,96,1015,
+ 121,95,97,98,99,100,331,96,1015,359,
+ 95,97,98,99,100,331,1250,865,1225,111,
+ 87,3376,3376,3376,3376,1293,865,1225,111,87,
+ 3376,3376,3376,96,1015,357,95,97,98,99,
+ 100,331,96,1015,356,95,97,98,99,100,
+ 331,1336,865,1225,111,87,3376,3376,3376,3376,
+ 1379,865,1225,111,87,3376,3376,3376,96,1015,
+ 351,95,97,98,99,100,331,96,1015,349,
+ 95,97,98,99,100,331,1422,865,1225,111,
+ 87,3376,3376,3376,3376,1465,865,1225,111,87,
+ 3376,3376,3376,96,1015,348,95,97,98,99,
+ 100,331,96,1015,345,95,97,98,99,100,
+ 331,1508,865,1225,111,87,3376,3376,3376,3376,
+ 1551,865,1225,111,87,3376,3376,3376,96,1015,
+ 344,95,97,98,99,100,331,96,1015,342,
+ 95,97,98,99,100,331,1594,865,1225,111,
+ 87,3376,3376,3376,3376,1637,865,1225,111,87,
+ 3376,3376,3376,96,1015,120,95,97,98,99,
+ 100,331,96,1015,355,95,97,98,99,100,
+ 331,1680,865,1225,111,87,3376,3376,3376,3376,
+ 1723,865,1225,111,87,3376,3376,3376,96,1015,
+ 347,95,97,98,99,100,331,96,1015,343,
+ 95,97,98,99,100,331,1766,865,1225,111,
+ 87,3376,3376,3376,3376,1809,865,1225,111,87,
+ 3376,3376,3376,96,1015,341,95,97,98,99,
+ 100,331,96,1015,340,95,97,98,99,100,
+ 331,1852,865,1225,111,87,3376,3376,1912,771,
+ 3376,3376,3376,3376,3376,3376,3376,3376,96,1015,
+ 339,95,97,98,99,100,331,2776,3376,20,
+ 1916,771,17,21,18,557,43,45,3376,580,
+ 661,3376,586,746,2864,865,3376,3276,88,613,
+ 224,229,2077,1567,218,667,221,223,1464,3376,
+ 3376,2726,3376,20,3376,159,17,21,18,557,
+ 316,613,224,229,3376,3376,218,667,221,223,
+ 1916,771,3376,3376,3376,3376,3376,1691,3376,3376,
+ 3376,3376,1042,613,224,1321,155,465,219,667,
+ 221,1314,2776,3376,20,3376,782,17,21,18,
+ 557,43,45,3376,580,661,3376,586,1449,3376,
+ 3376,613,224,229,3376,3376,218,667,221,223,
+ 3376,198,200,2776,3376,20,3376,1691,17,21,
+ 18,557,43,45,1395,580,661,2776,1456,20,
+ 3376,3376,17,21,18,557,43,45,3376,580,
+ 661,2776,1497,20,3376,3376,17,21,18,557,
+ 43,45,3376,580,661,3376,1517,3376,2776,3376,
+ 20,199,200,17,21,18,557,43,45,2021,
+ 580,661,2776,1532,20,2076,3376,17,21,18,
+ 557,43,45,3376,580,1363,2776,3376,20,3376,
+ 3376,17,21,18,557,43,45,3376,580,1382,
+ 3376,3376,3376,3376,135,213,322,323,3376,3376,
+ 135,213,322,323,3376,3376,3376,3376,3376,3376,
+ 3376,151,134,136,160,3376,3376,154,134,136,
+ 160,2503,3376,20,1984,3023,17,21,18,557,
+ 43,36,2776,3376,20,277,3376,17,21,18,
+ 557,43,45,2776,1396,20,3376,3376,17,21,
+ 18,557,43,45,3376,1397,2503,3376,20,3376,
+ 329,17,21,18,557,43,36,3376,129,865,
+ 3376,2503,88,20,3376,274,17,21,18,557,
+ 43,36,1279,3376,3376,3376,267,1144,936,272,
+ 3376,2776,3376,20,3376,246,17,21,18,557,
+ 43,40,2355,876,3376,1381,2776,3376,20,3376,
+ 247,17,21,18,557,43,39,2776,3376,20,
+ 3376,3376,17,21,18,557,43,38,2776,3376,
+ 20,3376,3376,17,21,18,557,43,37,2776,
+ 3376,20,3376,3376,17,21,18,557,43,35,
+ 2776,3376,20,274,3376,17,21,18,557,43,
+ 36,3376,3376,3376,267,1144,936,272,2776,3376,
+ 20,3376,3376,17,21,18,557,43,48,2776,
+ 3376,20,3376,266,17,21,18,557,43,47,
+ 2776,3376,20,2966,637,17,21,18,557,43,
+ 46,2576,3376,20,3376,3376,17,21,18,557,
+ 43,44,3376,2966,637,2751,3376,20,3376,3376,
+ 17,21,18,557,41,3376,3376,1803,3376,2801,
+ 3376,20,3376,453,17,21,18,557,34,3376,
+ 3376,129,365,3376,3376,88,3376,1803,3376,3376,
+ 3376,3376,3086,453,259,923,2919,129,365,3376,
+ 2801,88,20,1415,1295,17,21,18,557,33,
+ 3376,923,1659,3376,259,197,129,365,129,365,
+ 88,3376,88,1415,1295,2939,865,3376,3376,88,
+ 923,197,923,3376,129,865,1042,2932,88,116,
+ 3376,1117,2864,865,3376,3173,88,274,1313,3376,
+ 197,3376,197,2932,3376,3376,1496,1130,269,1144,
+ 936,272,3376,3376,3376,3376,2941,865,3376,3376,
+ 88,3376,2932,3376,2932,3376,1154,2155,1188,3376,
+ 363,2941,865,2941,865,88,3376,88,3376,2941,
+ 865,1361,2216,88,2225,363,3376,363,2941,865,
+ 2260,3376,88,363,2941,865,3376,3376,88,2286,
+ 1549,3376,363,3376,3376,2295,3376,3376,363,3376,
+ 2941,865,3376,3376,88,1582,3376,1615,3376,3376,
+ 3376,2365,3376,1623,363,2941,865,3376,3376,88,
+ 2941,865,1661,3376,88,3376,2426,3376,1662,363,
+ 3376,2461,2941,865,363,3376,88,2941,865,3376,
+ 3376,88,3376,2470,1743,3376,363,3376,2575,2939,
+ 865,363,3376,88,2864,865,3376,3188,88,1789,
+ 3376,2939,865,116,1798,88,2864,865,1530,3194,
+ 88,3376,3376,2939,865,116,1799,88,3376,3376,
+ 1531,1806,2864,865,3376,3242,88,116,129,865,
+ 129,865,88,3376,88,3376,1563,3376,3376,3376,
+ 3376,3376,1347,3376,1490,3376,3376,3376,3376,3376,
+ 3376,3376,3376,3376,3376,1480,3376,3376,3376,3376,
+ 3376,3376,3376,3376,3376,3376,3376,1557,3376,3376,
+ 3376,3376,3376,3376,3376,3376,3376,3376,3376,1725,
+ 3376,0,325,829,0,11,226,0,3384,1,
+ 0,1,3613,0,8,10,0,179,20,0,
+ 1,3602,0,113,2181,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1040,314 +1045,314 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface TermAction {
public final static char termAction[] = {0,
- 3347,6714,1,6713,1,1331,900,1,1,1,
+ 3376,6744,1,6743,1,1328,415,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3355,3447,920,1050,772,
- 947,1136,1943,1031,1135,1090,1561,1082,928,1528,
- 628,1495,991,1,1,1,1,1,1,1,
- 1,1,1,1,1,181,1,1,1,1,
+ 1,1,1,1,1,3385,3477,981,1157,948,
+ 937,1197,1996,1110,778,1185,1365,1178,1229,1331,
+ 910,1297,1096,1,1,1,1,1,1,1,
+ 1,1,1,1,1,182,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,252,3353,7,3335,3335,3335,3335,3335,3335,
- 3335,3335,3335,3335,3335,3335,3335,3335,3335,3335,
- 3335,3335,3335,3335,3335,3335,3335,3335,3335,3335,
- 3335,3335,3335,3335,3335,3335,3335,3335,3335,3335,
- 3335,3335,3335,3335,3335,3335,3335,3335,3335,3335,
- 3335,3335,3335,3335,3335,3335,3335,3335,1,3335,
- 3335,3335,3335,3335,3335,3335,3335,3335,3335,3335,
- 3335,3335,3335,3335,182,3335,3347,6714,1,6713,
- 1,1331,900,1,1,1,1,1,1,1,
+ 1,253,3383,8,3364,3364,3364,3364,3364,3364,
+ 3364,3364,3364,3364,3364,3364,3364,3364,3364,3364,
+ 3364,3364,3364,3364,3364,3364,3364,3364,3364,3364,
+ 3364,3364,3364,3364,3364,3364,3364,3364,3364,3364,
+ 3364,3364,3364,3364,3364,3364,3364,3364,3364,3364,
+ 3364,3364,3364,3364,3364,3364,3364,3364,1,3364,
+ 3364,3364,3364,3364,3364,3364,3364,3364,3364,3364,
+ 3364,3364,3364,3364,183,3364,3376,6744,1,6743,
+ 1,1328,415,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,3355,3447,920,1050,772,947,1136,1943,1031,
- 1135,1090,1561,1082,928,1528,628,1495,991,1,
+ 1,3385,3477,981,1157,948,937,1197,1996,1110,
+ 778,1185,1365,1178,1229,1331,910,1297,1096,1,
1,1,1,1,1,1,1,1,1,1,
- 1,284,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3347,3353,3347,
- 6714,1,6713,1,3356,900,1,1,1,1,
+ 1,285,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,3376,3383,3376,
+ 6744,1,6743,1,3386,415,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3355,3447,920,1050,772,947,
- 1136,1943,1031,1135,1090,1561,1082,928,1528,628,
- 1495,991,1,1,1,1,1,1,1,1,
- 1,1,1,1,70,1,1,1,1,1,
+ 1,1,1,1,3385,3477,981,1157,948,937,
+ 1197,1996,1110,778,1185,1365,1178,1229,1331,910,
+ 1297,1096,1,1,1,1,1,1,1,1,
+ 1,1,1,1,71,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 3347,6714,1,6713,1,3356,900,1,1,1,
+ 3376,6744,1,6743,1,3386,415,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3355,3447,920,1050,772,
- 947,1136,1943,1031,1135,1090,1561,1082,928,1528,
- 628,1495,991,1,1,1,1,1,1,1,
- 1,1,1,1,1,129,1,1,1,1,
+ 1,1,1,1,1,3385,3477,981,1157,948,
+ 937,1197,1996,1110,778,1185,1365,1178,1229,1331,
+ 910,1297,1096,1,1,1,1,1,1,1,
+ 1,1,1,1,1,130,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,3347,3357,3000,3358,2937,1862,3347,2914,2903,
- 2925,3067,3057,3036,3359,3360,3361,3362,2890,2028,
- 3659,3660,3661,3023,1948,1756,3347,3584,3560,3561,
- 3562,3672,472,3673,3509,3510,3508,3563,3511,3507,
- 184,6709,3347,6709,3560,3561,3562,3672,472,3673,
- 3509,3510,3508,3563,3511,3507,3347,3514,3519,3518,
- 3516,3517,3515,3520,3521,3513,3522,3523,3524,737,
- 471,452,3347,6714,1,6713,1,3356,900,1,
+ 1,3376,3387,467,3388,2980,1917,3376,2958,2947,
+ 2969,3090,3059,3045,3389,3390,3391,3392,2936,2921,
+ 3689,3690,3691,2661,2001,1669,3376,3614,3590,3591,
+ 3592,3702,407,3703,3539,3540,3538,3593,3541,3537,
+ 185,6739,3376,6739,3590,3591,3592,3702,407,3703,
+ 3539,3540,3538,3593,3541,3537,3376,3544,3549,3548,
+ 3546,3547,3545,3550,3551,3543,3552,3553,3554,596,
+ 729,627,3376,6744,1,6743,1,3386,415,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3355,3447,920,
- 1050,772,947,1136,1943,1031,1135,1090,1561,1082,
- 928,1528,628,1495,991,3347,6714,1,6713,1,
- 3356,900,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,3385,3477,981,
+ 1157,948,937,1197,1996,1110,778,1185,1365,1178,
+ 1229,1331,910,1297,1096,3376,6744,1,6743,1,
+ 3386,415,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 3355,3447,920,1050,772,947,1136,1943,1031,1135,
- 1090,1561,1082,928,1528,628,1495,991,3347,6714,
- 1,6713,1,3356,900,1,1,1,1,1,
+ 3385,3477,981,1157,948,937,1197,1996,1110,778,
+ 1185,1365,1178,1229,1331,910,1297,1096,3376,6744,
+ 1,6743,1,3386,415,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3355,3447,920,1050,772,947,1136,
- 1943,1031,1135,1090,1561,1082,928,1528,628,1495,
- 991,3347,6714,1,6713,1,3356,900,1,1,
+ 1,1,1,3385,3477,981,1157,948,937,1197,
+ 1996,1110,778,1185,1365,1178,1229,1331,910,1297,
+ 1096,3376,6744,1,6743,1,3386,415,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3355,3447,920,1050,
- 772,947,1136,1943,1031,1135,1090,1561,1082,928,
- 1528,628,1495,991,3347,6714,1,6713,1,3356,
- 900,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3355,
- 3447,920,1050,772,947,1136,1943,1031,1135,1090,
- 1561,1082,928,1528,628,1495,991,3347,6714,1,
- 6713,1,3356,900,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3385,3477,981,1157,
+ 948,937,1197,1996,1110,778,1185,1365,1178,1229,
+ 1331,910,1297,1096,3376,6744,1,6743,1,3386,
+ 415,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3385,
+ 3477,981,1157,948,937,1197,1996,1110,778,1185,
+ 1365,1178,1229,1331,910,1297,1096,3376,6744,1,
+ 6743,1,3386,415,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,3355,3447,920,1050,772,947,1136,1943,
- 1031,1135,1090,1561,1082,928,1528,628,1495,991,
- 3347,6714,1,6713,1,3356,900,1,1,1,
+ 1,1,3385,3477,981,1157,948,937,1197,1996,
+ 1110,778,1185,1365,1178,1229,1331,910,1297,1096,
+ 3376,6744,1,6743,1,3386,415,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3355,3447,920,1050,772,
- 947,1136,1943,1031,1135,1090,1561,1082,928,1528,
- 628,1495,991,3347,6714,1,6713,1,3356,900,
+ 1,1,1,1,1,3385,3477,981,1157,948,
+ 937,1197,1996,1110,778,1185,1365,1178,1229,1331,
+ 910,1297,1096,3376,6744,1,6743,1,3386,415,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3355,3447,
- 920,1050,772,947,1136,1943,1031,1135,1090,1561,
- 1082,928,1528,628,1495,991,3347,6714,1,6713,
- 1,3356,900,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3385,3477,
+ 981,1157,948,937,1197,1996,1110,778,1185,1365,
+ 1178,1229,1331,910,1297,1096,3376,6744,1,6743,
+ 1,3386,415,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,3355,3447,920,1050,772,947,1136,1943,1031,
- 1135,1090,1561,1082,928,1528,628,1495,991,3347,
- 6714,1,6713,1,3356,900,1,1,1,1,
+ 1,3385,3477,981,1157,948,937,1197,1996,1110,
+ 778,1185,1365,1178,1229,1331,910,1297,1096,3376,
+ 6744,1,6743,1,3386,415,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3355,3447,920,1050,772,947,
- 1136,1943,1031,1135,1090,1561,1082,928,1528,628,
- 1495,991,3347,6714,1,6713,1,3356,900,1,
+ 1,1,1,1,3385,3477,981,1157,948,937,
+ 1197,1996,1110,778,1185,1365,1178,1229,1331,910,
+ 1297,1096,3376,6744,1,6743,1,3386,415,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3355,3447,920,
- 1050,772,947,1136,1943,1031,1135,1090,1561,1082,
- 928,1528,628,1495,991,3347,6714,1,6713,1,
- 3356,900,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,3385,3477,981,
+ 1157,948,937,1197,1996,1110,778,1185,1365,1178,
+ 1229,1331,910,1297,1096,3376,6744,1,6743,1,
+ 3386,415,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 3355,3447,920,1050,772,947,1136,1943,1031,1135,
- 1090,1561,1082,928,1528,628,1495,991,3347,6714,
- 1,6713,1,3356,900,1,1,1,1,1,
+ 3385,3477,981,1157,948,937,1197,1996,1110,778,
+ 1185,1365,1178,1229,1331,910,1297,1096,3376,6744,
+ 1,6743,1,3386,415,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3355,3447,920,1050,772,947,1136,
- 1943,1031,1135,1090,1561,1082,928,1528,628,1495,
- 991,3347,6714,1,6713,1,3356,900,1,1,
+ 1,1,1,3385,3477,981,1157,948,937,1197,
+ 1996,1110,778,1185,1365,1178,1229,1331,910,1297,
+ 1096,3376,6744,1,6743,1,3386,415,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3355,3447,920,1050,
- 772,947,1136,1943,1031,1135,1090,1561,1082,928,
- 1528,628,1495,991,3347,6714,1,6713,1,3356,
- 900,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3355,
- 3447,920,1050,772,947,1136,1943,1031,1135,1090,
- 1561,1082,928,1528,628,1495,991,3347,6714,1,
- 6713,1,3356,900,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3385,3477,981,1157,
+ 948,937,1197,1996,1110,778,1185,1365,1178,1229,
+ 1331,910,1297,1096,3376,6744,1,6743,1,3386,
+ 415,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3385,
+ 3477,981,1157,948,937,1197,1996,1110,778,1185,
+ 1365,1178,1229,1331,910,1297,1096,3376,6744,1,
+ 6743,1,3386,415,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,3355,3447,920,1050,772,947,1136,1943,
- 1031,1135,1090,1561,1082,928,1528,628,1495,991,
- 3347,6714,1,6713,1,3356,900,1,1,1,
+ 1,1,3385,3477,981,1157,948,937,1197,1996,
+ 1110,778,1185,1365,1178,1229,1331,910,1297,1096,
+ 3376,6744,1,6743,1,3386,415,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3355,3447,920,1050,772,
- 947,1136,1943,1031,1135,1090,1561,1082,928,1528,
- 628,1495,991,3347,6714,1,6713,1,3356,900,
+ 1,1,1,1,1,3385,3477,981,1157,948,
+ 937,1197,1996,1110,778,1185,1365,1178,1229,1331,
+ 910,1297,1096,3376,6744,1,6743,1,3386,415,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3355,3447,
- 920,1050,772,947,1136,1943,1031,1135,1090,1561,
- 1082,928,1528,628,1495,991,3347,6714,1,6713,
- 1,3356,900,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3385,3477,
+ 981,1157,948,937,1197,1996,1110,778,1185,1365,
+ 1178,1229,1331,910,1297,1096,3376,6744,1,6743,
+ 1,3386,415,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,3355,3447,920,1050,772,947,1136,1943,1031,
- 1135,1090,1561,1082,928,1528,628,1495,991,3347,
- 6714,1,6713,1,3356,900,1,1,1,1,
+ 1,3385,3477,981,1157,948,937,1197,1996,1110,
+ 778,1185,1365,1178,1229,1331,910,1297,1096,3376,
+ 6744,1,6743,1,3386,415,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3355,3447,920,1050,772,947,
- 1136,1943,1031,1135,1090,1561,1082,928,1528,628,
- 1495,991,3347,6714,1,6713,1,3356,900,1,
+ 1,1,1,1,3385,3477,981,1157,948,937,
+ 1197,1996,1110,778,1185,1365,1178,1229,1331,910,
+ 1297,1096,3376,6744,1,6743,1,3386,415,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3355,3447,920,
- 1050,772,947,1136,1943,1031,1135,1090,1561,1082,
- 928,1528,628,1495,991,3347,6714,1,6713,1,
- 3356,900,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,3385,3477,981,
+ 1157,948,937,1197,1996,1110,778,1185,1365,1178,
+ 1229,1331,910,1297,1096,3376,6744,1,6743,1,
+ 3386,415,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 3355,3447,920,1050,772,947,1136,1943,1031,1135,
- 1090,1561,1082,928,1528,628,1495,991,3347,6714,
- 1,6713,1,3356,900,1,1,1,1,1,
+ 3385,3477,981,1157,948,937,1197,1996,1110,778,
+ 1185,1365,1178,1229,1331,910,1297,1096,3376,6744,
+ 1,6743,1,3386,415,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3355,3447,920,1050,772,947,1136,
- 1943,1031,1135,1090,1561,1082,928,1528,628,1495,
- 991,3347,6714,1,6713,1,3356,900,1,1,
+ 1,1,1,3385,3477,981,1157,948,937,1197,
+ 1996,1110,778,1185,1365,1178,1229,1331,910,1297,
+ 1096,3376,6744,1,6743,1,3386,415,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3355,3447,920,1050,
- 772,947,1136,1943,1031,1135,1090,1561,1082,928,
- 1528,628,1495,991,3347,6714,1,6713,1,3356,
- 900,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3355,
- 3447,920,1050,772,947,1136,1943,1031,1135,1090,
- 1561,1082,928,1528,628,1495,991,3347,6714,1,
- 6713,1,3356,900,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3385,3477,981,1157,
+ 948,937,1197,1996,1110,778,1185,1365,1178,1229,
+ 1331,910,1297,1096,3376,6744,1,6743,1,3386,
+ 415,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3385,
+ 3477,981,1157,948,937,1197,1996,1110,778,1185,
+ 1365,1178,1229,1331,910,1297,1096,3376,6744,1,
+ 6743,1,3386,415,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,3355,3447,920,1050,772,947,1136,1943,
- 1031,1135,1090,1561,1082,928,1528,628,1495,991,
- 3347,6714,1,6713,1,3356,900,1,1,1,
+ 1,1,3385,3477,981,1157,948,937,1197,1996,
+ 1110,778,1185,1365,1178,1229,1331,910,1297,1096,
+ 3376,6744,1,6743,1,3386,415,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3355,3447,920,1050,772,
- 947,1136,1943,1031,1135,1090,1561,1082,928,1528,
- 628,1495,991,3347,6714,1,6713,1,3356,900,
+ 1,1,1,1,1,3385,3477,981,1157,948,
+ 937,1197,1996,1110,778,1185,1365,1178,1229,1331,
+ 910,1297,1096,3376,6744,1,6743,1,3386,415,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3355,3447,
- 920,1050,772,947,1136,1943,1031,1135,1090,1561,
- 1082,928,1528,628,1495,991,3347,6714,1,6713,
- 1,3356,900,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3385,3477,
+ 981,1157,948,937,1197,1996,1110,778,1185,1365,
+ 1178,1229,1331,910,1297,1096,3376,6744,1,6743,
+ 1,3386,415,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,3355,3447,920,1050,772,947,1136,1943,1031,
- 1135,1090,1561,1082,928,1528,628,1495,991,3347,
- 6714,1,6713,1,3356,900,1,1,1,1,
+ 1,3385,3477,981,1157,948,937,1197,1996,1110,
+ 778,1185,1365,1178,1229,1331,910,1297,1096,3376,
+ 6744,1,6743,1,3386,415,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3355,3447,920,1050,772,947,
- 1136,1943,1031,1135,1090,1561,1082,928,1528,628,
- 1495,991,3347,6714,1,6713,1,3356,900,1,
+ 1,1,1,1,3385,3477,981,1157,948,937,
+ 1197,1996,1110,778,1185,1365,1178,1229,1331,910,
+ 1297,1096,3376,6744,1,6743,1,3386,415,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3355,3447,920,
- 1050,772,947,1136,1943,1031,1135,1090,1561,1082,
- 928,1528,628,1495,991,3347,6714,1,6713,1,
- 3356,900,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,3385,3477,981,
+ 1157,948,937,1197,1996,1110,778,1185,1365,1178,
+ 1229,1331,910,1297,1096,3376,6744,1,6743,1,
+ 3386,415,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 3355,3447,920,1050,772,947,1136,1943,1031,1135,
- 1090,1561,1082,928,1528,628,1495,991,3347,6714,
- 1,6713,1,3356,900,1,1,1,1,1,
+ 3385,3477,981,1157,948,937,1197,1996,1110,778,
+ 1185,1365,1178,1229,1331,910,1297,1096,3376,6744,
+ 1,6743,1,3386,415,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3355,3447,920,1050,772,947,1136,
- 1943,1031,1135,1090,1561,1082,928,1528,628,1495,
- 991,3347,6714,1,6713,1,3356,900,1,1,
+ 1,1,1,3385,3477,981,1157,948,937,1197,
+ 1996,1110,778,1185,1365,1178,1229,1331,910,1297,
+ 1096,3376,6744,1,6743,1,3386,415,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3355,3447,920,1050,
- 772,947,1136,1943,1031,1135,1090,1561,1082,928,
- 1528,628,1495,991,3347,1,1,1,1,3356,
- 3347,3357,54,3358,3347,3357,600,3358,3347,234,
- 614,1,3572,388,222,1,3572,388,3347,3355,
- 3651,3347,261,3572,1795,3347,1,408,248,58,
- 3347,1,3341,1795,222,3347,3352,1,1,1,
- 1,1,1,1,1,1,1,1,1,130,
+ 1,1,1,1,1,1,3385,3477,981,1157,
+ 948,937,1197,1996,1110,778,1185,1365,1178,1229,
+ 1331,910,1297,1096,3376,1,1,1,1,3386,
+ 3376,3387,55,3388,3376,3387,640,3388,3376,235,
+ 889,1,3602,436,223,1,3602,436,3376,3385,
+ 3681,3376,262,3602,1847,3376,1,409,249,59,
+ 3376,1,3370,1847,223,3376,3382,1,1,1,
+ 1,1,1,1,1,1,1,1,1,131,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3347,1,1,1,1,
- 3356,1,1,1,1,1,1,726,2785,2799,
- 222,298,235,1,222,2821,726,222,3352,1475,
- 3355,3651,3560,3561,3562,3672,472,3673,3509,3510,
- 3508,3563,3511,3507,3351,2785,2799,222,1,1,
+ 1,1,1,1,1,3376,1,1,1,1,
+ 3386,1,1,1,1,1,1,725,2792,2806,
+ 223,299,236,1,223,2854,725,223,3382,1513,
+ 3385,3681,3590,3591,3592,3702,407,3703,3539,3540,
+ 3538,3593,3541,3537,3381,2792,2806,223,1,1,
1,1,1,1,1,1,1,1,1,1,
- 131,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3347,1,726,1,
- 42,190,183,6711,10,6711,3326,59,205,6712,
- 3347,6712,297,222,641,112,3351,222,3347,3357,
- 3347,3358,3542,3560,3561,3562,3672,472,3673,3509,
- 3510,3508,3563,3511,3507,132,252,3572,388,1,
+ 132,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3376,1,725,1,
+ 43,191,184,6741,11,6741,3355,60,206,6742,
+ 3376,6742,298,223,446,113,3381,223,3376,3387,
+ 3376,3388,3572,3590,3591,3592,3702,407,3703,3539,
+ 3540,3538,3593,3541,3537,133,253,3602,436,1,
1,1,1,1,1,1,1,1,1,1,
- 1,3347,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,48,190,3347,
- 1,2975,1,61,189,1310,3347,60,3560,3561,
- 3562,3672,472,3673,3509,3510,3508,3563,3511,3507,
- 2771,2757,2743,2729,3347,3542,367,1277,1244,1211,
- 1178,1145,1079,1112,1046,1013,980,249,3344,221,
- 3347,386,1,1,1,1,1,1,1,1,
- 1,1,1,1,3347,1,1,1,1,1,
+ 1,3376,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,49,191,3376,
+ 1,3020,1,62,190,1310,3376,61,3590,3591,
+ 3592,3702,407,3703,3539,3540,3538,3593,3541,3537,
+ 2778,2761,2747,2733,3376,3572,368,1276,1242,1208,
+ 1174,1140,1072,1106,1038,1004,970,3376,3373,222,
+ 3376,619,1,1,1,1,1,1,1,1,
+ 1,1,1,1,3376,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 228,189,3347,1,3347,1,231,190,2964,2953,
- 1,1,1,1,1,1,2771,2757,2743,2729,
- 2771,2757,2743,2729,726,3347,50,64,3542,781,
- 2975,51,1,489,388,3358,2606,3347,2844,830,
- 207,3357,3350,3358,3347,1,1,1,1,1,
- 1,1,1,1,1,1,1,3322,1,1,
+ 229,190,3376,1,3376,1,232,191,3009,2998,
+ 3590,3591,3592,3702,407,3703,2778,2761,2747,2733,
+ 2778,2761,2747,2733,725,3376,51,65,3572,614,
+ 3020,52,1,382,436,3388,2627,3376,2873,2862,
+ 208,3387,3380,3388,3376,1,1,1,1,1,
+ 1,1,1,1,1,1,1,3351,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3347,190,3560,3561,3562,3672,472,
- 3673,3509,3510,3508,3563,3511,3507,66,3514,3519,
- 3518,3516,3517,3515,3520,3521,3513,3522,3523,3524,
- 737,471,452,3347,3357,3347,3358,2964,2953,1,
- 3357,3000,3358,2855,3350,3349,2914,2903,2925,3067,
- 3057,3036,3359,3360,3361,3362,2890,2028,3659,3660,
- 3661,3023,1948,1756,49,3347,62,1,2975,3347,
- 3352,3347,3329,967,3352,3347,3560,3561,3562,3672,
- 472,3673,3509,3510,3508,3563,3511,3507,652,3514,
- 3519,3518,3516,3517,3515,3520,3521,3513,3522,3523,
- 3524,737,471,452,264,3347,2821,1969,1,1,
- 3332,3347,3357,3000,3358,2868,3350,3349,2914,2903,
- 2925,3067,3057,3036,3359,3360,3361,3362,2890,2028,
- 3659,3660,3661,3023,1948,1756,1629,3347,3351,3353,
- 3347,3347,3351,57,3347,2964,2953,128,3560,3561,
- 3562,3672,472,3673,2712,2681,3347,3347,1396,726,
- 1442,1,3357,3000,3358,2937,28,6681,2914,2903,
- 2925,3067,3057,3036,3359,3360,3361,3362,2890,2028,
- 3659,3660,3661,3023,1948,1756,3347,3347,3604,3349,
- 3560,3561,3562,3672,472,3673,3509,3510,3508,3563,
- 3511,3507,3347,3514,3519,3518,3516,3517,3515,3520,
- 3521,3513,3522,3523,3524,72,53,68,52,2785,
- 2799,3347,3347,2844,830,2844,830,3347,3357,3000,
- 3358,405,3350,28,2914,2903,2925,3067,3057,3036,
- 3359,3360,3361,3362,2890,2028,3659,3660,3661,3023,
- 1948,1756,3347,3357,3000,3358,2937,3350,324,2914,
- 2903,2925,3067,3057,3036,3359,3360,3361,3362,2890,
- 2028,3659,3660,3661,3023,1948,1756,3347,3357,3000,
- 3358,2937,3347,6681,2914,2903,2925,3067,3057,3036,
- 3359,3360,3361,3362,2890,2028,3659,3660,3661,3023,
- 1948,1756,3347,206,1196,3349,1196,1,1906,3347,
- 1775,3269,3352,3323,3347,718,3271,3347,3347,3278,
- 3280,3347,3347,3286,3347,3347,3357,3000,3358,2937,
- 3349,997,2914,2903,2925,3067,3057,3036,3359,3360,
- 3361,3362,2890,2028,3659,3660,3661,3023,1948,1756,
- 1,3357,3000,3358,2937,156,6681,2914,2903,2925,
- 3067,3057,3036,3359,3360,3361,3362,2890,2028,3659,
- 3660,3661,3023,1948,1756,1,3357,3000,3358,2937,
- 3351,6681,2914,2903,2925,3067,3057,3036,3359,3360,
- 3361,3362,2890,2028,3659,3660,3661,3023,1948,1756,
- 3347,3357,3000,3358,2937,210,6681,2914,2903,2925,
- 3067,3057,3036,3359,3360,3361,3362,2890,2028,3659,
- 3660,3661,3023,1948,1756,3347,3357,3054,3358,2937,
- 761,3347,2914,2903,2925,3067,3057,3036,3359,3360,
- 3361,3362,2890,2028,3659,3660,3661,3023,1948,1756,
- 3347,3357,3078,3358,2937,3347,3347,2914,2903,2925,
- 3067,3057,3036,3359,3360,3361,3362,2890,2028,3659,
- 3660,3661,3023,1948,1756,3347,3357,3080,3358,2937,
- 1376,3347,2914,2903,2925,3067,3057,3036,3359,3360,
- 3361,3362,2890,2028,3659,3660,3661,3023,1948,1756,
- 3347,3357,3085,3358,2937,1986,3347,2914,2903,2925,
- 3067,3057,3036,3359,3360,3361,3362,2890,2028,3659,
- 3660,3661,3023,1948,1756,3347,3357,3000,3358,2937,
- 1,71,2914,2903,2925,3067,3057,3036,3359,3360,
- 3361,3362,2890,2028,3659,3660,3661,3023,1948,1756,
- 3347,3357,3102,3358,2937,219,255,2914,2903,2925,
- 3067,3057,3036,3359,3360,3361,3362,2890,2028,3659,
- 3660,3661,3023,1948,1756,1,3357,3000,3358,2937,
- 1997,3347,2914,2903,2925,3067,3057,3036,3359,3360,
- 3361,3362,2890,2028,3659,3660,3661,3023,1948,1756,
- 19,178,3338,65,3338,3338,31,3347,381,3604,
- 726,3347,2606,1,3347,3347,3372,3373,3356,250,
- 63,950,56,1862,1,3338,55,501,67,90,
- 3347,247,267,3572,1795,3347,252,251,3355,1585,
- 3356,69,3347,178,178,178,178,178,178,178,
- 178,178,178,178,178,3338,269,3347,454,88,
- 3355,477,3560,3561,3562,3672,472,3673,267,290,
- 2821,270,252,3338,3560,3561,3562,3672,472,3673,
- 3560,3561,3562,3672,472,3673,1068,726,1,3347,
- 1,3347,3347,116,3356,3352,3356,90,2785,2799,
- 464,1,2785,2799,2023,3347,655,900,2712,2681,
- 3354,726,1541,116,3355,1,3355,3710,1969,252,
- 283,3347,228,726,1574,844,726,983,232,29,
- 1343,206,1906,1,320,318,316,1197,41,3347,
- 997,997,997,200,997,997,3347,29,188,1426,
- 188,188,1,1,184,3347,183,205,3347,3347,
- 2659,116,3347,3351,3347,3347,1607,3347,3347,3347,
- 3347,3347,3347,3347,3347,3347,3347,3353,3347,3347,
- 3347,3347,3347,3347,3347,3347,3347,3347,3347,3347,
- 3347,3347,844,3347,3604,3347,3347,3347,3347,3347,
- 3375,3347,6264,3347,3347,3347,3347,3347,3347,3347,
- 3347,3347,3603,3347,3347,3347,3347,1508,617,3347,
- 3347,794,3347,3347,3347,3347,3358,3357
+ 1,1,1,3376,191,3590,3591,3592,3702,407,
+ 3703,3539,3540,3538,3593,3541,3537,67,3544,3549,
+ 3548,3546,3547,3545,3550,3551,3543,3552,3553,3554,
+ 596,729,627,3376,3387,3376,3388,3009,2998,1,
+ 3387,467,3388,2886,3380,3379,2958,2947,2969,3090,
+ 3059,3045,3389,3390,3391,3392,2936,2921,3689,3690,
+ 3691,2661,2001,1669,50,3376,63,1,3020,3376,
+ 3382,3376,3358,1025,3382,3376,3590,3591,3592,3702,
+ 407,3703,3539,3540,3538,3593,3541,3537,650,3544,
+ 3549,3548,3546,3547,3545,3550,3551,3543,3552,3553,
+ 3554,596,729,627,265,250,2854,2022,1,1,
+ 3361,3376,3387,467,3388,2901,3380,3379,2958,2947,
+ 2969,3090,3059,3045,3389,3390,3391,3392,2936,2921,
+ 3689,3690,3691,2661,2001,1669,1690,3376,3381,3383,
+ 3376,3376,3381,58,3376,3009,2998,129,1,1,
+ 1,1,1,1,2702,1870,3376,3376,1093,725,
+ 1479,1,3387,467,3388,2980,29,6711,2958,2947,
+ 2969,3090,3059,3045,3389,3390,3391,3392,2936,2921,
+ 3689,3690,3691,2661,2001,1669,3376,3376,3634,3379,
+ 3590,3591,3592,3702,407,3703,3539,3540,3538,3593,
+ 3541,3537,3376,3544,3549,3548,3546,3547,3545,3550,
+ 3551,3543,3552,3553,3554,73,54,69,53,2792,
+ 2806,3376,3376,2873,2862,2873,2862,3376,3387,467,
+ 3388,2851,3380,29,2958,2947,2969,3090,3059,3045,
+ 3389,3390,3391,3392,2936,2921,3689,3690,3691,2661,
+ 2001,1669,3376,3387,467,3388,2980,3380,325,2958,
+ 2947,2969,3090,3059,3045,3389,3390,3391,3392,2936,
+ 2921,3689,3690,3691,2661,2001,1669,3376,3387,467,
+ 3388,2980,3376,6711,2958,2947,2969,3090,3059,3045,
+ 3389,3390,3391,3392,2936,2921,3689,3690,3691,2661,
+ 2001,1669,3376,207,1175,3379,1175,1,1959,3376,
+ 1813,1956,3382,3352,3376,940,2898,3376,3376,3124,
+ 3298,3376,3376,3300,3376,3376,3387,467,3388,2980,
+ 3379,1259,2958,2947,2969,3090,3059,3045,3389,3390,
+ 3391,3392,2936,2921,3689,3690,3691,2661,2001,1669,
+ 1,3387,467,3388,2980,157,6711,2958,2947,2969,
+ 3090,3059,3045,3389,3390,3391,3392,2936,2921,3689,
+ 3690,3691,2661,2001,1669,1,3387,467,3388,2980,
+ 3381,6711,2958,2947,2969,3090,3059,3045,3389,3390,
+ 3391,3392,2936,2921,3689,3690,3691,2661,2001,1669,
+ 3376,3387,467,3388,2980,211,6711,2958,2947,2969,
+ 3090,3059,3045,3389,3390,3391,3392,2936,2921,3689,
+ 3690,3691,2661,2001,1669,3376,3387,1774,3388,2980,
+ 760,3376,2958,2947,2969,3090,3059,3045,3389,3390,
+ 3391,3392,2936,2921,3689,3690,3691,2661,2001,1669,
+ 3376,3387,3071,3388,2980,3376,3376,2958,2947,2969,
+ 3090,3059,3045,3389,3390,3391,3392,2936,2921,3689,
+ 3690,3691,2661,2001,1669,3376,3387,3087,3388,2980,
+ 1412,3376,2958,2947,2969,3090,3059,3045,3389,3390,
+ 3391,3392,2936,2921,3689,3690,3691,2661,2001,1669,
+ 3376,3387,3106,3388,2980,2039,3376,2958,2947,2969,
+ 3090,3059,3045,3389,3390,3391,3392,2936,2921,3689,
+ 3690,3691,2661,2001,1669,3376,3387,467,3388,2980,
+ 1,72,2958,2947,2969,3090,3059,3045,3389,3390,
+ 3391,3392,2936,2921,3689,3690,3691,2661,2001,1669,
+ 3376,3387,3108,3388,2980,220,256,2958,2947,2969,
+ 3090,3059,3045,3389,3390,3391,3392,2936,2921,3689,
+ 3690,3691,2661,2001,1669,1,3387,467,3388,2980,
+ 2050,3376,2958,2947,2969,3090,3059,3045,3389,3390,
+ 3391,3392,2936,2921,3689,3690,3691,2661,2001,1669,
+ 20,179,3367,66,3367,3367,32,3376,383,3634,
+ 725,3376,2627,1,3376,3376,3402,3403,3386,248,
+ 64,1062,57,1917,1,3367,56,1022,68,91,
+ 3376,251,268,3602,1847,3376,253,252,3385,1616,
+ 3386,70,3376,179,179,179,179,179,179,179,
+ 179,179,179,179,179,3367,270,3376,697,89,
+ 3385,1855,3590,3591,3592,3702,407,3703,268,291,
+ 2854,271,253,3367,3590,3591,3592,3702,407,3703,
+ 3590,3591,3592,3702,407,3703,703,725,1,3376,
+ 1,3376,3376,117,3386,3382,3386,91,2792,2806,
+ 470,1,2792,2806,2076,3376,546,415,2702,1870,
+ 3384,725,1579,117,3385,1,3385,3740,2022,253,
+ 284,3376,229,725,1612,1060,725,1245,233,30,
+ 1344,207,1959,1,321,319,317,852,42,3376,
+ 1259,1259,1259,201,1259,1259,3376,30,189,1129,
+ 189,189,1,1,185,3376,184,206,3376,3376,
+ 2680,117,3376,3381,3376,3376,1378,3376,3376,3376,
+ 3376,3376,3376,3376,3376,3376,3376,3383,3376,3376,
+ 3376,3376,3376,3376,3376,3376,3376,3376,3376,3376,
+ 3376,3376,1060,3376,3634,3376,3376,3376,3376,3376,
+ 3405,3376,6294,3376,3376,3376,3376,3376,3376,3376,
+ 3376,3376,3633,3376,3376,3376,3376,1546,616,3376,
+ 3376,794,3376,3376,3376,3376,3388,3387
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1355,45 +1360,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface Asb {
public final static char asb[] = {0,
- 60,1,392,54,60,311,26,3,38,309,
- 38,309,309,38,309,38,394,643,56,42,
- 94,56,353,319,309,568,568,309,568,56,
- 643,481,643,96,97,574,394,311,246,523,
- 522,643,105,354,341,374,548,548,548,548,
- 548,548,548,548,319,548,548,548,206,223,
- 228,226,234,230,237,236,239,238,240,311,
- 139,311,172,643,470,56,574,250,576,394,
- 56,182,56,353,247,546,546,546,546,247,
- 247,568,94,94,94,528,94,94,247,353,
- 103,548,103,54,374,481,481,607,548,374,
- 374,374,374,374,568,568,646,548,548,548,
- 548,548,548,548,548,548,548,548,548,548,
- 548,548,548,548,548,548,548,311,139,172,
- 172,470,417,576,253,341,417,212,319,481,
- 476,394,480,282,169,311,105,522,351,247,
- 548,247,247,247,247,372,372,548,428,548,
- 548,354,528,103,528,56,243,430,182,643,
- 571,479,478,481,481,481,481,481,481,341,
- 226,226,223,223,230,230,228,228,228,228,
- 236,234,238,237,103,239,139,169,344,139,
- 172,174,484,174,417,470,480,417,341,318,
- 250,548,548,548,548,548,548,548,548,548,
- 548,548,571,643,576,169,180,546,546,247,
- 546,247,481,94,481,481,353,528,548,180,
- 607,481,613,574,489,489,489,489,311,548,
- 139,346,174,169,548,568,470,58,548,548,
- 341,319,613,476,180,546,247,546,247,546,
- 247,546,528,548,528,528,180,481,576,169,
- 246,548,245,169,341,341,174,425,645,247,
- 546,645,247,546,546,247,646,247,481,352,
- 174,481,346,548,169,178,526,568,548,424,
- 528,481,645,645,247,528,481,645,645,247,
- 645,247,546,481,646,247,528,169,313,182,
- 341,568,548,528,528,481,528,481,645,528,
- 528,481,528,481,645,528,481,645,645,247,
- 528,481,341,528,528,528,481,528,528,528,
- 481,528,528,481,528,481,645,528,528,528,
- 528,528,528,481,528
+ 249,1,396,54,249,353,26,3,38,351,
+ 38,351,351,38,351,38,398,669,56,42,
+ 283,56,357,292,351,594,594,351,594,56,
+ 669,481,669,138,139,600,398,353,134,523,
+ 522,669,60,358,314,378,574,574,574,574,
+ 574,574,574,574,292,574,574,574,94,111,
+ 116,114,122,118,125,124,127,126,128,353,
+ 175,353,285,669,470,56,600,208,602,398,
+ 56,151,56,357,135,572,572,572,572,135,
+ 135,594,283,283,283,554,283,283,135,357,
+ 145,574,145,54,378,481,481,633,574,378,
+ 378,378,378,378,594,594,529,574,574,574,
+ 574,574,574,574,574,574,574,574,574,574,
+ 574,574,574,574,574,574,574,353,175,285,
+ 285,470,470,602,211,314,421,100,292,481,
+ 476,398,480,324,205,353,60,522,355,135,
+ 574,135,135,135,135,376,376,574,428,574,
+ 574,358,554,145,554,56,131,430,151,669,
+ 597,479,478,481,481,481,481,481,481,314,
+ 114,114,111,111,118,118,116,116,116,116,
+ 124,122,126,125,145,127,175,205,317,175,
+ 285,287,484,287,470,421,480,421,314,291,
+ 208,574,574,574,574,574,574,574,574,574,
+ 574,574,597,669,602,205,149,572,572,135,
+ 572,135,481,283,481,481,357,554,574,149,
+ 633,481,639,600,489,489,489,489,353,574,
+ 175,319,287,205,574,594,421,470,58,574,
+ 574,314,292,639,476,149,572,135,572,135,
+ 572,135,572,554,574,554,554,149,481,602,
+ 205,134,574,133,205,470,314,314,287,246,
+ 528,135,572,528,135,572,572,135,529,135,
+ 481,356,287,481,319,574,205,147,526,594,
+ 574,245,554,481,528,528,135,554,481,528,
+ 528,135,528,135,572,481,529,135,554,205,
+ 240,151,314,594,574,554,554,481,554,481,
+ 528,554,554,481,554,481,528,554,481,528,
+ 528,135,554,481,314,554,554,554,481,554,
+ 554,554,481,554,554,481,554,481,528,554,
+ 554,554,554,554,554,481,554
};
};
public final static char asb[] = Asb.asb;
@@ -1406,44 +1411,44 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
20,21,22,23,24,64,56,61,59,60,
58,57,62,63,65,66,67,55,74,71,
73,50,43,51,52,53,44,49,54,45,
- 46,47,48,25,5,4,2,1,0,87,
- 50,56,43,57,68,51,58,52,59,60,
- 53,44,61,62,49,69,54,70,63,64,
- 45,65,66,67,1,3,4,46,47,48,
- 25,5,26,2,0,2,5,75,71,73,
- 25,55,74,0,50,56,43,57,68,51,
+ 46,47,48,25,5,4,2,1,0,50,
+ 56,43,57,68,51,58,52,59,60,53,
+ 44,61,62,49,69,54,70,63,64,45,
+ 65,66,67,1,3,46,47,48,5,75,
+ 71,25,0,55,2,80,94,10,11,75,
+ 97,98,99,100,101,103,102,104,105,106,
+ 4,81,82,7,8,77,76,83,84,85,
+ 86,88,89,9,90,91,92,72,95,96,
+ 78,73,74,71,25,5,0,2,5,75,
+ 71,73,25,55,74,0,5,72,55,80,
+ 2,13,14,15,16,19,20,21,1,3,
+ 10,11,9,4,7,8,17,18,12,22,
+ 23,24,6,0,50,56,43,57,68,51,
58,52,59,60,53,44,61,62,49,69,
54,70,63,64,45,65,66,67,1,3,
- 46,47,48,5,75,71,25,0,50,56,
- 43,57,68,51,58,52,59,60,53,44,
- 61,62,49,69,54,70,63,64,45,65,
- 66,67,1,3,46,47,48,26,5,72,
- 0,1,3,5,72,71,0,5,72,55,
- 80,2,13,14,15,16,19,20,21,1,
- 3,10,11,9,4,7,8,17,18,12,
- 22,23,24,6,0,55,2,80,94,10,
- 11,75,97,98,99,100,101,103,102,104,
- 105,106,4,81,82,7,8,77,76,83,
- 84,85,86,88,89,9,90,91,92,72,
- 95,96,78,73,74,71,25,5,0,78,
- 5,49,43,44,45,46,47,48,10,11,
- 9,4,7,8,17,18,12,22,23,24,
- 2,1,3,13,14,15,16,19,20,21,
- 0,50,56,43,57,68,51,58,52,59,
- 60,53,44,61,62,49,69,54,70,63,
- 64,45,65,66,67,46,47,48,1,3,
- 6,0,5,71,72,25,0,49,10,11,
- 9,4,7,8,17,18,12,22,23,24,
- 2,1,3,13,14,15,16,19,20,21,
- 78,5,0,25,5,4,1,2,74,0,
- 87,93,72,30,31,6,35,37,32,28,
- 33,42,34,27,29,36,39,41,38,40,
- 26,25,5,12,13,14,15,16,10,11,
- 9,7,8,17,18,19,20,21,22,23,
- 24,4,2,1,3,68,69,70,64,56,
- 61,59,60,58,57,62,63,65,66,67,
- 54,51,49,50,53,52,46,48,47,43,
- 44,45,0,75,55,80,0,28,0,49,
+ 46,47,48,26,5,72,0,78,5,49,
+ 43,44,45,46,47,48,10,11,9,4,
+ 7,8,17,18,12,22,23,24,2,1,
+ 3,13,14,15,16,19,20,21,0,5,
+ 71,72,25,0,75,55,80,0,87,50,
+ 56,43,57,68,51,58,52,59,60,53,
+ 44,61,62,49,69,54,70,63,64,45,
+ 65,66,67,1,3,4,46,47,48,25,
+ 5,26,2,0,1,3,5,72,71,0,
+ 49,10,11,9,4,7,8,17,18,12,
+ 22,23,24,2,1,3,13,14,15,16,
+ 19,20,21,78,5,0,25,5,4,1,
+ 2,74,0,50,56,43,57,68,51,58,
+ 52,59,60,53,44,61,62,49,69,54,
+ 70,63,64,45,65,66,67,46,47,48,
+ 1,3,6,0,87,93,72,30,31,6,
+ 35,37,32,28,33,42,34,27,29,36,
+ 39,41,38,40,26,25,5,12,13,14,
+ 15,16,10,11,9,7,8,17,18,19,
+ 20,21,22,23,24,4,2,1,3,68,
+ 69,70,64,56,61,59,60,58,57,62,
+ 63,65,66,67,54,51,49,50,53,52,
+ 43,44,45,47,46,48,0,28,0,49,
54,53,52,51,50,80,94,10,11,9,
7,8,81,82,76,77,83,84,85,86,
88,89,90,91,92,95,96,75,97,98,
@@ -1453,21 +1458,21 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
7,8,81,82,76,77,83,84,85,86,
88,89,90,91,92,95,96,74,97,98,
99,100,101,102,103,104,105,106,78,73,
- 72,6,5,71,25,75,0,30,31,6,
- 35,37,32,28,33,42,34,27,29,36,
- 39,41,38,40,26,25,5,2,13,14,
- 15,16,19,20,21,10,11,9,4,7,
- 8,17,18,12,22,23,24,1,3,0,
- 4,2,55,73,5,50,56,43,57,68,
- 51,58,52,59,60,53,44,61,62,49,
- 69,54,70,63,64,45,65,66,67,1,
- 3,46,47,48,79,0,5,73,4,2,
- 55,0,50,56,43,57,68,51,58,52,
- 59,60,53,44,61,62,49,69,54,70,
- 63,64,45,65,66,67,1,3,46,47,
- 48,79,4,0,27,5,73,12,13,14,
- 15,16,1,3,2,10,11,9,4,7,
- 8,17,18,19,20,21,22,23,24,0
+ 72,6,5,71,25,75,0,27,5,73,
+ 12,13,14,15,16,1,3,2,10,11,
+ 9,4,7,8,17,18,19,20,21,22,
+ 23,24,0,30,31,6,35,37,32,28,
+ 33,42,34,27,29,36,39,41,38,40,
+ 26,25,5,2,13,14,15,16,19,20,
+ 21,10,11,9,4,7,8,17,18,12,
+ 22,23,24,1,3,0,4,2,55,73,
+ 5,50,56,43,57,68,51,58,52,59,
+ 60,53,44,61,62,49,69,54,70,63,
+ 64,45,65,66,67,1,3,46,47,48,
+ 79,0,5,73,4,2,55,0,50,56,
+ 43,57,68,51,58,52,59,60,53,44,
+ 61,62,49,69,54,70,63,64,45,65,
+ 66,67,1,3,46,47,48,79,4,0
};
};
public final static byte asr[] = Asr.asr;
@@ -1475,45 +1480,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface Nasb {
public final static char nasb[] = {0,
- 41,34,24,18,93,35,52,39,53,12,
- 53,82,82,53,81,53,47,166,138,34,
- 34,136,21,73,7,7,7,7,7,14,
- 34,162,166,45,45,161,134,35,19,34,
- 34,166,34,112,74,169,64,64,64,64,
- 64,64,64,64,73,64,64,64,34,34,
- 34,34,34,34,34,34,34,34,34,70,
- 134,34,134,34,134,155,161,72,122,57,
- 138,90,153,118,19,99,99,99,99,19,
- 19,7,34,34,34,142,34,34,19,21,
- 34,64,34,18,1,162,162,132,64,169,
- 169,169,169,169,37,37,9,100,64,64,
- 64,64,64,64,64,64,64,64,64,64,
- 64,64,64,64,64,100,64,34,177,134,
- 7,134,55,86,63,74,55,34,73,162,
- 130,27,34,76,134,34,34,34,34,19,
- 64,19,19,19,19,97,107,100,34,100,
- 100,112,142,34,142,138,34,34,64,166,
- 159,45,45,162,162,162,162,162,162,74,
- 34,34,34,34,34,34,34,34,34,34,
- 34,34,34,34,34,34,134,22,18,125,
- 7,103,34,34,55,66,162,55,74,73,
- 66,64,64,64,64,64,64,64,64,64,
- 64,64,129,166,122,22,134,99,99,19,
- 109,19,162,34,162,162,118,142,64,134,
- 149,162,164,161,34,34,34,34,34,64,
- 177,138,103,22,64,7,66,34,64,64,
- 74,73,164,147,62,99,19,99,19,99,
- 19,109,142,100,142,142,62,162,122,22,
- 19,64,34,22,74,74,103,68,173,19,
- 99,173,19,99,99,19,109,19,162,34,
- 103,162,138,64,22,61,34,7,64,105,
- 142,162,173,173,19,142,162,173,173,19,
- 173,19,99,162,109,19,142,22,84,90,
- 74,7,64,142,142,162,142,162,173,142,
- 142,162,142,162,173,142,162,173,173,19,
- 142,162,74,142,142,142,162,142,142,142,
- 162,142,142,162,142,162,173,142,142,142,
- 142,142,142,162,142
+ 92,33,23,48,14,34,56,18,57,36,
+ 57,60,60,57,59,57,51,178,156,33,
+ 33,154,20,72,7,7,7,7,7,44,
+ 33,174,178,62,62,173,148,34,49,33,
+ 33,178,33,120,73,38,67,67,67,67,
+ 67,67,67,67,72,67,67,67,33,33,
+ 33,33,33,33,33,33,33,33,33,90,
+ 148,33,148,33,130,167,173,71,136,116,
+ 156,85,165,132,49,105,105,105,105,49,
+ 49,7,33,33,33,160,33,33,49,20,
+ 33,67,33,48,1,174,174,146,67,38,
+ 38,38,38,38,42,42,9,106,67,67,
+ 67,67,67,67,67,67,67,67,67,67,
+ 67,67,67,67,67,106,67,33,81,148,
+ 7,130,148,77,66,73,12,33,72,174,
+ 144,26,33,98,148,33,33,33,33,49,
+ 67,49,49,49,49,103,109,106,33,106,
+ 106,120,160,33,160,156,33,33,67,178,
+ 171,62,62,174,174,174,174,174,174,73,
+ 33,33,33,33,33,33,33,33,33,33,
+ 33,33,33,33,33,33,148,21,48,150,
+ 7,114,33,33,148,12,174,12,73,72,
+ 69,67,67,67,67,67,67,67,67,67,
+ 67,67,143,178,136,21,148,105,105,49,
+ 111,49,174,33,174,174,132,160,67,148,
+ 128,174,176,173,33,33,33,33,33,67,
+ 81,156,114,21,67,7,12,69,33,67,
+ 67,73,72,176,126,65,105,49,105,49,
+ 105,49,111,160,106,160,160,65,174,136,
+ 21,49,67,33,21,69,73,73,114,96,
+ 139,49,105,139,49,105,105,49,111,49,
+ 174,33,114,174,156,67,21,64,33,7,
+ 67,88,160,174,139,139,49,160,174,139,
+ 139,49,139,49,105,174,111,49,160,21,
+ 75,85,73,7,67,160,160,174,160,174,
+ 139,160,160,174,160,174,139,160,174,139,
+ 139,49,160,174,73,160,160,160,174,160,
+ 160,160,174,160,160,174,160,174,139,160,
+ 160,160,160,160,160,174,160
};
};
public final static char nasb[] = Nasb.nasb;
@@ -1522,23 +1527,23 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface Nasr {
public final static char nasr[] = {0,
87,85,84,79,83,82,2,0,1,111,
- 0,112,0,40,42,43,0,1,3,0,
- 1,45,0,40,1,105,87,86,85,84,
- 79,83,82,0,109,0,94,0,126,0,
- 124,33,1,0,51,0,79,75,76,77,
- 78,67,52,0,80,0,33,1,125,0,
- 93,72,1,8,0,35,0,121,0,113,
- 0,1,8,39,0,1,33,50,17,0,
- 115,90,0,119,0,116,1,33,0,8,
- 72,0,33,1,107,0,33,50,3,1,
- 14,0,73,0,123,0,33,50,1,66,
- 0,1,33,2,18,97,0,18,2,74,
- 45,1,33,0,1,56,91,0,11,40,
- 47,63,64,1,0,49,42,47,40,1,
- 0,2,18,1,19,0,40,47,64,63,
- 43,0,42,49,40,47,43,0,63,64,
- 1,11,0,1,33,43,59,0,1,56,
- 14,0,1,44,11,0,100,1,56,0
+ 0,80,0,34,1,107,0,126,0,1,
+ 45,0,41,1,105,87,86,85,84,79,
+ 83,82,0,109,0,112,0,1,56,14,
+ 0,94,0,41,43,40,0,1,3,0,
+ 79,75,76,77,78,67,52,0,115,90,
+ 0,51,0,93,72,1,8,0,35,0,
+ 1,8,39,0,119,0,116,1,34,0,
+ 100,1,56,0,8,72,0,123,0,113,
+ 0,124,34,1,0,121,0,1,34,50,
+ 17,0,34,50,3,1,14,0,34,50,
+ 1,66,0,73,0,34,1,125,0,1,
+ 34,2,18,97,0,41,47,64,63,40,
+ 0,18,2,74,45,1,34,0,1,44,
+ 11,0,11,41,47,63,64,1,0,1,
+ 56,91,0,49,43,47,41,1,0,2,
+ 18,1,19,0,43,49,41,47,40,0,
+ 63,64,1,11,0,1,34,40,59,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -1565,18 +1570,18 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
0,113,112,0,0,0,0,115,119,120,
- 110,121,122,114,123,124,137,133,136,0,
+ 110,121,122,114,123,124,136,132,135,0,
0,0,0,0,0,125,126,127,128,129,
- 130,131,141,132,149,0,0,0,109,171,
- 0,174,0,197,111,168,170,0,172,140,
- 173,148,0,0,0,163,159,135,169,117,
- 182,185,186,187,0,0,151,158,0,175,
- 181,0,0,139,152,153,154,155,160,180,
- 184,143,144,145,146,147,150,156,157,0,
- 162,167,188,116,118,134,138,142,0,161,
- 165,0,0,166,176,179,193,0,195,0,
- 0,0,0,164,0,177,178,183,0,189,
- 190,0,191,192,194,196,0
+ 130,0,131,140,148,0,0,0,109,0,
+ 170,0,173,196,111,167,169,0,171,139,
+ 172,147,0,0,0,162,158,134,168,117,
+ 181,184,185,186,0,0,150,157,0,174,
+ 180,0,0,138,151,152,153,154,159,179,
+ 183,142,143,144,145,146,149,155,156,0,
+ 161,166,187,116,118,133,137,141,0,160,
+ 164,0,0,165,175,178,192,0,194,0,
+ 0,0,0,163,0,176,177,182,0,188,
+ 189,0,190,191,193,195,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -1611,11 +1616,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeLhs {
public final static char scopeLhs[] = {
77,75,8,77,51,51,75,68,22,65,
- 51,42,51,9,9,9,65,51,51,91,
+ 51,43,51,9,9,9,65,51,51,91,
17,9,8,8,51,51,32,51,126,123,
- 122,63,81,51,40,57,6,93,91,10,
- 23,8,91,86,85,84,83,82,42,49,
- 42
+ 122,63,81,51,41,57,6,93,91,10,
+ 23,8,91,86,85,84,83,82,43,49,
+ 43
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -1651,24 +1656,24 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public final static char scopeRhs[] = {0,
165,55,0,109,0,167,2,24,0,110,
0,167,2,23,0,167,2,22,0,227,
- 108,0,31,158,0,180,202,108,6,179,
+ 108,0,31,157,0,180,202,108,6,179,
0,111,0,0,177,108,2,170,0,177,
- 108,2,0,188,2,0,166,108,0,185,
- 0,213,108,55,0,9,109,0,141,49,
- 213,108,55,0,69,132,109,0,141,213,
- 108,49,55,0,213,108,49,55,0,132,
- 109,0,141,49,55,0,141,213,108,55,
- 0,141,55,0,147,0,2,0,177,110,
- 0,2,110,0,177,108,2,147,0,2,
- 0,175,110,0,164,2,0,168,0,180,
+ 108,2,0,188,2,0,166,108,0,184,
+ 0,213,108,55,0,9,109,0,140,49,
+ 213,108,55,0,69,131,109,0,140,213,
+ 108,49,55,0,213,108,49,55,0,131,
+ 109,0,140,49,55,0,140,213,108,55,
+ 0,140,55,0,148,0,2,0,176,110,
+ 0,2,110,0,177,108,2,148,0,2,
+ 0,174,110,0,164,2,0,167,0,180,
210,108,6,109,222,68,0,111,0,180,
210,108,6,222,68,0,163,0,112,0,
- 221,108,163,0,108,163,0,164,112,0,
+ 221,108,163,0,108,163,0,163,112,0,
206,108,6,220,109,219,186,0,206,108,
- 6,219,186,0,194,0,155,0,154,0,
- 153,0,152,0,151,0,126,32,0,77,
+ 6,219,186,0,194,0,154,0,153,0,
+ 152,0,151,0,150,0,126,32,0,77,
2,114,110,112,0,126,118,121,2,35,
- 0,53,136,0,204,108,6,0,121,96,
+ 0,53,135,0,204,108,6,0,121,96,
138,0,29,131,0,167,2,0,110,120,
0,167,2,12,0,180,202,108,6,118,
167,2,0,110,3,0,118,0,111,0,
@@ -1681,21 +1686,21 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeState {
public final static char scopeState[] = {0,
- 1363,0,663,0,3095,1701,3090,0,729,2580,
- 2554,2545,2519,2510,2484,2475,2449,2440,2414,2405,
- 2379,2370,2344,2335,2309,2300,2274,2265,2239,2230,
- 2204,2195,2169,2160,2134,2125,2099,2090,2064,2023,
- 1726,1997,1986,1692,1943,1658,1624,0,965,913,
- 569,528,2012,1866,1795,2821,1767,2887,0,3067,
- 3057,3036,3023,1948,1756,2868,2986,2855,1775,1906,
- 1862,2606,1969,2771,2757,2743,2729,2712,2681,2844,
- 830,2799,2785,2975,2964,2953,2937,2925,405,2914,
- 2903,2890,2028,1574,1541,1508,1475,1442,1409,1376,
- 1607,1343,1310,1277,1244,1211,1178,1145,1112,1079,
- 1046,1013,980,909,876,652,364,947,726,841,
- 794,761,617,544,509,0,472,0,384,421,
- 2012,2631,1779,2659,2609,1795,2587,1767,655,1853,
- 388,0,530,638,364,421,0
+ 833,0,869,0,1991,1902,749,0,1007,2601,
+ 2575,2566,2540,2531,2505,2496,2470,2461,2435,2426,
+ 2400,2391,2365,2356,2330,2321,2295,2286,2260,2251,
+ 2225,2216,2190,2181,2155,2146,2120,2111,2085,2076,
+ 1762,2050,2039,1727,1996,1664,1629,0,1144,936,
+ 667,613,1659,3086,1847,2854,1803,2932,0,3090,
+ 3059,3045,2661,2001,1669,2901,3031,2886,1813,1959,
+ 1917,2627,2022,2778,2761,2747,2733,2702,1870,2873,
+ 2862,2806,2792,3020,3009,2998,2980,2969,2851,2958,
+ 2947,2936,2921,1612,1579,1546,1513,1479,1445,1412,
+ 1378,1344,1310,1276,1242,1208,1174,1140,1106,1072,
+ 1038,1004,970,899,865,650,365,937,725,829,
+ 794,760,616,543,509,0,407,0,520,421,
+ 1659,2652,653,2680,2630,1847,2608,1803,546,1906,
+ 436,0,530,637,365,421,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1703,45 +1708,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface InSymb {
public final static char inSymb[] = {0,
- 0,217,108,140,231,212,189,47,190,186,
+ 0,217,108,141,231,212,189,47,190,186,
191,70,69,192,68,193,194,108,2,1,
- 147,108,6,55,219,197,197,222,197,166,
- 150,164,108,147,154,2,224,212,205,196,
- 149,108,156,108,165,2,24,23,22,12,
+ 148,108,6,55,219,197,197,222,197,166,
+ 147,164,108,148,154,2,224,212,205,196,
+ 150,108,156,108,165,2,24,23,22,12,
18,17,8,7,4,9,11,10,115,119,
122,120,133,123,135,134,137,136,138,109,
- 6,109,6,150,4,166,2,55,108,108,
+ 6,109,6,147,4,166,2,55,108,108,
71,75,166,204,40,38,41,39,36,29,
27,34,42,33,28,32,37,35,125,6,
- 31,30,109,140,108,167,121,163,4,2,
+ 31,30,109,141,108,167,121,163,4,2,
2,2,2,2,94,80,2,55,82,81,
4,76,77,8,7,89,88,86,85,84,
83,90,9,92,91,96,95,220,108,6,
- 108,4,108,108,49,141,108,116,4,177,
- 140,108,178,232,6,179,156,149,5,121,
+ 108,4,147,108,49,140,108,116,4,177,
+ 141,108,178,232,6,179,156,150,5,121,
108,121,121,121,109,2,2,2,126,2,
2,108,74,165,74,108,203,109,118,108,
2,171,170,167,167,167,167,167,218,121,
120,120,119,119,123,123,122,122,122,122,
134,133,136,135,121,137,6,206,163,207,
- 108,210,109,211,108,187,223,108,141,213,
+ 108,210,109,211,147,108,223,108,140,213,
187,106,105,104,102,103,101,100,99,98,
97,75,2,108,71,108,6,157,110,121,
157,173,121,28,121,121,204,74,71,6,
166,188,108,2,118,118,118,118,118,74,
- 108,108,210,180,75,71,187,71,213,49,
- 141,4,108,166,108,110,121,110,121,110,
- 173,110,118,2,118,118,108,177,108,206,
- 221,74,164,180,141,141,202,108,110,121,
- 110,110,121,110,110,121,110,173,121,126,
- 202,177,71,74,180,71,227,80,55,228,
- 118,151,110,110,121,118,151,110,110,121,
- 110,121,110,173,110,118,93,180,152,75,
- 165,80,55,118,118,151,118,151,110,118,
- 118,151,118,151,110,118,151,110,110,121,
- 118,173,165,118,118,118,151,118,118,118,
- 151,118,118,151,118,151,110,118,118,118,
- 118,118,118,151,118
+ 108,108,210,180,75,71,108,187,71,213,
+ 49,140,4,108,166,108,110,121,110,121,
+ 110,173,110,118,2,118,118,108,177,108,
+ 206,221,74,164,180,187,140,140,202,108,
+ 110,121,110,110,121,110,110,121,110,173,
+ 121,126,202,177,71,74,180,71,227,80,
+ 55,228,118,151,110,110,121,118,151,110,
+ 110,121,110,121,110,173,110,118,93,180,
+ 152,75,165,80,55,118,118,151,118,151,
+ 110,118,118,151,118,151,110,118,151,110,
+ 110,121,118,173,165,118,118,118,151,118,
+ 118,118,151,118,118,151,118,151,110,118,
+ 118,118,118,118,118,151,118
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1875,12 +1880,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_in_statement",
"expression_list_actual",
@@ -1969,20 +1973,20 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 385,
+ NUM_STATES = 387,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 3710,
+ LA_STATE_OFFSET = 3740,
MAX_LA = 2147483647,
- NUM_RULES = 363,
- NUM_NONTERMINALS = 127,
- NUM_SYMBOLS = 234,
+ NUM_RULES = 364,
+ NUM_NONTERMINALS = 128,
+ NUM_SYMBOLS = 235,
SEGMENT_SIZE = 8192,
- START_STATE = 479,
+ START_STATE = 850,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 87,
EOLT_SYMBOL = 87,
- ACCEPT_ACTION = 3322,
- ERROR_ACTION = 3347;
+ ACCEPT_ACTION = 3351,
+ ERROR_ACTION = 3376;
public final static boolean BACKTRACK = true;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java
index 570dc6feb6..ce1845c68b 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java
@@ -17,13 +17,20 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
@@ -37,7 +44,9 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser< IASTExpression >
+public class UPCSizeofExpressionParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTExpression >
+ , ISecondaryParser< IASTExpression >
{
private static ParseTable prs = new UPCSizeofExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -175,7 +184,11 @@ public class UPCSizeofExpressionParser extends PrsStream implements RuleAction ,
private UPCParserAction action;
private IASTCompletionNode compNode;
-public UPCSizeofExpressionParser() { // constructor
+
+public UPCSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) {
+ initActions(options);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
private void initActions(Set<IParser.Options> options) {
@@ -194,10 +207,9 @@ public void addToken(IToken token) {
}
-public IASTExpression parse(Set<IParser.Options> options) {
+public IASTExpression parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(options);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
@@ -240,12 +252,12 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, UPCSizeofExpressionParsersym.TK_EOF_TOKEN));
}
-public UPCSizeofExpressionParser(IParserActionTokenProvider parser) { // constructor
- tokenMap = new TokenMap(UPCSizeofExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
+public UPCSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser
+ initActions(options);
+ tokenMap = new TokenMap(UPCSizeofExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
}
-
public void ruleAction(int ruleNumber)
{
switch (ruleNumber)
@@ -258,1269 +270,1275 @@ public UPCSizeofExpressionParser(IParserActionTokenProvider parser) { // constr
}
//
- // Rule 12: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 13: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 14: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 15: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 17: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 17: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 18: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 18: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 21: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 22: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 23: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 24: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 26: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 27: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 42: cast_expression ::= ( type_id ) cast_expression
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 42: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 44: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 43: cast_expression ::= ( type_id ) cast_expression
//
- case 44: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 48: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 49: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 51: shift_expression ::= shift_expression << additive_expression
+ // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
//
- case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression >> additive_expression
+ // Rule 52: shift_expression ::= shift_expression << additive_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 54: relational_expression ::= relational_expression < shift_expression
+ // Rule 53: shift_expression ::= shift_expression >> additive_expression
//
- case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 55: relational_expression ::= relational_expression > shift_expression
+ // Rule 55: relational_expression ::= relational_expression < shift_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 56: relational_expression ::= relational_expression <= shift_expression
+ // Rule 56: relational_expression ::= relational_expression > shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression >= shift_expression
+ // Rule 57: relational_expression ::= relational_expression <= shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 59: equality_expression ::= equality_expression == relational_expression
+ // Rule 58: relational_expression ::= relational_expression >= shift_expression
//
- case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression != relational_expression
+ // Rule 60: equality_expression ::= equality_expression == relational_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 62: AND_expression ::= AND_expression & equality_expression
+ // Rule 61: equality_expression ::= equality_expression != relational_expression
//
- case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 64: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 63: and_expression ::= and_expression & equality_expression
//
- case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 66: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 68: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 70: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 72: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 72: { action. consumeExpressionConditional(); break;
+ case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 74: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 74: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 73: { action. consumeExpressionConditional(); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 75: assignment_expression ::= unary_expression = assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression += assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 87: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
//
- case 87: { action. consumeExpressionList(); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 89: expression_list_opt ::= $Empty
+ // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
//
- case 89: { action. consumeEmpty(); break;
+ case 88: { action. consumeExpressionList(); break;
}
//
- // Rule 99: statement ::= ERROR_TOKEN
+ // Rule 90: expression_list_opt ::= $Empty
//
- case 99: { action. consumeStatementProblem(); break;
+ case 90: { action. consumeEmpty(); break;
}
//
- // Rule 100: labeled_statement ::= identifier_token : statement
+ // Rule 100: statement ::= ERROR_TOKEN
//
- case 100: { action. consumeStatementLabeled(); break;
+ case 100: { action. consumeStatementProblem(); break;
}
//
- // Rule 101: labeled_statement ::= case constant_expression : statement
+ // Rule 101: labeled_statement ::= identifier_token : statement
//
- case 101: { action. consumeStatementCase(); break;
+ case 101: { action. consumeStatementLabeled(); break;
}
//
- // Rule 102: labeled_statement ::= default : statement
+ // Rule 102: labeled_statement ::= case constant_expression : statement
//
- case 102: { action. consumeStatementDefault(); break;
+ case 102: { action. consumeStatementCase(); break;
}
//
- // Rule 103: compound_statement ::= { }
+ // Rule 103: labeled_statement ::= default : statement
//
- case 103: { action. consumeStatementCompoundStatement(false); break;
+ case 103: { action. consumeStatementDefault(); break;
}
//
- // Rule 104: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 104: compound_statement ::= { }
//
- case 104: { action. consumeStatementCompoundStatement(true); break;
+ case 104: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 108: block_item ::= declaration
+ // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 108: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 105: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 109: expression_statement ::= ;
+ // Rule 109: block_item ::= declaration
//
- case 109: { action. consumeStatementNull(); break;
+ case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 110: expression_statement ::= expression_in_statement ;
+ // Rule 110: expression_statement ::= ;
//
- case 110: { action. consumeStatementExpression(); break;
+ case 110: { action. consumeStatementNull(); break;
}
//
- // Rule 111: selection_statement ::= if ( expression ) statement
+ // Rule 111: expression_statement ::= expression_in_statement ;
//
- case 111: { action. consumeStatementIf(false); break;
+ case 111: { action. consumeStatementExpression(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement else statement
+ // Rule 112: selection_statement ::= if ( expression ) statement
//
- case 112: { action. consumeStatementIf(true); break;
+ case 112: { action. consumeStatementIf(false); break;
}
//
- // Rule 113: selection_statement ::= switch ( expression ) statement
+ // Rule 113: selection_statement ::= if ( expression ) statement else statement
//
- case 113: { action. consumeStatementSwitch(); break;
+ case 113: { action. consumeStatementIf(true); break;
}
//
- // Rule 115: expression_opt ::= $Empty
+ // Rule 114: selection_statement ::= switch ( expression ) statement
//
- case 115: { action. consumeEmpty(); break;
+ case 114: { action. consumeStatementSwitch(); break;
}
//
- // Rule 116: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 116: expression_opt ::= $Empty
//
- case 116: { action. consumeStatementDoLoop(); break;
+ case 116: { action. consumeEmpty(); break;
}
//
- // Rule 117: iteration_statement ::= while ( expression ) statement
+ // Rule 117: iteration_statement ::= do statement while ( expression ) ;
//
- case 117: { action. consumeStatementWhileLoop(); break;
+ case 117: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 118: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 118: iteration_statement ::= while ( expression ) statement
//
- case 118: { action. consumeStatementForLoop(); break;
+ case 118: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 119: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 119: { action. consumeStatementForLoop(); break;
}
//
- // Rule 120: jump_statement ::= goto identifier_token ;
+ // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 120: { action. consumeStatementGoto(); break;
+ case 120: { action. consumeStatementForLoop(); break;
}
//
- // Rule 121: jump_statement ::= continue ;
+ // Rule 121: jump_statement ::= goto identifier_token ;
//
- case 121: { action. consumeStatementContinue(); break;
+ case 121: { action. consumeStatementGoto(); break;
}
//
- // Rule 122: jump_statement ::= break ;
+ // Rule 122: jump_statement ::= continue ;
//
- case 122: { action. consumeStatementBreak(); break;
+ case 122: { action. consumeStatementContinue(); break;
}
//
- // Rule 123: jump_statement ::= return ;
+ // Rule 123: jump_statement ::= break ;
//
- case 123: { action. consumeStatementReturn(false); break;
+ case 123: { action. consumeStatementBreak(); break;
}
//
- // Rule 124: jump_statement ::= return expression ;
+ // Rule 124: jump_statement ::= return ;
//
- case 124: { action. consumeStatementReturn(true); break;
+ case 124: { action. consumeStatementReturn(false); break;
}
//
- // Rule 125: declaration ::= declaration_specifiers ;
+ // Rule 125: jump_statement ::= return expression ;
//
- case 125: { action. consumeDeclarationSimple(false); break;
+ case 125: { action. consumeStatementReturn(true); break;
}
//
- // Rule 126: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 126: declaration ::= declaration_specifiers ;
//
- case 126: { action. consumeDeclarationSimple(true); break;
+ case 126: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 127: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 127: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 127: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 128: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 128: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 128: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 131: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 156: init_declarator ::= complete_declarator = initializer
+ // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 156: { action. consumeDeclaratorWithInitializer(true); break;
+ case 132: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 158: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 157: init_declarator ::= complete_declarator = initializer
//
- case 158: { action. consumeToken(); break;
+ case 157: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 164: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 159: storage_class_specifier ::= storage_class_specifier_token
//
- case 164: { action. consumeToken(); break;
+ case 159: { action. consumeToken(); break;
}
//
- // Rule 177: type_name_specifier ::= identifier_token
+ // Rule 165: simple_type_specifier ::= simple_type_specifier_token
//
- case 177: { action. consumeToken(); break;
+ case 165: { action. consumeToken(); break;
}
//
- // Rule 178: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 178: type_name_specifier ::= identifier_token
//
- case 178: { action. consumeTypeSpecifierComposite(false); break;
+ case 178: { action. consumeToken(); break;
}
//
- // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 179: { action. consumeTypeSpecifierComposite(true); break;
+ case 179: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 184: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 184: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 180: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 185: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 186: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 192: { action. consumeStructDeclaration(true); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 193: { action. consumeStructDeclaration(false); break;
+ case 193: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 194: struct_declaration ::= ERROR_TOKEN
+ // Rule 194: struct_declaration ::= specifier_qualifier_list ;
//
- case 194: { action. consumeDeclarationProblem(); break;
+ case 194: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 200: struct_declarator ::= : constant_expression
+ // Rule 195: struct_declaration ::= ERROR_TOKEN
//
- case 200: { action. consumeBitField(false); break;
+ case 195: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 201: struct_declarator ::= declarator : constant_expression
+ // Rule 201: struct_declarator ::= : constant_expression
//
- case 201: { action. consumeBitField(true); break;
+ case 201: { action. consumeBitField(false); break;
}
//
- // Rule 202: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 202: struct_declarator ::= declarator : constant_expression
//
- case 202: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 202: { action. consumeBitField(true); break;
}
//
- // Rule 203: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 203: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 203: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 209: enumerator ::= identifier_token
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 209: { action. consumeEnumerator(false); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 210: enumerator ::= identifier_token = constant_expression
+ // Rule 210: enumerator ::= identifier_token
//
- case 210: { action. consumeEnumerator(true); break;
+ case 210: { action. consumeEnumerator(false); break;
}
//
- // Rule 211: type_qualifier ::= type_qualifier_token
+ // Rule 211: enumerator ::= identifier_token = constant_expression
//
- case 211: { action. consumeToken(); break;
+ case 211: { action. consumeEnumerator(true); break;
}
//
- // Rule 215: function_specifier ::= inline
+ // Rule 212: type_qualifier ::= type_qualifier_token
//
- case 215: { action. consumeToken(); break;
+ case 212: { action. consumeToken(); break;
}
//
- // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 216: function_specifier ::= inline
//
- case 217: { action. consumeDeclaratorWithPointer(true); break;
+ case 216: { action. consumeToken(); break;
}
//
- // Rule 222: basic_direct_declarator ::= declarator_id_name
+ // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 222: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 218: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 223: basic_direct_declarator ::= ( declarator )
+ // Rule 223: basic_direct_declarator ::= declarator_id_name
//
- case 223: { action. consumeDirectDeclaratorBracketed(); break;
+ case 223: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 224: declarator_id_name ::= identifier
+ // Rule 224: basic_direct_declarator ::= ( declarator )
//
- case 224: { action. consumeIdentifierName(); break;
+ case 224: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 225: declarator_id_name ::= identifier
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 225: { action. consumeIdentifierName(); break;
}
//
- // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 231: { action. consumeDeclaratorWithPointer(true); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 232: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 234: { action. consumeDeclaratorWithPointer(true); break;
+ case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 235: identifier_list ::= identifier
+ // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 235: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 236: identifier_list ::= identifier_list , identifier
+ // Rule 236: identifier_list ::= identifier
//
case 236: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 237: array_modifier ::= [ ]
+ // Rule 237: identifier_list ::= identifier_list , identifier
//
- case 237: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 238: array_modifier ::= [ ]
//
- case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 238: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 239: array_modifier ::= [ assignment_expression ]
+ // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 240: array_modifier ::= [ assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 241: array_modifier ::= [ static assignment_expression ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 242: array_modifier ::= [ static assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 244: array_modifier ::= [ * ]
+ // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 245: array_modifier ::= [ * ]
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 247: pointer_seq ::= pointer_hook *
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 247: { action. consumePointer(); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 248: pointer_seq ::= pointer_seq pointer_hook *
+ // Rule 248: pointer_seq ::= pointer_hook * pointer_hook
//
case 248: { action. consumePointer(); break;
}
//
- // Rule 249: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 249: { action. consumePointer(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
case 250: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 254: parameter_type_list ::= parameter_list
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 254: { action. consumeEmpty(); break;
+ case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 255: parameter_type_list ::= parameter_list , ...
+ // Rule 255: parameter_type_list ::= parameter_list
//
- case 255: { action. consumePlaceHolder(); break;
+ case 255: { action. consumeEmpty(); break;
}
//
- // Rule 256: parameter_type_list ::= ...
+ // Rule 256: parameter_type_list ::= parameter_list , ...
//
case 256: { action. consumePlaceHolder(); break;
}
//
- // Rule 259: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 257: parameter_type_list ::= ...
//
- case 259: { action. consumeParameterDeclaration(); break;
+ case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 260: parameter_declaration ::= declaration_specifiers
+ // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 260: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 260: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 263: type_id ::= specifier_qualifier_list
+ // Rule 261: parameter_declaration ::= declaration_specifiers
//
- case 263: { action. consumeTypeId(false); break;
+ case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 264: type_id ::= specifier_qualifier_list abstract_declarator
+ // Rule 264: type_id ::= specifier_qualifier_list
//
- case 264: { action. consumeTypeId(true); break;
+ case 264: { action. consumeTypeId(false); break;
}
//
- // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 266: { action. consumeDeclaratorWithPointer(false); break;
+ case 265: { action. consumeTypeId(true); break;
}
//
- // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq
//
case 267: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 271: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 271: { action. consumeDirectDeclaratorBracketed(); break;
+ case 268: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= array_modifier
+ // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 272: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 273: array_direct_abstract_declarator ::= array_modifier
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 274: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= ( )
+ // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
//
- // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 276: function_direct_abstract_declarator ::= ( )
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
- }
+ case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
//
- // Rule 277: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 279: initializer ::= assignment_expression
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeInitializer(); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 280: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 280: initializer ::= assignment_expression
//
- case 280: { action. consumeInitializerList(); break;
+ case 280: { action. consumeInitializer(); break;
}
//
- // Rule 281: initializer ::= { <openscope-ast> }
+ // Rule 281: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
case 281: { action. consumeInitializerList(); break;
}
//
- // Rule 282: start_initializer_list ::= $Empty
+ // Rule 282: initializer ::= { <openscope-ast> }
//
- case 282: { action. initializerListStart(); break;
+ case 282: { action. consumeInitializerList(); break;
}
//
- // Rule 283: end_initializer_list ::= $Empty
+ // Rule 283: start_initializer_list ::= $Empty
//
- case 283: { action. initializerListEnd(); break;
+ case 283: { action. initializerListStart(); break;
}
//
- // Rule 288: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 284: end_initializer_list ::= $Empty
//
- case 288: { action. consumeInitializerDesignated(); break;
+ case 284: { action. initializerListEnd(); break;
}
//
- // Rule 292: designator_base ::= [ constant_expression ]
+ // Rule 289: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 292: { action. consumeDesignatorArray(); break;
+ case 289: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 293: designator_base ::= . identifier_token
+ // Rule 293: designator_base ::= [ constant_expression ]
//
- case 293: { action. consumeDesignatorField(); break;
+ case 293: { action. consumeDesignatorArray(); break;
}
//
- // Rule 294: designator ::= [ constant_expression ]
+ // Rule 294: designator_base ::= . identifier_token
//
- case 294: { action. consumeDesignatorArray(); break;
+ case 294: { action. consumeDesignatorField(); break;
}
//
- // Rule 295: designator ::= . identifier_token
+ // Rule 295: designator ::= [ constant_expression ]
//
- case 295: { action. consumeDesignatorField(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 296: translation_unit ::= external_declaration_list
+ // Rule 296: designator ::= . identifier_token
//
- case 296: { action. consumeTranslationUnit(); break;
- }
+ case 296: { action. consumeDesignatorField(); break;
+ }
//
- // Rule 297: translation_unit ::= $Empty
+ // Rule 297: translation_unit ::= external_declaration_list
//
case 297: { action. consumeTranslationUnit(); break;
- }
+ }
//
- // Rule 302: external_declaration ::= ;
+ // Rule 298: translation_unit ::= $Empty
//
- case 302: { action. consumeDeclarationEmpty(); break;
+ case 298: { action. consumeTranslationUnit(); break;
}
//
- // Rule 303: external_declaration ::= ERROR_TOKEN
+ // Rule 303: external_declaration ::= ;
//
- case 303: { action. consumeDeclarationProblem(); break;
+ case 303: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 304: external_declaration ::= ERROR_TOKEN
//
- case 306: { action. consumeFunctionDefinition(true); break;
+ case 304: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 307: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 307: { action. consumeFunctionDefinition(false); break;
+ case 307: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 308: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 308: { action. consumeFunctionDefinitionKnR(); break;
+ case 308: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 309: function_body ::= { }
+ // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 309: { action. consumeStatementCompoundStatement(false); break;
+ case 309: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 310: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 310: function_body ::= { }
//
- case 310: { action. consumeStatementCompoundStatement(true); break;
+ case 310: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 312: no_sizeof_type_id_start ::= ERROR_TOKEN
+ // Rule 311: function_body ::= { <openscope-ast> block_item_list }
//
- case 312: { action. consumeEmpty(); break;
+ case 311: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 313: literal ::= MYTHREAD
+ // Rule 313: no_sizeof_type_id_start ::= ERROR_TOKEN
//
- case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 313: { action. consumeEmpty(); break;
}
//
- // Rule 314: literal ::= THREADS
+ // Rule 314: literal ::= MYTHREAD
//
- case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 315: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 315: literal ::= THREADS
//
- case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 316: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 316: literal ::= UPC_MAX_BLOCKSIZE
//
- case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 317: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 317: unary_expression ::= upc_localsizeof unary_expression
//
- case 317: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 317: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 318: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 318: unary_expression ::= upc_blocksizeof unary_expression
//
- case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 322: shared_type_qualifier ::= shared
+ // Rule 319: unary_expression ::= upc_elemsizeof unary_expression
//
- case 322: { action. consumeToken(); break;
+ case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 323: reference_type_qualifier ::= relaxed
+ // Rule 323: shared_type_qualifier ::= shared
//
case 323: { action. consumeToken(); break;
}
//
- // Rule 324: reference_type_qualifier ::= strict
+ // Rule 324: reference_type_qualifier ::= relaxed
//
case 324: { action. consumeToken(); break;
}
//
- // Rule 325: layout_qualifier ::= [ constant_expression ]
+ // Rule 325: reference_type_qualifier ::= strict
+ //
+ case 325: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 326: layout_qualifier ::= [ constant_expression ]
//
- case 325: { action. consumeLayoutQualifier(true, false); break;
+ case 326: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 326: layout_qualifier ::= [ * ]
+ // Rule 327: layout_qualifier ::= [ * ]
//
- case 326: { action. consumeLayoutQualifier(false, true); break;
+ case 327: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 327: layout_qualifier ::= [ ]
+ // Rule 328: layout_qualifier ::= [ ]
//
- case 327: { action. consumeLayoutQualifier(false, false); break;
+ case 328: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 329: synchronization_statement ::= upc_notify expression ;
+ // Rule 330: synchronization_statement ::= upc_notify expression ;
//
- case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 330: synchronization_statement ::= upc_notify ;
+ // Rule 331: synchronization_statement ::= upc_notify ;
//
- case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 331: synchronization_statement ::= upc_wait expression ;
+ // Rule 332: synchronization_statement ::= upc_wait expression ;
//
- case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 332: synchronization_statement ::= upc_wait ;
+ // Rule 333: synchronization_statement ::= upc_wait ;
//
- case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 333: synchronization_statement ::= upc_barrier expression ;
+ // Rule 334: synchronization_statement ::= upc_barrier expression ;
//
- case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 334: synchronization_statement ::= upc_barrier ;
+ // Rule 335: synchronization_statement ::= upc_barrier ;
//
- case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 335: synchronization_statement ::= upc_fence ;
+ // Rule 336: synchronization_statement ::= upc_fence ;
//
- case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 336: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 337: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 337: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 338: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 338: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 339: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 339: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 340: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 341: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 341: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 342: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 342: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 345: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 346: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 347: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 348: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 349: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 350: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 353: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 354: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 355: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 355: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 356: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 356: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 356: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 357: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 357: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 357: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 358: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 358: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 358: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 359: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 359: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 361: affinity ::= continue
+ // Rule 362: affinity ::= continue
//
- case 361: { action. consumeToken(); break;
+ case 362: { action. consumeToken(); break;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java
index 85a0e37b13..bc26316607 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java
@@ -35,196 +35,196 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3,1,1,
- 4,4,3,3,2,2,8,1,0,1,
- 1,2,2,2,2,2,2,2,2,2,
- 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,
- 4,3,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,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,8,1,0,
+ 1,1,2,2,2,2,2,2,2,2,
+ 2,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,4,3,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,6,8,0,
- 0,1,1,3,3,3,0,1,0,1,
- 2,4,2,1,1,1,3,1,1,2,
- 3,7,8,0,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,2,3,4,5,
- 0,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,7,
- 3,0,0,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,2,2,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,-39,0,0,0,0,0,0,0,0,
- 0,0,-2,0,0,0,0,0,0,0,
- 0,0,-4,0,0,0,0,-84,-77,-17,
- 0,0,0,0,-125,0,0,0,0,0,
+ 1,1,1,1,1,1,1,1,6,8,
+ 0,0,1,1,3,3,3,0,1,0,
+ 1,2,4,2,1,1,1,3,1,1,
+ 2,3,7,8,0,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,3,4,5,
+ 6,0,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,
+ 7,3,0,0,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,2,2,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,-39,0,0,0,0,0,0,0,
+ 0,0,0,-163,0,0,0,0,0,0,
+ 0,0,0,-2,0,0,0,0,-119,0,
+ -4,-77,0,0,0,0,-57,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-19,-78,
- -80,-81,-36,0,0,0,0,0,-9,0,
+ 0,0,0,0,-32,0,0,-144,0,0,
+ -84,-80,-120,0,0,0,0,0,0,-9,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-125,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-10,0,0,0,
- 0,0,0,0,0,-119,0,-20,0,-191,
+ 0,0,0,0,0,-191,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-58,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-114,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-17,
+ 0,-162,0,0,-121,0,0,0,-5,0,
+ 0,0,0,0,0,0,-85,-33,0,0,
-164,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-52,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-134,0,-37,-21,-108,
- 0,-114,0,0,0,0,0,0,0,0,
- 0,-120,0,0,-22,0,-70,0,0,0,
- 0,0,0,0,0,0,0,0,-71,-72,
- 0,-57,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-121,0,0,-122,0,0,0,0,
- 0,0,-40,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-75,0,0,
+ 0,-134,0,-167,0,0,0,0,0,0,
+ 0,0,0,0,-131,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-122,0,-81,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-187,
+ -19,0,-20,0,-21,-181,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-22,0,
+ 0,0,0,0,0,0,0,0,-40,0,
0,0,0,0,0,0,0,0,0,0,
- -112,0,0,0,0,0,0,0,0,0,
- -3,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-75,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-123,0,-58,0,0,0,0,0,0,
+ 0,0,0,0,0,-187,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-111,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-3,0,0,0,
+ 0,0,0,0,0,0,0,-78,0,0,
+ 0,0,0,0,0,0,0,-123,0,-54,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-85,-129,-118,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-111,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-49,0,0,0,
- 0,0,0,0,0,0,-130,0,0,0,
+ 0,0,0,0,0,0,0,0,-23,-72,
+ -118,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-30,0,
+ 0,0,-49,0,0,0,0,0,0,0,
+ 0,0,-130,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-59,
+ 0,0,0,0,-30,0,0,0,0,0,
+ 0,0,0,0,0,-112,0,0,0,0,
+ 0,0,0,0,0,-59,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -137,0,0,0,0,0,0,0,0,0,
- -60,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-60,0,0,0,
+ 0,0,0,0,0,0,0,-129,0,0,
+ 0,0,0,0,0,0,0,-61,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-61,0,0,0,0,0,0,0,0,
- 0,0,-151,0,0,0,0,0,0,0,
- 0,0,-62,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-62,0,
+ 0,0,0,0,0,0,0,0,0,-137,
+ 0,0,0,0,0,0,0,0,0,-63,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-63,0,0,0,0,0,0,
- 0,0,0,0,-173,0,0,0,0,0,
- 0,0,0,0,-64,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-65,0,0,0,0,
- 0,0,0,0,0,0,-174,0,0,0,
- 0,0,0,0,0,0,-66,0,0,0,
+ -64,0,0,0,0,0,0,0,0,0,
+ 0,-151,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,0,0,0,0,0,0,-67,0,0,
- 0,0,0,0,0,0,0,0,-188,0,
- 0,0,0,0,0,0,0,0,-68,0,
+ 0,0,-66,0,0,0,0,0,0,0,
+ 0,0,0,-173,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,0,0,0,0,0,0,-69,
+ 0,0,0,0,-68,0,0,0,0,0,
+ 0,0,0,0,0,-174,0,0,0,0,
+ 0,0,0,0,0,-69,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -139,0,0,0,0,0,0,0,0,0,
- -149,0,0,0,0,0,0,0,0,0,
- 0,-200,0,0,0,0,0,0,0,0,
- 0,-150,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-124,0,0,0,
+ 0,0,0,0,0,0,0,-188,0,0,
+ 0,0,0,0,0,0,0,-149,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-167,0,0,0,0,0,0,0,
- 0,0,0,-23,0,0,0,0,0,0,
- 0,0,-190,0,0,0,0,0,0,0,
- 0,0,0,-127,0,0,0,0,0,0,
- 0,0,0,-24,0,0,-11,0,0,0,
- 0,0,0,0,-198,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-150,0,
+ 0,0,0,0,0,0,0,0,0,-24,
+ 0,0,0,0,0,0,0,0,0,-190,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-206,0,0,0,0,0,
- 0,0,0,0,0,-140,0,0,0,0,
- 0,0,0,0,-32,0,0,0,-12,0,
- 0,0,0,0,0,0,-214,0,0,0,
+ -127,0,0,0,0,0,0,0,0,-199,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-124,0,0,0,
- 0,0,0,0,0,0,0,-87,0,0,
- 0,0,0,0,0,0,-89,0,-115,0,
- -54,0,0,0,0,0,0,0,0,0,
- 0,-34,0,0,0,0,0,-25,0,0,
- 0,0,0,-144,0,0,0,0,0,-133,
- -50,0,0,0,0,0,0,0,0,0,
- 0,-41,0,0,0,0,0,0,0,0,
- 0,-74,0,0,0,-199,0,0,0,0,
- 0,0,0,-83,0,0,0,0,0,0,
- 0,-153,-117,0,0,0,0,-132,0,-33,
+ -108,0,0,0,0,0,0,0,0,0,
+ -25,0,0,-10,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,
- -143,-26,0,0,0,0,-163,0,0,0,
- -184,0,0,0,-148,-82,0,0,0,0,
- 0,0,0,-166,0,0,0,0,0,-178,
+ 0,-216,0,0,0,0,0,0,0,0,
+ 0,0,-140,0,0,0,0,0,0,0,
+ 0,-166,0,0,0,-89,0,-55,0,0,
+ 0,0,0,0,0,0,0,0,-113,0,
+ 0,0,-169,-26,0,-27,-82,0,0,0,
+ 0,-36,-154,-200,0,0,0,0,0,-37,
+ 0,0,0,0,-133,-50,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-74,0,
+ 0,0,-142,-145,-28,0,-117,0,0,0,
+ 0,0,0,0,0,-153,0,0,-139,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-55,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-189,0,
- -195,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-51,0,0,
- 0,0,0,0,0,0,0,0,-156,0,
- 0,-213,-209,-35,-56,0,0,0,0,0,
- 0,0,0,-27,0,0,0,-28,-29,0,
- -53,0,0,0,0,0,0,0,0,0,
- 0,0,0,-142,-90,0,0,0,0,0,
- 0,0,0,-215,0,0,0,-154,-91,0,
- 0,0,0,0,0,0,-5,0,0,0,
- 0,0,0,0,-45,0,0,0,0,0,
- 0,0,0,0,0,0,0,-92,0,0,
- 0,0,0,0,0,0,0,-46,0,0,
- 0,0,0,0,0,0,0,0,-47,0,
- 0,0,0,0,0,0,0,0,0,-48,
+ 0,0,0,0,-6,0,0,0,0,0,
+ 0,0,0,0,0,-147,0,-29,-178,0,
+ 0,0,0,0,0,0,0,0,-143,0,
+ 0,0,0,-155,0,-41,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-180,-196,
+ 0,-70,-207,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-51,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -79,-208,-13,0,0,0,0,0,0,0,
- -145,-168,0,-205,-169,-147,-93,-76,-155,-216,
- -94,0,0,0,0,0,0,-158,0,0,
- 0,0,0,-175,-95,-96,0,0,0,0,
- 0,0,0,0,-86,0,0,-161,0,-170,
- 0,-97,-202,0,0,-196,0,-88,0,0,
- 0,0,0,0,0,-98,0,0,0,0,
- -99,-100,-179,0,0,0,0,0,0,0,
- 0,0,0,0,0,-109,0,0,0,0,
- -138,0,0,0,0,0,0,0,-152,0,
- 0,0,0,0,0,0,-38,-203,0,-101,
- -201,0,0,0,-102,-103,0,0,0,0,
- -14,0,0,0,0,0,0,0,-180,0,
- 0,0,0,0,0,-42,0,0,0,0,
- 0,0,0,-6,0,0,0,0,0,0,
- 0,0,0,0,-43,0,0,0,0,0,
- 0,0,0,0,-104,-105,0,-44,0,0,
- 0,0,0,0,0,-73,0,0,0,0,
- 0,0,0,-116,-131,-177,-176,-7,0,0,
- 0,0,0,0,0,-106,0,0,-8,0,
- 0,0,0,0,0,-107,0,0,0,0,
- 0,0,-110,0,-197,-204,0,-126,-135,0,
- -15,0,0,0,0,0,0,-16,0,0,
- 0,0,0,0,0,0,-18,0,0,-31,
- 0,-141,0,0,-146,0,-113,0,0,0,
- 0,-181,-128,-160,-159,-165,-193,-185,-210,-162,
- 0,-194,0,0,0,-186,0,0,0,0,
- 0,0,0,-171,0,0,0,0,0,-207,
- 0,0,-1,0,0,-211,0,0,0,0,
- -136,-182,0,0,-212,0,0,0,0,-183,
+ 0,0,0,-90,0,0,0,0,0,0,
+ 0,-7,0,0,0,0,0,0,0,-52,
0,0,0,0,0,0,0,0,0,0,
+ -109,0,-53,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-215,-8,0,0,0,
+ 0,0,0,0,0,-168,0,-201,0,0,
+ -189,0,0,-45,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-184,
+ 0,0,0,0,0,0,0,-15,0,0,
+ 0,0,0,0,0,-46,0,0,0,0,
+ 0,0,0,0,0,0,-47,0,0,0,
+ 0,0,0,0,0,0,0,-48,0,0,
+ 0,0,0,0,0,0,0,0,-79,0,
+ 0,-210,0,-138,0,0,0,0,0,0,
+ 0,-91,0,-16,0,0,0,0,0,0,
+ 0,0,0,0,0,-71,0,-197,0,0,
+ 0,0,-76,-217,-160,-148,0,0,0,0,
+ 0,0,0,0,-218,0,0,-92,-87,-93,
+ 0,0,0,-156,0,-177,-161,-115,0,-94,
+ 0,0,0,-83,-132,-158,0,0,0,0,
+ 0,0,0,0,0,-86,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-88,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-157,0,0,0,
- 0,0,-172,0,0,0,0,0,-192,0,
+ 0,-95,0,-96,0,0,0,0,0,-198,
+ -97,0,0,0,0,0,0,0,-98,0,
+ 0,0,0,-152,0,0,0,0,0,0,
+ 0,-11,0,0,0,0,0,0,0,-183,
+ 0,0,0,0,0,-12,0,0,0,0,
+ 0,0,0,-13,0,0,0,0,0,0,
+ 0,-14,0,0,0,0,0,0,0,-38,
+ -42,0,0,0,0,0,0,0,-202,-99,
+ 0,-43,0,0,0,0,0,0,0,-44,
+ 0,0,0,0,0,0,0,0,-73,0,
+ 0,0,0,0,0,0,-116,-170,0,-176,
+ -34,-171,-100,0,0,0,0,0,0,-179,
+ 0,0,0,-128,-175,0,0,-204,-18,0,
+ 0,0,-31,0,-101,0,0,-102,0,0,
+ -194,-103,-104,0,-105,0,0,0,0,-106,
+ 0,0,0,0,-107,0,-206,0,0,0,
+ 0,0,-195,0,-136,0,0,0,0,-110,
+ 0,-172,-1,0,0,0,0,-205,0,-212,
+ 0,0,0,0,-192,-213,-126,-135,-211,0,
+ 0,0,0,0,0,0,0,0,-141,0,
+ 0,0,-193,0,-182,0,0,0,0,0,
+ -146,0,0,0,0,0,0,0,-159,0,
+ 0,0,-35,0,0,0,0,0,-203,0,
+ 0,0,-56,0,-165,0,-157,-185,-186,0,
+ -209,-214,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,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;
@@ -234,198 +234,198 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 89,11,21,21,26,26,34,34,71,71,
- 1,1,2,2,2,2,3,3,3,4,
- 5,5,5,5,5,5,5,5,53,53,
- 72,6,6,6,6,6,6,6,6,6,
- 6,7,7,8,8,8,8,9,9,9,
- 10,10,10,12,12,12,12,12,13,13,
- 13,14,14,15,15,16,16,17,17,18,
- 18,19,19,20,20,20,20,20,20,20,
- 20,20,20,20,20,104,48,42,90,90,
- 75,75,43,105,105,105,105,105,105,105,
- 106,106,106,107,107,112,112,113,113,108,
- 108,109,109,109,115,115,110,110,110,110,
- 111,111,111,111,111,114,114,27,27,27,
- 27,27,29,29,29,81,81,76,76,76,
- 76,77,77,77,78,78,78,79,79,79,
- 80,80,80,116,116,117,117,118,30,32,
- 32,32,32,32,54,56,56,56,56,56,
- 56,56,56,56,56,56,56,65,62,62,
- 91,92,66,66,63,63,63,67,82,82,
- 83,83,68,68,68,50,93,93,84,85,
- 85,85,64,64,94,86,86,87,87,69,
- 69,22,23,23,23,31,49,49,35,35,
- 35,35,38,38,40,36,36,37,41,41,
- 119,119,39,120,120,95,95,28,28,28,
- 28,28,28,28,28,28,88,51,51,51,
- 51,33,58,58,57,57,57,59,59,52,
- 52,96,96,73,73,60,60,60,44,44,
- 44,45,46,46,46,47,47,47,47,55,
- 55,55,61,97,74,74,74,74,70,98,
- 99,99,100,100,101,101,121,121,122,122,
- 123,123,123,123,125,125,124,124,124,126,
- 126,89,89,2,2,2,6,6,6,22,
- 22,24,24,25,25,102,102,102,105,127,
- 127,127,127,127,127,127,110,110,110,110,
- 110,110,110,110,110,110,110,110,110,110,
- 110,110,110,110,110,110,110,110,110,110,
- 128,128,1,1425,16,20,17,390,1409,43,
- 468,419,545,324,529,1104,1074,1302,1228,1408,
- 1404,73,90,329,133,211,319,320,455,248,
- 877,135,132,134,158,590,19,16,20,17,
- 390,1409,43,468,419,545,1234,529,1104,1074,
- 1302,1228,1408,1404,73,279,137,273,164,356,
- 355,791,792,598,141,144,147,150,1316,686,
- 19,16,20,17,390,41,39,383,1511,422,
- 1274,1555,1568,1207,133,211,319,320,274,1686,
- 284,143,132,134,158,542,1755,686,19,16,
- 20,17,390,41,38,285,762,1011,414,1301,
- 654,19,16,20,17,390,1409,43,468,419,
- 545,1234,529,1104,1074,1302,1228,1408,1404,73,
- 279,359,19,16,20,17,390,1409,43,468,
- 419,545,1234,529,1104,1074,1302,1228,1408,1404,
- 73,279,686,19,16,20,17,390,41,43,
- 468,419,545,321,1582,284,225,177,598,287,
- 6,1755,443,19,16,20,17,390,41,35,
- 285,395,293,185,1621,39,286,598,133,211,
- 319,320,1755,244,18,135,132,134,158,598,
- 230,287,686,19,16,20,17,390,41,43,
- 468,419,545,1716,529,1104,1074,1302,1228,1676,
- 137,21,164,293,184,22,895,1752,141,144,
- 147,150,1316,686,19,16,20,17,390,41,
- 43,1439,1511,422,1274,1555,1568,1207,281,19,
- 16,20,17,390,1409,43,468,419,545,1757,
- 529,1104,1074,1302,1228,1408,1404,73,641,237,
- 622,19,16,20,17,390,1409,43,468,419,
- 545,230,529,1104,1074,1302,1228,1408,1404,73,
- 279,686,19,16,20,17,390,1409,43,468,
- 419,545,239,529,1104,1074,1302,1228,1408,1404,
- 73,90,293,186,686,19,16,20,17,390,
- 41,43,468,419,545,288,529,1104,1074,1302,
- 1706,1755,750,19,16,20,17,390,1409,43,
- 468,419,545,1763,529,1104,1074,1302,1228,1408,
- 1404,73,714,518,230,478,19,16,20,17,
- 390,41,43,468,419,545,383,529,1104,1074,
- 1302,1228,1408,1404,92,241,327,686,19,16,
- 20,17,390,41,43,468,1562,316,19,16,
- 20,17,390,1409,43,468,419,545,801,529,
- 1104,1074,1302,1228,1408,1404,73,843,238,686,
- 19,16,20,17,390,1409,43,468,419,545,
- 583,529,1104,1074,1302,1228,1408,1404,73,91,
- 686,19,16,20,17,390,1409,43,468,419,
- 545,230,529,1104,1074,1302,1228,1408,1404,73,
- 84,686,19,16,20,17,390,1409,43,468,
- 419,545,325,529,1104,1074,1302,1228,1408,1404,
- 73,83,686,19,16,20,17,390,1409,43,
- 468,419,545,230,529,1104,1074,1302,1228,1408,
- 1404,73,82,686,19,16,20,17,390,1409,
- 43,468,419,545,240,529,1104,1074,1302,1228,
- 1408,1404,73,81,686,19,16,20,17,390,
- 1409,43,468,419,545,230,529,1104,1074,1302,
- 1228,1408,1404,73,80,686,19,16,20,17,
- 390,1409,43,468,419,545,242,529,1104,1074,
- 1302,1228,1408,1404,73,79,686,19,16,20,
- 17,390,1409,43,468,419,545,230,529,1104,
- 1074,1302,1228,1408,1404,73,78,686,19,16,
- 20,17,390,1409,43,468,419,545,243,529,
- 1104,1074,1302,1228,1408,1404,73,77,686,19,
- 16,20,17,390,1409,43,468,419,545,230,
- 529,1104,1074,1302,1228,1408,1404,73,76,686,
- 19,16,20,17,390,1409,43,468,419,545,
- 292,529,1104,1074,1302,1228,1408,1404,73,75,
- 686,19,16,20,17,390,1409,43,468,419,
- 545,40,529,1104,1074,1302,1228,1408,1404,73,
- 74,686,19,16,20,17,390,1409,43,468,
- 419,545,230,529,1104,1074,1302,1228,1408,1404,
- 73,885,686,19,16,20,17,390,1409,43,
- 468,419,545,294,529,1104,1074,1302,1228,1408,
- 1404,73,927,686,19,16,20,17,390,41,
- 43,468,419,545,183,529,1104,1074,1302,1228,
- 1408,1404,92,686,19,16,20,17,390,41,
- 43,468,419,545,75,529,1104,1074,1302,1228,
- 1408,1404,92,1765,252,1315,969,686,19,16,
- 20,17,390,41,37,686,19,16,20,17,
- 390,41,43,468,419,545,1032,529,1104,1074,
- 1302,1228,1408,1404,92,686,19,16,20,17,
- 390,41,43,468,419,545,6,529,1104,1074,
- 1302,1228,1408,1404,92,293,30,1764,210,686,
- 19,16,20,17,390,41,36,686,19,16,
- 20,17,390,41,43,468,419,545,200,529,
- 1104,1074,1302,1228,1408,1404,92,686,19,16,
- 20,17,390,41,43,468,419,545,525,529,
- 1104,1074,1302,1228,1408,1404,72,225,177,598,
- 201,686,19,16,20,17,390,41,43,468,
- 419,545,566,529,1104,1074,1625,24,115,133,
- 211,319,320,651,289,271,136,132,134,158,
- 127,686,19,16,20,17,390,41,43,468,
- 1576,1389,686,19,16,20,17,390,41,43,
- 1468,138,16,164,88,672,293,1768,272,142,
- 145,148,151,1316,830,216,1438,219,1529,221,
- 222,227,415,694,265,420,389,270,598,261,
- 293,30,586,1697,1801,1723,133,211,319,320,
- 262,691,80,146,132,134,158,71,275,276,
- 272,802,559,1596,277,66,24,216,1438,219,
- 1529,221,222,227,293,293,265,420,389,270,
- 406,1544,1766,1522,290,208,259,252,211,319,
- 320,27,1209,686,19,16,20,17,390,41,
- 43,468,419,545,1307,529,1104,1626,272,293,
- 295,489,23,1728,1725,217,1438,219,1529,221,
- 222,227,1393,1843,267,420,389,270,686,19,
- 16,20,17,390,41,43,468,419,545,16,
- 529,1581,489,16,6,6,216,1438,219,1529,
- 221,222,227,1393,130,651,651,466,179,53,
- 1790,686,19,16,20,17,390,41,43,468,
- 419,545,1723,1620,6,782,1723,216,1438,219,
- 1529,221,222,227,831,1770,86,86,820,565,
- 1330,1790,560,1675,1434,196,198,718,19,16,
- 20,17,390,318,1524,686,19,16,20,17,
- 390,41,43,468,419,1527,226,1728,597,217,
- 1438,219,1529,221,222,227,197,198,686,19,
- 16,20,17,390,41,43,468,419,1531,686,
- 19,16,20,17,390,41,43,468,419,1545,
- 686,19,16,20,17,390,41,43,468,419,
- 1546,391,633,686,19,16,20,17,390,41,
- 35,6,451,1393,239,71,187,315,886,887,
- 59,429,1525,133,211,319,320,1784,598,1694,
- 140,132,134,158,598,667,669,216,1438,219,
- 1529,221,222,227,275,839,272,225,6,281,
- 6,1544,545,598,278,139,802,164,848,1810,
- 223,470,265,420,389,270,890,133,211,319,
- 320,493,328,6,149,132,134,158,1209,228,
- 133,211,319,320,1772,192,808,152,132,134,
- 158,443,19,16,20,17,390,41,35,443,
- 19,16,20,17,390,41,35,807,692,1769,
- 484,691,326,291,272,192,510,280,1262,1728,
- 245,686,19,16,20,17,390,41,34,71,
- 267,420,389,270,232,272,686,19,16,20,
- 17,390,41,46,718,19,16,20,17,390,
- 317,265,420,389,270,686,19,16,20,17,
- 390,41,45,178,1796,630,327,264,686,19,
- 16,20,17,390,41,44,558,19,16,20,
- 17,390,41,42,849,178,694,849,718,19,
- 16,20,17,390,316,526,349,1767,526,718,
- 19,16,20,17,390,40,396,253,211,319,
- 320,1240,229,552,1240,71,71,1723,661,412,
- 1723,718,19,16,20,17,390,33,718,19,
- 16,20,17,390,32,1596,257,6,1330,257,
- 6,1288,773,1729,1288,834,1729,66,362,202,
- 179,362,400,66,57,897,801,84,858,71,
- 755,1768,169,1361,195,526,868,195,526,252,
- 211,319,320,526,66,252,211,319,320,86,
- 693,195,86,513,1240,528,71,1617,528,195,
- 1617,511,113,203,651,546,252,211,319,320,
- 755,1768,526,526,1762,1695,1912,1912,1912,257,
- 423,1695,1762,547,1563,1912,1729,1912,1240,195,
- 1530,1912,190,193,1912,86,1912,844,1912,207,
- 190,311,1849,234,1912,747,1639,1802,526,243,
- 1912,1021,1762,257,1726,1802,1311,1776,1538,1912,
- 1729,1912,1618,1912,1240,253,211,319,320,1912,
- 191,253,211,319,320,1912,1912,1912,1912,207,
- 1912,1912,373,1912,1912,1912,1912,1912,1912,258,
- 1912,1912,1912,1912,1912,1912,1566,1776,1912,0,
- 322,715,0,19,177,0,1,2136,0,1,
- 2147,0
+ 89,11,104,21,21,26,26,34,34,71,
+ 71,1,1,2,2,2,2,3,3,3,
+ 4,5,5,5,5,5,5,5,5,53,
+ 53,72,6,6,6,6,6,6,6,6,
+ 6,6,7,7,8,8,8,8,9,9,
+ 9,10,10,10,12,12,12,12,12,13,
+ 13,13,14,14,15,15,16,16,17,17,
+ 18,18,19,19,20,20,20,20,20,20,
+ 20,20,20,20,20,20,105,48,42,90,
+ 90,75,75,43,106,106,106,106,106,106,
+ 106,107,107,107,108,108,113,113,114,114,
+ 109,109,110,110,110,116,116,111,111,111,
+ 111,112,112,112,112,112,115,115,27,27,
+ 27,27,27,30,30,30,81,81,76,76,
+ 76,76,77,77,77,78,78,78,79,79,
+ 79,80,80,80,117,117,118,118,119,31,
+ 33,33,33,33,33,54,56,56,56,56,
+ 56,56,56,56,56,56,56,56,65,62,
+ 62,91,92,66,66,63,63,63,67,82,
+ 82,83,83,68,68,68,50,93,93,84,
+ 85,85,85,64,64,94,86,86,87,87,
+ 69,69,22,23,23,23,32,49,49,35,
+ 35,35,35,38,38,40,36,36,37,41,
+ 41,120,120,39,121,121,95,95,28,28,
+ 28,28,28,28,28,28,28,88,51,51,
+ 51,51,29,58,58,57,57,57,59,59,
+ 52,52,96,96,73,73,60,60,60,44,
+ 44,44,45,46,46,46,47,47,47,47,
+ 55,55,55,61,97,74,74,74,74,70,
+ 98,99,99,100,100,101,101,122,122,123,
+ 123,124,124,124,124,126,126,125,125,125,
+ 127,127,89,89,2,2,2,6,6,6,
+ 22,22,24,24,25,25,102,102,102,106,
+ 128,128,128,128,128,128,128,111,111,111,
+ 111,111,111,111,111,111,111,111,111,111,
+ 111,111,111,111,111,111,111,111,111,111,
+ 111,129,129,1,1384,17,21,18,520,1318,
+ 44,603,601,619,71,605,1110,749,1234,1161,
+ 1275,1236,74,91,324,134,212,320,321,762,
+ 1289,329,248,136,133,135,159,686,20,17,
+ 21,18,520,42,44,603,601,619,28,605,
+ 1110,749,1234,1161,1755,293,31,138,289,165,
+ 274,455,791,293,186,142,145,148,151,1237,
+ 686,20,17,21,18,520,42,40,391,1509,
+ 590,1574,1586,1600,1216,590,20,17,21,18,
+ 520,1318,44,603,601,619,418,605,1110,749,
+ 1234,1161,1275,1236,74,280,654,20,17,21,
+ 18,520,1318,44,603,601,619,418,605,1110,
+ 749,1234,1161,1275,1236,74,280,25,423,686,
+ 20,17,21,18,520,42,44,603,601,619,
+ 285,605,1110,749,1234,1760,1821,443,20,17,
+ 21,18,520,42,36,286,1845,1436,291,1329,
+ 877,285,755,1848,322,293,185,1821,245,718,
+ 20,17,21,18,520,319,286,518,293,31,
+ 1689,359,20,17,21,18,520,1318,44,603,
+ 601,619,418,605,1110,749,1234,1161,1275,1236,
+ 74,280,225,178,686,20,17,21,18,520,
+ 42,44,603,601,619,75,605,1110,749,1234,
+ 1161,1275,1236,93,134,212,320,321,895,1809,
+ 792,208,136,133,135,159,287,254,212,320,
+ 321,356,1821,414,525,287,400,1068,1460,1849,
+ 24,288,134,212,320,321,138,1350,165,39,
+ 144,133,135,159,142,145,148,151,1237,686,
+ 20,17,21,18,520,42,44,1522,1509,590,
+ 1574,1586,1600,1216,281,20,17,21,18,520,
+ 1318,44,603,601,619,1229,605,1110,749,1234,
+ 1161,1275,1236,74,816,238,622,20,17,21,
+ 18,520,1318,44,603,601,619,194,605,1110,
+ 749,1234,1161,1275,1236,74,280,686,20,17,
+ 21,18,520,1318,44,603,601,619,355,605,
+ 1110,749,1234,1161,1275,1236,74,91,293,187,
+ 686,20,17,21,18,520,42,44,603,601,
+ 619,289,605,1110,749,1748,275,1821,750,20,
+ 17,21,18,520,1318,44,603,601,619,1734,
+ 605,1110,749,1234,1161,1275,1236,74,858,183,
+ 230,478,20,17,21,18,520,42,44,603,
+ 601,619,391,605,1110,749,1234,1161,1275,1236,
+ 93,22,328,686,20,17,21,18,520,42,
+ 44,603,1621,316,20,17,21,18,520,1318,
+ 44,603,601,619,900,605,1110,749,1234,1161,
+ 1275,1236,74,942,239,686,20,17,21,18,
+ 520,1318,44,603,601,619,230,605,1110,749,
+ 1234,1161,1275,1236,74,92,686,20,17,21,
+ 18,520,1318,44,603,601,619,240,605,1110,
+ 749,1234,1161,1275,1236,74,85,686,20,17,
+ 21,18,520,1318,44,603,601,619,230,605,
+ 1110,749,1234,1161,1275,1236,74,84,686,20,
+ 17,21,18,520,1318,44,603,601,619,242,
+ 605,1110,749,1234,1161,1275,1236,74,83,686,
+ 20,17,21,18,520,1318,44,603,601,619,
+ 230,605,1110,749,1234,1161,1275,1236,74,82,
+ 686,20,17,21,18,520,1318,44,603,601,
+ 619,326,605,1110,749,1234,1161,1275,1236,74,
+ 81,686,20,17,21,18,520,1318,44,603,
+ 601,619,230,605,1110,749,1234,1161,1275,1236,
+ 74,80,686,20,17,21,18,520,1318,44,
+ 603,601,619,241,605,1110,749,1234,1161,1275,
+ 1236,74,79,686,20,17,21,18,520,1318,
+ 44,603,601,619,230,605,1110,749,1234,1161,
+ 1275,1236,74,78,686,20,17,21,18,520,
+ 1318,44,603,601,619,243,605,1110,749,1234,
+ 1161,1275,1236,74,77,686,20,17,21,18,
+ 520,1318,44,603,601,619,230,605,1110,749,
+ 1234,1161,1275,1236,74,76,686,20,17,21,
+ 18,520,1318,44,603,601,619,244,605,1110,
+ 749,1234,1161,1275,1236,74,75,686,20,17,
+ 21,18,520,1318,44,603,601,619,230,605,
+ 1110,749,1234,1161,1275,1236,74,73,686,20,
+ 17,21,18,520,1318,44,603,601,619,293,
+ 605,1110,749,1234,1161,1275,1236,74,984,686,
+ 20,17,21,18,520,1318,44,603,601,619,
+ 252,605,1110,749,1234,1161,1275,1236,74,1026,
+ 686,20,17,21,18,520,42,44,603,601,
+ 619,16,605,1110,749,1234,1161,1275,1236,93,
+ 686,20,17,21,18,520,42,44,603,601,
+ 619,6,605,1110,749,1234,1161,1275,1236,93,
+ 1546,115,445,1438,686,20,17,21,18,520,
+ 42,39,686,20,17,21,18,520,42,44,
+ 603,601,619,211,605,1110,749,1234,1161,1275,
+ 1236,93,686,20,17,21,18,520,42,44,
+ 603,601,619,6,605,1110,749,1234,1161,1275,
+ 1236,93,293,294,1545,201,225,178,686,20,
+ 17,21,18,520,42,44,603,601,619,66,
+ 605,1110,1752,71,80,202,130,24,134,212,
+ 320,321,598,820,293,1848,137,133,135,159,
+ 598,253,212,320,321,127,686,20,17,21,
+ 18,520,42,44,603,1629,1564,282,1709,16,
+ 139,227,165,6,6,179,19,694,143,146,
+ 149,152,1237,273,522,1233,415,575,1775,40,
+ 217,1243,220,1334,222,223,228,1720,1780,266,
+ 698,392,271,277,262,718,20,17,21,18,
+ 520,318,276,209,273,263,16,783,53,406,
+ 1411,217,1243,220,1334,222,223,228,389,691,
+ 266,698,392,271,887,1735,686,20,17,21,
+ 18,520,42,44,1558,1722,1568,273,1797,71,
+ 489,260,598,239,218,1243,220,1334,222,223,
+ 228,1799,226,268,698,392,271,686,20,17,
+ 21,18,520,42,44,603,601,619,1765,605,
+ 1690,1829,374,179,782,217,1243,220,1334,222,
+ 223,228,718,20,17,21,18,520,317,1851,
+ 686,20,17,21,18,520,42,44,603,601,
+ 619,808,1723,686,20,17,21,18,520,42,
+ 44,603,601,619,193,1745,489,718,20,17,
+ 21,18,520,41,197,199,451,1799,230,273,
+ 1797,293,296,1353,686,20,17,21,18,520,
+ 42,44,603,601,1560,268,698,392,271,295,
+ 802,217,1243,220,1334,222,223,228,718,20,
+ 17,21,18,520,34,1851,686,20,17,21,
+ 18,520,42,44,603,601,1570,686,20,17,
+ 21,18,520,42,44,603,601,1612,686,20,
+ 17,21,18,520,42,44,603,601,1614,391,
+ 198,199,633,1620,443,20,17,21,18,520,
+ 42,36,565,1799,718,20,17,21,18,520,
+ 33,134,212,320,321,327,598,292,802,141,
+ 133,135,159,886,831,57,178,217,1243,220,
+ 1334,222,223,228,1717,59,562,1782,597,525,
+ 315,1735,23,140,16,165,694,6,598,276,
+ 429,273,196,1797,830,598,598,1751,1650,218,
+ 1243,220,1334,222,223,228,839,266,698,392,
+ 271,1790,230,1780,272,606,134,212,320,321,
+ 848,278,279,1568,147,133,135,159,134,212,
+ 320,321,667,191,669,1319,150,133,135,159,
+ 71,545,134,212,320,321,708,1349,1815,890,
+ 153,133,135,159,443,20,17,21,18,520,
+ 42,36,686,20,17,21,18,520,42,38,
+ 755,1848,281,588,203,246,686,20,17,21,
+ 18,520,42,37,686,20,17,21,18,520,
+ 42,36,686,20,17,21,18,520,42,35,
+ 807,686,20,17,21,18,520,42,47,691,
+ 493,1269,686,20,17,21,18,520,42,46,
+ 686,20,17,21,18,520,42,45,273,558,
+ 20,17,21,18,520,42,43,849,6,208,
+ 849,566,187,328,266,698,392,271,562,466,
+ 6,562,687,1795,66,598,1538,1849,598,6,
+ 265,1773,1796,6,1255,484,1780,1255,192,1780,
+ 363,84,510,630,363,327,253,212,320,321,
+ 349,224,562,89,229,396,196,71,1411,258,
+ 196,1319,258,169,1575,511,1798,1575,1255,1798,
+ 552,87,66,513,562,87,562,1250,692,1680,
+ 71,1250,575,1680,687,66,71,661,412,16,
+ 196,180,1255,258,253,212,320,321,1738,773,
+ 1798,1536,1242,234,233,113,1352,253,212,320,
+ 321,834,1078,606,204,87,562,258,1780,897,
+ 1555,312,1576,6,1798,254,212,320,321,243,
+ 1813,191,196,6,687,801,1788,844,858,868,
+ 1544,693,546,1839,687,1767,1815,1914,562,1914,
+ 1914,254,212,320,321,606,1914,1914,1914,1914,
+ 1914,1914,384,1914,1255,87,1914,1914,1914,1914,
+ 1914,750,1914,192,1914,87,1914,1914,1914,1914,
+ 1914,1753,1914,1914,1914,1914,1914,1914,1914,259,
+ 1914,0,323,751,0,20,178,0,1,2139,
+ 0,1,2150,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -544,102 +544,102 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1912,1922,1747,1923,1513,1,2124,2125,2126,1159,
- 1107,2235,421,2236,1631,251,1738,1731,1709,1924,
- 1925,1926,1927,180,457,429,2225,2226,2227,1698,
- 1654,1447,2073,2074,2072,2127,2075,2071,53,181,
- 2078,2083,2082,2080,2081,2079,2084,2085,2077,2086,
- 2087,2088,41,1198,713,388,1912,1,283,1,
- 1912,189,1,1,1,1912,1912,1,1,1,
- 1912,2124,2125,2126,247,1919,2235,421,2236,65,
- 1,1,1,1,1909,1,1,1,1,1,
- 1,1,1,1,737,1241,1,1,1,1,
- 1,1,1,1,1,1,1,1,189,1,
- 1,1,1912,1,67,1,2106,188,1,1,
- 1,1000,1918,1,1,1,260,2136,1282,71,
- 1,979,958,937,916,895,853,874,832,811,
- 790,608,2168,1912,1,1,1,1,1,1,
- 1912,1343,1,1,1,1,1,1,1,1,
- 1,1,1,1,188,1,1,1,1912,1,
- 1912,1,2106,189,1,1,1,246,69,1,
- 1,1,63,2124,2125,2126,248,1211,2235,421,
- 2236,66,1,1,1,1912,1378,1,1,1,
- 1,1,1,1,1,1,562,1395,1,1,
+ 1914,1925,1739,1926,1664,1,2127,2128,2129,1656,
+ 1642,2238,422,2239,1672,252,1524,1468,1427,1927,
+ 1928,1929,1930,181,1164,430,2228,2229,2230,1392,
+ 1305,529,2076,2077,2075,2130,2078,2074,54,182,
+ 2081,2086,2085,2083,2084,2082,2087,2088,2080,2089,
+ 2090,2091,42,1559,537,421,1914,1,284,1,
+ 1914,190,1,1,1,1914,1914,1,1,1,
+ 1914,2127,2128,2129,247,1922,2238,422,2239,66,
+ 2127,2128,2129,1,1911,2238,422,2239,1,1,
+ 1,1,1,1,773,1256,1,1,1,1,
+ 1,1,1,1,1,1,1,1,190,1,
+ 1,1,1914,1,68,1,2109,189,1,1,
+ 1,1036,1921,1,1,1,261,2139,1286,72,
+ 1,1015,994,973,952,931,889,910,868,847,
+ 826,644,2171,1914,1,1,1,1,1,1,
+ 1914,1218,1,1,1,1,1,1,1,1,
+ 1,1,1,1,189,1,1,1,1914,1,
+ 1914,1,2109,190,1,1,1,248,70,1,
+ 1,1,64,1,1,1,249,710,1,1,
+ 1,67,1,1,1,1914,1367,1,1,1,
+ 1,1,1,1,1,1,397,1843,1,1,
1,1,1,1,1,1,1,1,1,1,
- 189,1,1,1,1912,1922,1912,1923,2106,1912,
- 2124,2125,2126,249,1915,2235,421,2236,1912,2124,
- 2125,2126,250,1921,2235,421,2236,269,2124,2125,
- 2126,61,674,2235,421,2236,2073,2074,2072,2127,
- 2075,2071,608,1343,2078,2083,2082,2080,2081,2079,
- 2084,2085,2077,2086,2087,2088,1392,1198,713,388,
- 1,1922,1747,1923,532,1915,58,1914,1912,1159,
- 1107,1912,1912,1922,1631,1923,1738,1731,1709,1924,
- 1925,1926,1927,1063,457,429,2225,2226,2227,1698,
- 1654,1447,692,1920,57,1912,1922,1747,1923,1609,
- 1915,1411,512,1912,1159,1107,70,60,87,1631,
- 1912,1738,1731,1709,1924,1925,1926,1927,1914,457,
- 429,2225,2226,2227,1698,1654,1447,1042,68,1324,
- 1500,1489,1478,1455,268,50,1283,1912,1,1922,
- 1747,1923,1513,28,1252,593,769,1159,1107,608,
- 737,1241,1631,1914,1738,1731,1709,1924,1925,1926,
- 1927,3177,457,429,2225,2226,2227,1698,1654,1447,
- 127,1500,1489,1478,1455,1912,2124,2125,2126,1,
- 674,2235,421,2236,1921,266,2136,1282,1912,251,
- 28,254,1899,47,1,1906,1282,1678,530,1917,
- 608,1211,2073,2074,2072,2127,2075,2071,56,608,
- 2078,2083,2082,2080,2081,2079,2084,2085,2077,2086,
- 2087,2088,1912,1922,1747,1923,1513,1915,1912,1837,
- 289,1159,1107,1916,183,3178,1631,3178,1738,1731,
- 1709,1924,1925,1926,1927,1083,457,429,2225,2226,
- 2227,1698,1654,1447,1920,1665,1646,1912,1922,1747,
- 1923,1601,1915,59,737,1241,1159,1107,1,2136,
- 1512,1631,62,1738,1731,1709,1924,1925,1926,1927,
- 1914,457,429,2225,2226,2227,1698,1654,1447,64,
- 1,1359,1912,1,1,1,1,182,3180,1912,
- 3180,1,1,1378,204,3185,1,3185,1,1,
- 1,1,1,1,1,1914,1,1,1,1,
- 1,1,1,1,52,1912,2148,1500,1489,1478,
- 1455,1912,1912,1252,593,1094,1135,1912,1922,1747,
- 1923,1513,1411,512,49,1,1159,1107,1678,2168,
- 89,1631,2224,1738,1731,1709,1924,1925,1926,1927,
- 530,457,429,2225,2226,2227,1698,1654,1447,1,
- 1922,1747,1923,1513,1912,1912,48,1912,1159,1107,
- 1678,1912,1917,1631,89,1738,1731,1709,1924,1925,
- 1926,1927,3177,457,429,2225,2226,2227,1698,1654,
- 1447,1912,1922,1747,1923,1513,1665,1646,1912,1912,
- 1159,1107,1,2136,1512,1631,1916,1738,1731,1709,
- 1924,1925,1926,1927,3177,457,429,2225,2226,2227,
- 1698,1654,1447,1,1922,1747,1923,1513,1665,1646,
- 1912,1912,1159,1107,1526,1912,55,1631,54,1738,
- 1731,1709,1924,1925,1926,1927,3177,457,429,2225,
- 2226,2227,1698,1654,1447,1912,1922,1747,1923,1513,
- 29,1912,199,1,1159,1107,1917,1187,1917,1631,
- 1912,1738,1731,1709,1924,1925,1926,1927,1912,457,
- 429,2225,2226,2227,1698,1654,1447,1912,1922,1750,
- 1923,1513,737,1241,737,1241,1159,1107,491,1805,
- 1916,1631,1916,1738,1731,1709,1924,1925,1926,1927,
- 1912,457,429,2225,2226,2227,1698,1654,1447,1,
- 1922,1747,1923,1513,206,1922,1912,1923,1159,1107,
- 1167,1912,1922,1631,1923,1738,1731,1709,1924,1925,
- 1926,1927,1912,457,429,2225,2226,2227,1698,1654,
- 1447,19,1912,1903,1146,1903,1903,177,177,177,
- 322,128,177,177,177,1558,1903,2124,2125,2126,
- 1912,29,2235,421,2236,1900,263,266,1528,1528,
- 1,251,1912,177,177,177,177,177,177,218,
- 1903,608,608,2073,2074,2072,2127,2075,2071,129,
- 251,2136,1512,1912,608,2124,2125,2126,130,1940,
- 2235,421,2236,1,2124,2125,2126,131,1,2235,
- 421,2236,251,2124,2125,2126,1560,209,2235,421,
- 2236,2073,2074,2072,2127,2075,2071,205,1912,630,
- 2073,2074,2072,2127,2075,2071,31,1912,1222,2073,
- 2074,2072,2127,2075,2071,1,220,1528,1696,51,
- 1917,1394,1937,1938,1912,1922,1912,1923,1252,593,
- 608,608,2167,282,187,3183,187,2168,1521,205,
- 1266,187,1266,1912,1912,1912,1912,1424,1912,1583,
- 1912,1912,1912,1912,1916,1912,1115,183,1912,182,
- 1912,1912,1912,1912,204,1912,1912,1290,1912,1912,
- 1912,1912,1912,1912,1912,1912,1912,1912,1912,1912,
- 1912,1912,1155,1912,1912,1521
+ 190,1,1,1,1914,1925,1914,1926,2109,1914,
+ 2127,2128,2129,250,1918,2238,422,2239,1914,2127,
+ 2128,2129,251,1924,2238,422,2239,270,2127,2128,
+ 2129,62,489,2238,422,2239,2076,2077,2075,2130,
+ 2078,2074,644,1218,2081,2086,2085,2083,2084,2082,
+ 2087,2088,2080,2089,2090,2091,1426,1559,537,421,
+ 1,1925,1739,1926,507,1918,59,1917,1914,1656,
+ 1642,1914,1914,1925,1672,1926,1524,1468,1427,1927,
+ 1928,1929,1930,564,1164,430,2228,2229,2230,1392,
+ 1305,529,728,1923,58,1914,1925,1739,1926,1634,
+ 1918,1413,1400,1914,1656,1642,71,61,88,1672,
+ 1914,1524,1468,1427,1927,1928,1929,1930,1917,1164,
+ 430,2228,2229,2230,1392,1305,529,1099,69,1212,
+ 1498,1487,1476,1444,269,51,1277,1914,1,1925,
+ 1739,1926,1664,29,1336,629,805,1656,1642,644,
+ 773,1256,1672,1917,1524,1468,1427,1927,1928,1929,
+ 1930,3180,1164,430,2228,2229,2230,1392,1305,529,
+ 128,1498,1487,1476,1444,1914,2127,2128,2129,1,
+ 489,2238,422,2239,1924,267,2139,1286,1914,252,
+ 29,255,1901,48,1,1908,1286,1700,1151,1920,
+ 644,710,2076,2077,2075,2130,2078,2074,57,644,
+ 2081,2086,2085,2083,2084,2082,2087,2088,2080,2089,
+ 2090,2091,1914,1925,1739,1926,1664,1918,1914,1847,
+ 290,1656,1642,1919,184,3181,1672,3181,1524,1468,
+ 1427,1927,1928,1929,1930,1120,1164,430,2228,2229,
+ 2230,1392,1305,529,1923,1692,1681,1914,1925,1739,
+ 1926,1514,1918,60,773,1256,1656,1642,1,2139,
+ 1512,1672,63,1524,1468,1427,1927,1928,1929,1930,
+ 1917,1164,430,2228,2229,2230,1392,1305,529,65,
+ 1,1441,1914,1,1,1,1,183,3183,1914,
+ 3183,1,1,1367,205,3188,1,3188,1,1,
+ 1,1,1,1,1,1917,1,1,1,1,
+ 1,1,1,1,53,1914,2151,1498,1487,1476,
+ 1444,1914,1914,1336,629,1131,1172,1914,1925,1739,
+ 1926,1664,1413,1400,50,1,1656,1642,1700,2171,
+ 90,1672,2227,1524,1468,1427,1927,1928,1929,1930,
+ 1151,1164,430,2228,2229,2230,1392,1305,529,1,
+ 1925,1739,1926,1664,1914,1914,49,1914,1656,1642,
+ 1700,1914,1920,1672,90,1524,1468,1427,1927,1928,
+ 1929,1930,3180,1164,430,2228,2229,2230,1392,1305,
+ 529,1914,1925,1739,1926,1664,1692,1681,1914,1914,
+ 1656,1642,1,2139,1512,1672,1919,1524,1468,1427,
+ 1927,1928,1929,1930,3180,1164,430,2228,2229,2230,
+ 1392,1305,529,1,1925,1739,1926,1664,1692,1681,
+ 1914,1914,1656,1642,1316,1914,56,1672,55,1524,
+ 1468,1427,1927,1928,1929,1930,3180,1164,430,2228,
+ 2229,2230,1392,1305,529,1914,1925,1739,1926,1664,
+ 30,1914,200,1,1656,1642,1920,1057,1920,1672,
+ 1914,1524,1468,1427,1927,1928,1929,1930,1914,1164,
+ 430,2228,2229,2230,1392,1305,529,1914,1925,1743,
+ 1926,1664,773,1256,773,1256,1656,1642,541,1852,
+ 1919,1672,1919,1524,1468,1427,1927,1928,1929,1930,
+ 1914,1164,430,2228,2229,2230,1392,1305,529,1,
+ 1925,1739,1926,1664,207,1925,1914,1926,1656,1642,
+ 1192,1914,1925,1672,1926,1524,1468,1427,1927,1928,
+ 1929,1930,1914,1164,430,2228,2229,2230,1392,1305,
+ 529,20,1914,1905,1203,1905,1905,178,178,178,
+ 323,129,178,178,178,1567,1905,2127,2128,2129,
+ 1914,30,2238,422,2239,1902,264,267,1543,1543,
+ 1,252,1914,178,178,178,178,178,178,219,
+ 1905,644,644,2076,2077,2075,2130,2078,2074,130,
+ 252,2139,1512,1914,644,2127,2128,2129,131,1943,
+ 2238,422,2239,1,2127,2128,2129,132,1,2238,
+ 422,2239,252,2127,2128,2129,1718,210,2238,422,
+ 2239,2076,2077,2075,2130,2078,2074,206,1914,666,
+ 2076,2077,2075,2130,2078,2074,32,1914,1721,2076,
+ 2077,2075,2130,2078,2074,1,221,1543,1566,52,
+ 1920,1833,1940,1941,1914,1925,1914,1926,1336,629,
+ 644,644,2170,283,188,3186,188,2171,1274,206,
+ 1244,188,1244,1914,1914,1914,1914,1273,1914,1730,
+ 1914,1914,1914,1914,1919,1914,1140,184,1914,183,
+ 1914,1914,1914,1914,205,1914,1914,538,1914,1914,
+ 1914,1914,1914,1914,1914,1914,1914,1914,1914,1914,
+ 1914,1914,415,1914,1914,1274
};
};
public final static char termAction[] = TermAction.termAction;
@@ -647,28 +647,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 461,1,170,41,170,170,170,170,170,170,
- 170,170,170,170,170,170,3,55,108,105,
- 112,110,118,116,120,119,122,121,10,170,
- 55,406,406,252,170,332,332,363,55,170,
- 170,170,170,170,170,170,170,170,170,170,
- 170,170,170,170,170,170,170,170,170,170,
- 170,170,170,170,170,170,170,170,170,332,
- 332,45,137,367,161,373,330,329,335,48,
- 347,157,347,157,157,347,157,347,75,283,
- 105,105,110,110,110,110,108,108,116,112,
- 112,119,118,415,121,120,159,135,363,367,
- 164,45,98,194,332,417,376,194,157,406,
- 406,157,406,170,135,367,355,98,45,193,
- 161,332,361,75,331,378,45,194,159,219,
- 159,277,279,370,249,159,355,98,170,170,
- 45,194,373,410,409,367,378,332,159,219,
- 277,277,249,133,459,406,170,369,249,135,
- 98,355,45,45,332,417,376,361,219,249,
- 449,219,277,279,456,279,137,45,406,170,
- 135,355,378,219,451,279,249,170,406,45,
- 279,332,331,249,129,170,128,189,367,249,
- 249,407,451,170,189,279
+ 428,1,149,98,149,149,149,149,149,149,
+ 149,149,149,149,149,149,60,10,80,77,
+ 84,82,90,88,92,91,94,93,66,149,
+ 10,368,368,403,149,294,294,329,10,149,
+ 149,149,149,149,149,149,149,149,149,149,
+ 149,149,149,149,149,149,149,149,149,149,
+ 149,149,149,149,149,149,149,149,149,294,
+ 294,102,109,333,140,335,292,291,301,3,
+ 313,129,313,129,129,313,129,313,30,245,
+ 77,77,82,82,82,82,80,80,88,84,
+ 84,91,90,138,93,92,131,107,329,333,
+ 143,102,53,173,294,371,338,173,129,368,
+ 368,129,368,149,107,333,321,53,102,172,
+ 140,294,327,30,293,340,102,173,131,198,
+ 131,231,233,298,228,131,321,321,149,149,
+ 102,173,335,238,237,333,340,294,131,198,
+ 231,231,228,105,455,368,149,297,228,107,
+ 321,53,102,102,294,371,338,327,198,228,
+ 133,198,231,233,452,233,109,102,368,149,
+ 107,53,321,340,198,135,233,228,149,368,
+ 102,233,321,294,293,228,241,149,240,168,
+ 333,228,228,369,135,149,168,233
};
};
public final static char asb[] = Asb.asb;
@@ -676,55 +676,52 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 89,0,75,15,2,61,76,16,17,14,
- 4,9,10,62,63,56,57,64,65,66,
- 67,70,71,72,73,74,77,78,52,69,
- 79,80,81,82,83,85,84,86,87,88,
- 68,39,89,38,58,5,0,5,68,38,
- 58,39,75,15,18,19,20,21,22,2,
- 16,17,14,4,9,10,24,25,26,27,
- 28,29,30,31,1,3,53,54,55,48,
- 40,45,43,44,42,41,46,47,49,50,
- 51,37,34,32,33,36,35,6,7,8,
- 12,11,13,0,4,62,63,9,10,57,
- 56,64,65,66,67,70,71,14,72,73,
- 74,58,39,52,89,77,78,68,75,5,
- 38,0,5,52,15,61,16,17,14,4,
- 9,10,24,25,18,29,30,31,2,19,
- 20,21,22,26,27,28,1,3,23,0,
- 58,5,32,6,7,8,11,12,13,19,
- 20,21,22,26,27,28,3,16,17,14,
- 9,10,24,25,18,29,30,31,4,2,
- 1,0,32,58,5,16,17,14,4,9,
- 10,24,25,18,29,30,31,2,1,3,
- 19,20,21,22,26,27,28,0,33,40,
- 6,41,53,34,42,35,43,44,36,7,
- 45,46,32,54,37,55,47,48,8,49,
- 50,51,1,3,11,12,13,60,5,52,
- 0,5,39,18,19,20,21,22,1,3,
- 2,16,17,14,4,9,10,24,25,26,
- 27,28,29,30,31,0,1,3,5,52,
- 38,0,7,32,37,8,36,35,34,6,
- 33,11,12,13,61,76,16,17,14,9,
- 10,62,63,56,57,64,65,66,67,70,
- 71,72,73,74,77,78,69,79,80,81,
- 82,83,84,85,86,87,88,4,2,15,
- 38,39,5,0,48,40,45,43,44,42,
- 41,46,47,49,50,51,68,75,37,34,
- 32,33,36,35,6,7,8,11,12,13,
- 38,1,5,39,2,15,4,0,69,15,
- 61,0,4,2,15,39,5,33,40,6,
- 41,53,34,42,35,43,44,36,7,45,
- 46,32,54,37,55,47,48,8,49,50,
- 51,11,12,13,59,3,1,0,2,5,
- 38,39,75,15,68,0,4,33,40,6,
+ 89,0,5,68,38,58,39,75,15,18,
+ 19,20,21,22,2,16,17,14,4,9,
+ 10,24,25,26,27,28,29,30,31,1,
+ 3,53,54,55,48,40,45,43,44,42,
+ 41,46,47,49,50,51,37,34,32,33,
+ 36,35,6,7,8,12,11,13,0,15,
+ 2,61,76,16,17,69,79,80,81,82,
+ 83,85,84,86,87,88,4,62,63,9,
+ 10,57,56,64,65,66,67,70,71,14,
+ 72,73,74,52,75,77,78,68,39,89,
+ 38,58,5,0,5,52,15,61,16,17,
+ 14,4,9,10,24,25,18,29,30,31,
+ 2,19,20,21,22,26,27,28,1,3,
+ 23,0,75,5,4,1,2,68,0,58,
+ 5,32,6,7,8,11,12,13,19,20,
+ 21,22,26,27,28,3,16,17,14,9,
+ 10,24,25,18,29,30,31,4,2,1,
+ 0,32,58,5,16,17,14,4,9,10,
+ 24,25,18,29,30,31,2,1,3,19,
+ 20,21,22,26,27,28,0,33,40,6,
41,53,34,42,35,43,44,36,7,45,
46,32,54,37,55,47,48,8,49,50,
- 51,1,3,11,12,13,59,0,75,5,
- 4,1,2,68,0,5,38,52,69,0,
- 18,19,20,21,22,1,3,2,16,17,
- 14,4,9,10,24,25,26,27,28,29,
- 30,31,60,0
+ 51,1,3,11,12,13,60,5,52,0,
+ 1,3,5,52,38,0,2,39,15,68,
+ 75,5,38,0,7,32,37,8,36,35,
+ 34,6,33,11,12,13,61,76,16,17,
+ 14,9,10,62,63,56,57,64,65,66,
+ 67,70,71,72,73,74,77,78,69,79,
+ 80,81,82,83,84,85,86,87,88,4,
+ 2,15,38,39,5,0,69,15,61,0,
+ 48,40,45,43,44,42,41,46,47,49,
+ 50,51,68,75,37,34,32,33,36,35,
+ 6,7,8,11,12,13,38,1,5,39,
+ 2,15,4,0,4,2,15,39,5,33,
+ 40,6,41,53,34,42,35,43,44,36,
+ 7,45,46,32,54,37,55,47,48,8,
+ 49,50,51,11,12,13,59,3,1,0,
+ 4,33,40,6,41,53,34,42,35,43,
+ 44,36,7,45,46,32,54,37,55,47,
+ 48,8,49,50,51,1,3,11,12,13,
+ 59,0,5,39,18,19,20,21,22,1,
+ 3,2,16,17,14,4,9,10,24,25,
+ 26,27,28,29,30,31,0,18,19,20,
+ 21,22,1,3,2,16,17,14,4,9,
+ 10,24,25,26,27,28,29,30,31,60,
+ 0,5,38,52,69,0
};
};
public final static byte asr[] = Asr.asr;
@@ -732,28 +729,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static byte nasb[] = {0,
- 115,25,16,25,16,16,16,16,16,16,
- 16,16,16,16,16,16,25,98,25,25,
- 25,25,25,25,25,25,25,25,25,16,
- 98,35,35,48,99,64,64,81,1,16,
- 16,16,16,16,16,16,16,16,16,16,
- 16,16,16,16,16,99,16,16,16,16,
- 16,16,16,16,16,16,16,16,16,64,
- 64,28,16,53,26,80,9,9,45,11,
- 46,70,46,38,38,46,37,46,40,25,
- 25,25,25,25,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,61,87,25,
- 30,28,102,27,64,91,63,27,7,7,
- 7,7,7,16,14,25,61,102,28,27,
- 96,64,57,18,25,93,28,27,33,61,
- 25,61,66,51,61,25,61,102,16,16,
- 28,27,56,9,9,53,93,64,25,107,
- 61,7,68,13,25,7,16,78,68,61,
- 102,96,28,28,64,91,63,72,61,68,
- 104,118,7,66,25,25,15,28,7,16,
- 14,96,111,107,59,66,68,16,7,28,
- 66,64,64,68,105,16,25,59,53,68,
- 68,25,59,16,74,85
+ 115,31,22,31,22,22,22,22,22,22,
+ 22,22,22,22,22,22,31,107,31,31,
+ 31,31,31,31,31,31,31,31,31,22,
+ 107,13,13,104,108,60,60,86,1,22,
+ 22,22,22,22,22,22,22,22,22,22,
+ 22,22,22,22,22,108,22,22,22,22,
+ 22,22,22,22,22,22,22,22,22,60,
+ 60,39,22,56,37,85,11,11,49,17,
+ 50,54,50,97,97,50,96,50,44,31,
+ 31,31,31,31,31,31,31,31,31,31,
+ 31,31,31,31,31,31,31,67,79,31,
+ 41,39,52,38,60,99,59,38,7,7,
+ 7,7,7,22,20,31,75,52,39,38,
+ 32,60,63,24,31,101,39,38,69,67,
+ 31,67,77,15,67,31,75,67,22,22,
+ 39,38,62,11,11,56,101,60,31,90,
+ 67,7,9,19,31,7,22,83,9,67,
+ 67,52,39,39,60,99,59,71,67,9,
+ 34,118,7,77,31,31,21,39,7,22,
+ 20,52,32,111,90,65,77,9,22,7,
+ 39,77,32,60,60,9,35,22,31,65,
+ 56,9,9,31,65,22,73,94
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -761,17 +758,17 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 81,79,78,66,77,76,1,0,28,0,
- 102,0,70,11,61,5,0,81,80,79,
- 78,66,77,76,0,11,5,21,0,5,
- 11,0,92,0,72,0,94,67,0,66,
- 62,63,64,65,54,29,0,11,90,0,
- 99,0,33,51,0,26,46,45,38,36,
- 11,0,11,26,0,53,0,34,0,91,
- 0,46,45,38,36,33,0,101,0,26,
- 45,46,11,0,97,0,46,45,33,0,
- 33,51,11,27,0,22,0,50,11,48,
- 0,58,0,11,71,0,83,11,50,0,
+ 81,79,78,66,77,76,1,0,34,0,
+ 28,0,72,0,99,0,102,0,70,11,
+ 61,5,0,81,80,79,78,66,77,76,
+ 0,22,0,11,71,0,11,5,21,0,
+ 5,11,0,66,62,63,64,65,54,30,
+ 0,58,0,91,0,29,51,0,11,26,
+ 0,26,46,45,38,36,11,0,92,0,
+ 46,45,38,36,29,0,53,0,46,45,
+ 29,0,101,0,26,45,46,11,0,83,
+ 11,50,0,97,0,94,67,0,29,51,
+ 11,27,0,11,90,0,50,11,48,0,
95,11,27,0,11,89,0,11,50,68,
0
};
@@ -800,18 +797,18 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
114,0,0,0,116,120,121,122,123,124,
- 0,125,126,127,128,129,130,131,132,133,
- 110,143,0,0,0,111,136,164,142,0,
- 0,0,0,112,160,162,0,163,0,0,
- 0,0,135,173,174,175,0,115,151,155,
- 161,170,0,145,150,0,165,168,169,172,
- 0,146,147,148,149,152,0,154,159,176,
- 113,117,118,119,134,137,138,139,140,141,
- 144,0,153,157,0,0,158,167,109,0,
- 0,0,156,0,166,171,0,177,178,0,
- 179,180,0,0,0,0,0,0,0,0,
+ 0,125,126,127,128,129,130,131,0,132,
+ 110,142,0,0,0,111,135,163,0,141,
+ 0,0,0,112,159,161,0,162,0,0,
+ 0,0,134,172,173,174,0,115,150,154,
+ 160,169,0,144,149,0,164,167,168,171,
+ 0,145,146,147,148,151,0,153,158,175,
+ 113,117,118,119,133,136,137,138,139,140,
+ 143,0,152,156,0,0,157,166,109,0,
+ 0,0,155,0,165,170,0,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
+ 0,0,0,0,0,0,0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -843,10 +840,10 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 64,62,5,64,28,28,62,55,109,47,
+ 64,62,5,64,28,28,62,55,110,47,
28,41,28,47,28,28,68,5,5,28,
28,19,28,102,101,100,45,60,28,38,
- 49,3,70,68,7,110,5,68,80,79,
+ 49,3,70,68,7,111,5,68,80,79,
78,77,76,41,39,41
};
};
@@ -879,24 +876,24 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 150,15,0,110,0,205,118,0,31,150,
+ 150,15,0,110,0,205,118,0,31,149,
0,160,181,118,23,168,0,112,0,0,
164,118,2,152,0,111,0,164,118,2,
- 0,167,2,0,158,118,0,173,0,195,
+ 0,167,2,0,158,118,0,172,0,195,
118,15,0,9,110,0,127,32,195,118,
- 15,0,69,133,110,0,127,195,118,32,
- 15,0,195,118,32,15,0,133,110,0,
+ 15,0,69,132,110,0,127,195,118,32,
+ 15,0,195,118,32,15,0,132,110,0,
127,32,15,0,127,195,118,15,0,127,
- 15,0,145,0,2,0,166,111,0,2,
- 111,0,164,118,2,145,0,2,0,165,
- 111,0,156,2,0,160,0,160,193,118,
+ 15,0,145,0,2,0,165,111,0,2,
+ 111,0,164,118,2,145,0,2,0,164,
+ 111,0,156,2,0,159,0,160,193,118,
23,108,201,53,0,112,0,160,193,118,
23,201,53,0,157,0,113,0,200,118,
- 157,0,118,157,0,156,113,0,189,118,
+ 157,0,118,157,0,155,113,0,189,118,
23,199,108,198,173,0,189,118,23,198,
- 173,0,188,0,149,0,148,0,147,0,
- 146,0,145,0,212,94,0,77,2,115,
- 111,113,0,212,133,155,2,98,0,53,
+ 173,0,188,0,148,0,147,0,146,0,
+ 145,0,144,0,213,94,0,77,2,115,
+ 111,113,0,213,133,155,2,98,0,53,
0,0,155,78,125,0,29,132,0,180,
2,0,111,121,0,160,181,118,23,133,
180,2,0,111,3,0,119,0,112,0,
@@ -909,16 +906,16 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 1522,0,1772,1802,1764,0,1234,0,1434,1330,
- 1392,1512,1361,1282,1240,0,421,0,1207,526,
- 362,0,1529,1438,420,389,1330,1596,1282,1240,
- 1528,1617,0,1738,1731,1709,1698,1654,1447,1609,
- 1601,532,1686,674,562,1343,1211,1411,512,1378,
- 1241,737,1500,1489,1478,1455,1678,1665,1646,1252,
- 593,1631,1513,1159,1107,457,429,1167,1135,1115,
- 1083,1063,1042,1021,747,1187,715,692,608,1000,
- 979,958,937,916,895,874,853,832,811,790,
- 362,769,651,630,470,491,395,0
+ 1436,0,1773,1815,1545,0,418,0,1544,1319,
+ 1426,1512,1350,1286,1255,0,422,0,1216,562,
+ 363,0,1334,1243,698,392,1319,1411,1286,1255,
+ 1543,1680,0,1524,1468,1427,1392,1305,529,1634,
+ 1514,507,1709,489,397,1218,710,1413,1400,1367,
+ 1256,773,1498,1487,1476,1444,1700,1692,1681,1336,
+ 629,1672,1664,1656,1642,1164,430,1192,1172,1140,
+ 1120,564,1099,1078,783,1057,751,728,644,1036,
+ 1015,994,973,952,931,910,889,868,847,826,
+ 363,805,687,666,466,541,445,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -936,18 +933,18 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
197,155,133,118,15,2,153,152,183,12,
184,173,185,55,54,186,53,187,188,108,
115,115,117,117,117,117,116,116,120,119,
- 119,122,121,155,124,123,133,23,158,140,
+ 119,122,121,155,124,123,133,23,158,136,
32,127,118,4,167,118,2,15,198,174,
- 174,201,174,68,118,140,4,118,127,195,
+ 174,201,174,68,118,136,4,118,127,195,
165,164,134,118,166,118,150,4,108,23,
- 108,23,181,118,23,168,4,118,195,32,
+ 108,23,181,118,23,168,4,136,195,32,
127,4,2,143,145,118,38,164,199,118,
23,118,160,38,205,61,15,206,118,23,
- 118,165,127,127,156,118,2,158,23,189,
+ 136,118,127,127,156,118,2,158,23,189,
157,190,118,193,108,194,69,150,61,15,
- 118,165,118,118,118,193,160,69,38,150,
- 181,164,202,189,200,68,156,2,118,160,
- 160,38,38,68,158,141
+ 118,118,165,118,118,118,193,160,69,38,
+ 150,181,165,164,202,189,200,68,156,2,
+ 118,160,160,38,38,68,158,141
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1082,12 +1079,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_list_actual",
"constant_expression",
@@ -1158,20 +1154,20 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 216,
+ NUM_STATES = 218,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 2273,
+ LA_STATE_OFFSET = 2276,
MAX_LA = 2,
- NUM_RULES = 361,
- NUM_NONTERMINALS = 128,
- NUM_SYMBOLS = 235,
+ NUM_RULES = 362,
+ NUM_NONTERMINALS = 129,
+ NUM_SYMBOLS = 236,
SEGMENT_SIZE = 8192,
- START_STATE = 1793,
+ START_STATE = 1783,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 89,
EOLT_SYMBOL = 89,
- ACCEPT_ACTION = 1899,
- ERROR_ACTION = 1912;
+ ACCEPT_ACTION = 1901,
+ ERROR_ACTION = 1914;
public final static boolean BACKTRACK = true;

Back to the top