Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVivian Kong2010-05-03 19:25:20 +0000
committerVivian Kong2010-05-03 19:25:20 +0000
commitdbc043b92d2b270c13a9ed6f8043aeb983fbab47 (patch)
treea680708d47b07d526c3788bc48a81aa4619e901f
parentea7279e2d7bbed9205cc26c71cb20b2679d1d823 (diff)
downloadorg.eclipse.cdt-dbc043b92d2b270c13a9ed6f8043aeb983fbab47.tar.gz
org.eclipse.cdt-dbc043b92d2b270c13a9ed6f8043aeb983fbab47.tar.xz
org.eclipse.cdt-dbc043b92d2b270c13a9ed6f8043aeb983fbab47.zip
Bug 310724 - [LR Parser] Some c/c++ syntax cause content assist hanging, such as try-catch and do-while
-rw-r--r--core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF2
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java6
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java9
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java128
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java163
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java3
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g6
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g10
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties14
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g4
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java7
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java6
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java3
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java382
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java778
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java382
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java778
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java378
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java1222
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java382
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java782
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java582
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java3037
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java38
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java582
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java2997
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java38
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java578
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java2942
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java38
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java578
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java3022
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java38
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java582
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java2980
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java38
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java582
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java2965
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java38
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java454
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java1740
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java450
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java1666
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java662
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java3900
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java38
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java658
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java3928
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java38
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml44
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/parserBuild.properties15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java570
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java910
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java570
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java879
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java566
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java1831
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java558
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java854
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java2
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF2
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java43
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java5
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF2
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml55
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/parserBuild.properties15
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g5
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g3
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java486
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java2273
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java6
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java716
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java4848
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java12
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parserBuild.properties15
89 files changed, 28288 insertions, 27659 deletions
diff --git a/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF
index 0d59d8f1849..b762ffaa5e7 100644
--- a/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.ui; singleton:=true
-Bundle-Version: 5.0.2.qualifier
+Bundle-Version: 5.0.3.qualifier
Bundle-Activator: org.eclipse.cdt.ui.CUIPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java
index bc15fb401d3..28a340b0573 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -3379,4 +3379,8 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IC
// workaround for http://bugs.eclipse.org/75555
return super.isPrefQuickDiffAlwaysOn() && !isEnableScalablilityMode();
}
+
+ public boolean shouldProcessLocalParsingCompletions() {
+ return true;
+ }
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java
index d7970fb7046..99e770a2bb1 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -116,6 +116,13 @@ public class CContentAssistInvocationContext extends ContentAssistInvocationCont
//for scalability
if (fEditor != null && fEditor instanceof CEditor) {
CEditor editor = (CEditor)fEditor;
+
+ // check to make sure we should attempt local parsing completions... for remote projects
+ // we should not do this
+ if(!editor.shouldProcessLocalParsingCompletions()) {
+ return null;
+ }
+
if (editor.isEnableScalablilityMode()) {
if (editor.isParserBasedContentAssistDisabled()) {
return null;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF
index 92f6f2f6669..bc60c31762f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.tests
-Bundle-Version: 5.0.2.qualifier
+Bundle-Version: 5.0.3.qualifier
Require-Bundle: org.eclipse.core.runtime,
org.junit,
org.eclipse.cdt.core.tests,
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java
new file mode 100644
index 00000000000..b3acd654260
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.lrparser.tests;
+
+
+import org.eclipse.cdt.core.dom.ast.IASTCompletionNode;
+import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage;
+import org.eclipse.cdt.core.model.ILanguage;
+
+import junit.framework.TestCase;
+
+
+public class AbstractLRHangingTest extends TestCase{
+
+
+
+
+ public AbstractLRHangingTest() {
+ }
+
+ public AbstractLRHangingTest(String name) {
+ super(name);
+ }
+
+
+
+
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
+ }
+
+ protected ILanguage getCPPLanguage() {
+ return GPPLanguage.getDefault();
+ }
+
+ protected void runThreadByLimitedTime(long limitTime, Thread testThread)throws Exception{
+ testThread.start();
+ testThread.join(limitTime);
+
+ if (testThread.isAlive()) {
+ testThread.interrupt();
+ fail("timeout by " + limitTime / 1000 + " seconds"); //$NON-NLS-2$
+ } else {
+ // Finished
+ }
+ }
+
+ // 1mins
+ public static long THREAD_TIMEOUT_LIMIT = 1 * 60 * 1000;
+ public static String CONTENT_ASIST_CURSOR =" /*<ctrl-space>*/ ";
+
+ private String errMsg="";
+
+ public void resetErrMsg(){
+ errMsg="";
+ }
+
+ public void setErrMsg(String errMsg){
+ this.errMsg=errMsg;
+ }
+
+
+ protected void runTestCase(final String code, final ILanguage language)throws Exception{
+
+
+ Thread testThread = new Thread() {
+
+
+ public void run() {
+
+ String errMsg="";
+ resetErrMsg();
+ String msg=null;
+ int offset = code.indexOf(CONTENT_ASIST_CURSOR);
+ int index=0;
+ while(offset >=0){
+
+ IASTCompletionNode node = null;
+ try {
+ node = ParseHelper.getCompletionNode(code, language, offset);
+ } catch (Exception e) {
+ if(errMsg.length()==0){
+ errMsg = "caught an exception when the code is parsed for cursor number " + index;
+ }else{
+ errMsg = errMsg + "\n" + "caught an exception when the code is parsed for cursor number " + index;
+ }
+
+ }
+ if(node == null){
+ if(errMsg.length()==0){
+ errMsg = "return completion node is null when the code is parsed for cursor number " + index;
+ }else{
+ errMsg = errMsg + "\n" + "return completion node is null when the code is parsed for cursor number " + index;
+ }
+
+ }
+ offset = code.indexOf(CONTENT_ASIST_CURSOR, offset + 1);
+ index++;
+ }
+ setErrMsg(errMsg);
+
+ }
+
+ };
+
+ runThreadByLimitedTime(THREAD_TIMEOUT_LIMIT, testThread);
+ if(errMsg.length()>0){
+ fail(errMsg);
+ }
+
+ }
+
+
+
+
+
+
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java
new file mode 100644
index 00000000000..9f6a0961ff7
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java
@@ -0,0 +1,163 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.core.lrparser.tests;
+
+
+
+
+
+import junit.framework.TestSuite;
+
+public class LRCompletionHangingTest extends AbstractLRHangingTest {
+
+
+
+ public static TestSuite suite() {
+ return new TestSuite(LRCompletionHangingTest.class);
+ }
+
+
+
+
+
+ //test c
+ public void testCompletionDoWhileForC() throws Exception {
+
+ String code =
+ "int main(int argc, char **argv) {" +
+ "do{" +
+ CONTENT_ASIST_CURSOR +
+ "} while (i < 3);" +
+ "}";
+
+ runTestCase(code, getCLanguage());
+
+ }
+
+
+
+ //test cpp
+ public void testCompletionDoWhileForCPP() throws Exception {
+
+ String code =
+ "int main(int argc, char **argv) {" +
+ "do{" +
+ CONTENT_ASIST_CURSOR +
+ "} while (i < 3);" +
+ "}";
+ runTestCase(code, getCPPLanguage());
+ }
+
+ public void testCompletionTryCatch() throws Exception {
+
+ String code =
+ "int main(int argc, char **argv) {" +
+ "try {" +
+ CONTENT_ASIST_CURSOR +
+ "}" +
+
+ "catch(x){}" +
+ "}";
+ runTestCase(code, getCPPLanguage());
+
+ }
+
+
+
+
+ public void testCompletionTemplateFunctionForCPP() throws Exception {
+
+ String code =
+ "template " + CONTENT_ASIST_CURSOR +"<class myType>" +
+ "myType GetA (myType a) {" +
+ "return a;" +
+ "}" +
+
+ "int main(int argc, char **argv) {" +
+ "int x=0;" +
+ "int y = GetA " + CONTENT_ASIST_CURSOR + " <int> (x);" +
+ "}";
+ runTestCase(code, getCPPLanguage());
+ }
+
+
+ public void testCompletionIfForCPP() throws Exception {
+ String code =
+ "int main(int argc, char **argv) {" +
+ "int x=0;" +
+ "if" + CONTENT_ASIST_CURSOR +"(x>0){}" +
+ "}";
+ runTestCase(code, getCPPLanguage());
+
+ }
+
+ public void testCompletionTemplateClassForCPP() throws Exception {
+
+ String code =
+ "template" + CONTENT_ASIST_CURSOR +" <class T> " +
+ "class Test {" +
+ "T val;" +
+ "public:Test(T arg){"+
+ "val = arg;" +
+ "}" +
+ "~" + CONTENT_ASIST_CURSOR +"Test();"+
+ "};" +
+ "Test::" + CONTENT_ASIST_CURSOR +"~" + CONTENT_ASIST_CURSOR +"Test(){}" +
+ "int main(int argc, char **argv) {" +
+ CONTENT_ASIST_CURSOR +
+ "Test<" + CONTENT_ASIST_CURSOR + "int> t(1);" +
+ "Test<" + CONTENT_ASIST_CURSOR +"double>" + CONTENT_ASIST_CURSOR + "* dt = new dt(1.0);" +
+ "S* s = dynamic_cast<S*" + CONTENT_ASIST_CURSOR +">(dt);" +
+ "S* s = dynamic_cast" + CONTENT_ASIST_CURSOR +"<S*>(dt);" +
+ "}";
+ runTestCase(code, getCPPLanguage());
+ }
+
+
+
+
+ public void testCompletionSimpleIfForCPP() throws Exception {
+ String code =
+ "#" + CONTENT_ASIST_CURSOR + "include " + CONTENT_ASIST_CURSOR + "<iostream>" +
+ "using " + CONTENT_ASIST_CURSOR + "namespace std;" +
+ "if" + CONTENT_ASIST_CURSOR + "(i>0)){}" +
+ "int " + CONTENT_ASIST_CURSOR + "*" + CONTENT_ASIST_CURSOR + " i " + CONTENT_ASIST_CURSOR + "=" + CONTENT_ASIST_CURSOR + " &" + CONTENT_ASIST_CURSOR + "j;" +
+ "*" + CONTENT_ASIST_CURSOR + "j=0;" +
+ "*" + CONTENT_ASIST_CURSOR + "j++;"+
+ "*i" + CONTENT_ASIST_CURSOR + "++ = " + CONTENT_ASIST_CURSOR + "*j++;";
+ runTestCase(code, getCPPLanguage());
+
+ }
+
+ public void testCompletionStructForCPP() throws Exception {
+ String code =
+ "struct " + CONTENT_ASIST_CURSOR + "p " + CONTENT_ASIST_CURSOR + "{" +
+ CONTENT_ASIST_CURSOR+
+ "int w;" +
+ "float p;" +
+ "} " + CONTENT_ASIST_CURSOR + "a," + CONTENT_ASIST_CURSOR + "b,c;";
+
+ runTestCase(code, getCPPLanguage());
+
+ }
+
+ public void testCompletionGnuCPP() throws Exception {
+ String code =
+ "if a>b ? " + CONTENT_ASIST_CURSOR + "g" + CONTENT_ASIST_CURSOR + ":l;" +
+ "case 1..." + CONTENT_ASIST_CURSOR + "3 : ok; ";
+ runTestCase(code, getCPPLanguage());
+ }
+
+
+
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java
index 373d3c2a213..deff2283107 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java
index 7c380a91c41..743e16d2bdb 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -46,6 +46,7 @@ public class LRParserTestSuite extends TestSuite {
addTest(LRTests.suite()); // has some tests that do fail
addTest(LRUtilOldTests.suite());
addTest(LRUtilTests.suite());
+ addTest(LRCompletionHangingTest.suite());
//addTest(LRCPPImplicitNameTests.suite());
//addTest(LRInactiveCodeTests.suite());
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF
index c2361a8db7a..b6402986baa 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF
+++ b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.1
Bundle-SymbolicName: org.eclipse.cdt.core.lrparser;singleton:=true
-Bundle-Version: 5.0.2.qualifier
+Bundle-Version: 5.0.3.qualifier
Bundle-ClassPath: .
Require-Bundle: org.eclipse.cdt.core,
net.sourceforge.lpg.lpgjavaruntime;bundle-version="1.1.0";visibility:=reexport,
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
index 0fd203cd02c..4c3d6a384b0 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2009 IBM Corporation and others.
+-- Copyright (c) 2006, 2010 IBM Corporation and others.
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v1.0
-- which accompanies this distribution, and is available at
@@ -440,7 +440,9 @@ expression_opt
iteration_statement
::= 'do' statement 'while' '(' expression ')' ';'
- /. $Build consumeStatementDoLoop(); $EndBuild ./
+ /. $Build consumeStatementDoLoop(true); $EndBuild ./
+ | 'do' statement
+ /. $Build consumeStatementDoLoop(false); $EndBuild ./
| 'while' '(' expression ')' statement
/. $Build consumeStatementWhileLoop(); $EndBuild ./
| 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
index 23898a1d404..04c52a3a678 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
@@ -1,5 +1,5 @@
----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2009 IBM Corporation and others.
+-- Copyright (c) 2006, 2010 IBM Corporation and others.
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v1.0
-- which accompanies this distribution, and is available at
@@ -695,7 +695,9 @@ iteration_statement
::= 'while' '(' condition ')' statement
/. $Build consumeStatementWhileLoop(); $EndBuild ./
| 'do' statement 'while' '(' expression ')' ';'
- /. $Build consumeStatementDoLoop(); $EndBuild ./
+ /. $Build consumeStatementDoLoop(true); $EndBuild ./
+ | 'do' statement
+ /. $Build consumeStatementDoLoop(false); $EndBuild ./
| 'for' '(' for_init_statement condition_opt ';' expression_opt ')' statement
/. $Build consumeStatementForLoop(); $EndBuild ./
@@ -1615,7 +1617,9 @@ explicit_specialization
try_block
::= 'try' compound_statement <openscope-ast> handler_seq
- /. $Build consumeStatementTryBlock(); $EndBuild ./
+ /. $Build consumeStatementTryBlock(true); $EndBuild ./
+ | 'try' compound_statement
+ /. $Build consumeStatementTryBlock(false); $EndBuild ./
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties b/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties
new file mode 100644
index 00000000000..f73da9ed496
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties
@@ -0,0 +1,14 @@
+
+###############################################################################
+# Copyright (c) 2010 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe
+lpg_template=D:/newWorkspace/rdp76_dev_3/org.eclipse.cdt.core.lrparser/grammar/template
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g
index 9c7070f74bc..877b5f4c730 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g
@@ -1,5 +1,5 @@
----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2009 IBM Corporation and others.
+-- Copyright (c) 2006, 2010 IBM Corporation and others.
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v1.0
-- which accompanies this distribution, and is available at
@@ -296,7 +296,7 @@ $End
$Notice
-- Copied into all files generated by LPG
/./*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g
index 50c66497a53..a56bcdbf492 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g
@@ -1,5 +1,5 @@
----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2009 IBM Corporation and others.
+-- Copyright (c) 2006, 2010 IBM Corporation and others.
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v1.0
-- which accompanies this distribution, and is available at
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
index 7d8464afd4a..fd471d0e3c7 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -601,9 +601,10 @@ public abstract class BuildASTParserAction extends AbstractParserAction {
/**
* iteration_statement_matched
* ::= 'do' statement 'while' '(' expression ')' ';'
+ * | 'do' statement
*/
- public void consumeStatementDoLoop() {
- IASTExpression condition = (IASTExpression) astStack.pop();
+ public void consumeStatementDoLoop(boolean hasWhileBlock) {
+ IASTExpression condition = hasWhileBlock? (IASTExpression) astStack.pop() : null;
IASTStatement body = (IASTStatement) astStack.pop();
IASTDoStatement stat = nodeFactory.newDoStatement(body, condition);
setOffsetAndLength(stat);
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
index 9905b68b798..f7ce649e4de 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -688,8 +688,8 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* try_block
* ::= 'try' compound_statement <openscope-ast> handler_seq
*/
- public void consumeStatementTryBlock() {
- List<Object> handlerSeq = astStack.closeScope();
+ public void consumeStatementTryBlock(boolean hasCatchBlock) {
+ List<Object> handlerSeq = hasCatchBlock ? astStack.closeScope() : Collections.emptyList();
IASTStatement body = (IASTStatement) astStack.pop();
ICPPASTTryBlockStatement tryStatement = nodeFactory.newTryBlockStatement(body);
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java
index e002668fdba..cf771e17eb7 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -135,6 +135,7 @@ public class FixedBacktrackingParser extends Stacks
//
public Object parse(int max_error_count) throws BadParseException
{
+ max_error_count = 1000;
action.reset();
tokStream.reset(); // Position at first token.
reallocateStateStack();
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
index 6315d2bac8e..e3b05397792 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -684,595 +684,601 @@ public C99ExpressionParser(ITokenStream stream, Map<String,String> properties) {
//
// Rule 118: iteration_statement ::= do statement while ( expression ) ;
//
- case 118: { action. consumeStatementDoLoop(); break;
+ case 118: { action. consumeStatementDoLoop(true); break;
}
//
- // Rule 119: iteration_statement ::= while ( expression ) statement
+ // Rule 119: iteration_statement ::= do statement
//
- case 119: { action. consumeStatementWhileLoop(); break;
+ case 119: { action. consumeStatementDoLoop(false); break;
}
//
- // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 120: iteration_statement ::= while ( expression ) statement
//
- case 120: { action. consumeStatementForLoop(); break;
+ case 120: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 121: { action. consumeStatementForLoop(); break;
}
//
- // Rule 122: jump_statement ::= goto identifier_token ;
+ // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 122: { action. consumeStatementGoto(); break;
+ case 122: { action. consumeStatementForLoop(); break;
}
//
- // Rule 123: jump_statement ::= continue ;
+ // Rule 123: jump_statement ::= goto identifier_token ;
//
- case 123: { action. consumeStatementContinue(); break;
+ case 123: { action. consumeStatementGoto(); break;
}
//
- // Rule 124: jump_statement ::= break ;
+ // Rule 124: jump_statement ::= continue ;
//
- case 124: { action. consumeStatementBreak(); break;
+ case 124: { action. consumeStatementContinue(); break;
}
//
- // Rule 125: jump_statement ::= return ;
+ // Rule 125: jump_statement ::= break ;
//
- case 125: { action. consumeStatementReturn(false); break;
+ case 125: { action. consumeStatementBreak(); break;
}
//
- // Rule 126: jump_statement ::= return expression ;
+ // Rule 126: jump_statement ::= return ;
//
- case 126: { action. consumeStatementReturn(true); break;
+ case 126: { action. consumeStatementReturn(false); break;
}
//
- // Rule 127: declaration ::= declaration_specifiers ;
+ // Rule 127: jump_statement ::= return expression ;
//
- case 127: { action. consumeDeclarationSimple(false); break;
+ case 127: { action. consumeStatementReturn(true); break;
}
//
- // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 128: declaration ::= declaration_specifiers ;
//
- case 128: { action. consumeDeclarationSimple(true); break;
+ case 128: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 129: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 129: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 130: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 133: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 158: init_declarator ::= complete_declarator = initializer
+ // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 158: { action. consumeDeclaratorWithInitializer(true); break;
+ case 134: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 160: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 159: init_declarator ::= complete_declarator = initializer
//
- case 160: { action. consumeToken(); break;
+ case 159: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 166: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 161: storage_class_specifier ::= storage_class_specifier_token
//
- case 166: { action. consumeToken(); break;
+ case 161: { action. consumeToken(); break;
}
//
- // Rule 179: type_name_specifier ::= identifier_token
+ // Rule 167: simple_type_specifier ::= simple_type_specifier_token
//
- case 179: { action. consumeToken(); break;
+ case 167: { action. consumeToken(); break;
}
//
- // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 180: type_name_specifier ::= identifier_token
//
- case 180: { action. consumeTypeSpecifierComposite(false); break;
+ case 180: { action. consumeToken(); break;
}
//
- // 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 }
+ // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 181: { action. consumeTypeSpecifierComposite(true); break;
+ case 181: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ // Rule 182: 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 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 182: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 194: { action. consumeStructDeclaration(true); break;
+ case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 195: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 195: { action. consumeStructDeclaration(false); break;
+ case 195: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 196: struct_declaration ::= ERROR_TOKEN
+ // Rule 196: struct_declaration ::= specifier_qualifier_list ;
//
- case 196: { action. consumeDeclarationProblem(); break;
+ case 196: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 202: struct_declarator ::= : constant_expression
+ // Rule 197: struct_declaration ::= ERROR_TOKEN
//
- case 202: { action. consumeBitField(false); break;
+ case 197: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 203: struct_declarator ::= declarator : constant_expression
+ // Rule 203: struct_declarator ::= : constant_expression
//
- case 203: { action. consumeBitField(true); break;
+ case 203: { action. consumeBitField(false); break;
}
//
- // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 204: struct_declarator ::= declarator : constant_expression
//
- case 204: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 204: { action. consumeBitField(true); break;
}
//
- // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 205: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 211: enumerator ::= identifier_token
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 211: { action. consumeEnumerator(false); break;
+ case 206: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 212: enumerator ::= identifier_token = constant_expression
+ // Rule 212: enumerator ::= identifier_token
//
- case 212: { action. consumeEnumerator(true); break;
+ case 212: { action. consumeEnumerator(false); break;
}
//
- // Rule 213: type_qualifier ::= type_qualifier_token
+ // Rule 213: enumerator ::= identifier_token = constant_expression
//
- case 213: { action. consumeToken(); break;
+ case 213: { action. consumeEnumerator(true); break;
}
//
- // Rule 217: function_specifier ::= inline
+ // Rule 214: type_qualifier ::= type_qualifier_token
//
- case 217: { action. consumeToken(); break;
+ case 214: { action. consumeToken(); break;
}
//
- // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 218: function_specifier ::= inline
//
- case 219: { action. consumeDeclaratorWithPointer(true); break;
+ case 218: { action. consumeToken(); break;
}
//
- // Rule 224: basic_direct_declarator ::= declarator_id_name
+ // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 224: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 220: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 225: basic_direct_declarator ::= ( declarator )
+ // Rule 225: basic_direct_declarator ::= declarator_id_name
//
- case 225: { action. consumeDirectDeclaratorBracketed(); break;
+ case 225: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 226: declarator_id_name ::= identifier
+ // Rule 226: basic_direct_declarator ::= ( declarator )
//
- case 226: { action. consumeIdentifierName(); break;
+ case 226: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 227: declarator_id_name ::= identifier
//
- case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 227: { action. consumeIdentifierName(); break;
}
//
- // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 231: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 233: { action. consumeDeclaratorWithPointer(true); break;
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 234: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 236: { action. consumeDeclaratorWithPointer(true); break;
+ case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 237: identifier_list ::= identifier
+ // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 237: { action. consumeIdentifierKnR(); break;
+ case 237: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 238: identifier_list ::= identifier_list , identifier
+ // Rule 238: identifier_list ::= identifier
//
case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 239: array_modifier ::= [ ]
+ // Rule 239: identifier_list ::= identifier_list , identifier
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 239: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 240: array_modifier ::= [ ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 241: array_modifier ::= [ assignment_expression ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 241: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 242: array_modifier ::= [ assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 242: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 243: array_modifier ::= [ static assignment_expression ]
+ // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 244: array_modifier ::= [ static assignment_expression ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 246: array_modifier ::= [ * ]
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 247: array_modifier ::= [ * ]
//
- case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
+ // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 249: { action. consumePointer(); break;
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
+ // Rule 250: pointer_seq ::= pointer_hook * pointer_hook
//
case 250: { action. consumePointer(); break;
}
//
- // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 251: { action. consumePointerTypeQualifierList(); break;
+ case 251: { action. consumePointer(); break;
}
//
- // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
+ // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 256: parameter_type_list ::= parameter_list
+ // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 256: { action. consumeEmpty(); break;
+ case 253: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 257: parameter_type_list ::= parameter_list , ...
+ // Rule 257: parameter_type_list ::= parameter_list
//
- case 257: { action. consumePlaceHolder(); break;
+ case 257: { action. consumeEmpty(); break;
}
//
- // Rule 258: parameter_type_list ::= ...
+ // Rule 258: parameter_type_list ::= parameter_list , ...
//
case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 259: parameter_type_list ::= ...
//
- case 261: { action. consumeParameterDeclaration(); break;
+ case 259: { action. consumePlaceHolder(); break;
}
//
- // Rule 262: parameter_declaration ::= declaration_specifiers
+ // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 262: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 265: type_id ::= specifier_qualifier_list
+ // Rule 263: parameter_declaration ::= declaration_specifiers
//
- case 265: { action. consumeTypeId(false); break;
+ case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator
+ // Rule 266: type_id ::= specifier_qualifier_list
//
- case 266: { action. consumeTypeId(true); break;
+ case 266: { action. consumeTypeId(false); break;
}
//
- // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 268: { action. consumeDeclaratorWithPointer(false); break;
+ case 267: { action. consumeTypeId(true); break;
}
//
- // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 269: { action. consumeDeclaratorWithPointer(true); break;
+ case 269: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 273: { action. consumeDirectDeclaratorBracketed(); break;
+ case 270: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 274: array_direct_abstract_declarator ::= array_modifier
+ // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 274: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= array_modifier
//
- case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= ( )
+ // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 278: function_direct_abstract_declarator ::= ( )
+ //
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 281: initializer ::= assignment_expression
+ // Rule 282: initializer ::= assignment_expression
//
- case 281: { action. consumeInitializer(); break;
+ case 282: { action. consumeInitializer(); break;
}
//
- // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
+ // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 283: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 284: initializer_list ::= { <openscope-ast> }
+ // Rule 285: initializer_list ::= { <openscope-ast> }
//
- case 284: { action. consumeInitializerList(); break;
+ case 285: { action. consumeInitializerList(); break;
}
//
- // Rule 285: start_initializer_list ::= $Empty
+ // Rule 286: start_initializer_list ::= $Empty
//
- case 285: { action. initializerListStart(); break;
+ case 286: { action. initializerListStart(); break;
}
//
- // Rule 286: end_initializer_list ::= $Empty
+ // Rule 287: end_initializer_list ::= $Empty
//
- case 286: { action. initializerListEnd(); break;
+ case 287: { action. initializerListEnd(); break;
}
//
- // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 291: { action. consumeInitializerDesignated(); break;
+ case 292: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 295: designator_base ::= [ constant_expression ]
+ // Rule 296: designator_base ::= [ constant_expression ]
//
- case 295: { action. consumeDesignatorArray(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 296: designator_base ::= . identifier_token
+ // Rule 297: designator_base ::= . identifier_token
//
- case 296: { action. consumeDesignatorField(); break;
+ case 297: { action. consumeDesignatorField(); break;
}
//
- // Rule 297: designator ::= [ constant_expression ]
+ // Rule 298: designator ::= [ constant_expression ]
//
- case 297: { action. consumeDesignatorArray(); break;
+ case 298: { action. consumeDesignatorArray(); break;
}
//
- // Rule 298: designator ::= . identifier_token
+ // Rule 299: designator ::= . identifier_token
//
- case 298: { action. consumeDesignatorField(); break;
+ case 299: { action. consumeDesignatorField(); break;
}
//
- // Rule 299: translation_unit ::= external_declaration_list
+ // Rule 300: translation_unit ::= external_declaration_list
//
- case 299: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 300: translation_unit ::= $Empty
+ // Rule 301: translation_unit ::= $Empty
//
- case 300: { action. consumeTranslationUnit(); break;
+ case 301: { action. consumeTranslationUnit(); break;
}
//
- // Rule 305: external_declaration ::= ;
+ // Rule 306: external_declaration ::= ;
//
- case 305: { action. consumeDeclarationEmpty(); break;
+ case 306: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 306: external_declaration ::= ERROR_TOKEN
+ // Rule 307: external_declaration ::= ERROR_TOKEN
//
- case 306: { action. consumeDeclarationProblem(); break;
+ case 307: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 310: { action. consumeFunctionDefinition(false); break;
+ case 311: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 311: { action. consumeFunctionDefinitionKnR(); break;
+ case 312: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 312: { action. consumeFunctionDefinition(true); break;
+ case 313: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 313: function_body ::= { }
+ // Rule 314: function_body ::= { }
//
- case 313: { action. consumeStatementCompoundStatement(false); break;
+ case 314: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 314: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 315: function_body ::= { <openscope-ast> block_item_list }
//
- case 314: { action. consumeStatementCompoundStatement(true); break;
+ case 315: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 316: expression_parser_start ::= ERROR_TOKEN
+ // Rule 317: expression_parser_start ::= ERROR_TOKEN
//
- case 316: { action. consumeEmpty(); break;
+ case 317: { action. consumeEmpty(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java
index f2469d12fa0..b03d8c092b5 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -45,171 +45,171 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
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,2,5,7,5,1,0,7,2,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,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,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,1,3,
- 6,4,2,4,1,1,-37,0,0,0,
- 0,0,0,0,0,0,0,-2,0,0,
- 0,0,0,0,0,0,0,-137,0,0,
- -4,-159,-118,0,0,0,0,0,-74,0,
+ 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,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,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,1,
+ 3,6,4,2,4,1,1,-37,0,0,
+ 0,0,0,0,0,0,0,0,-2,0,
+ 0,0,0,0,0,0,0,0,-137,0,
+ 0,-4,-159,-118,0,0,0,0,0,-74,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-14,0,-30,0,-31,0,0,0,0,
- 0,-16,0,-80,-119,0,-120,0,0,0,
- 0,0,0,0,0,-141,0,0,0,0,
+ 0,0,-14,0,-30,0,-31,0,0,0,
+ 0,0,-16,0,-80,-119,0,-120,0,0,
+ 0,0,0,0,0,0,-141,0,0,0,
0,0,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,-3,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-105,-124,0,0,-191,0,-17,-131,-130,
+ 0,0,-105,-124,0,0,-191,0,-17,-131,
+ -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,-5,0,0,0,0,
+ 0,0,0,0,0,-121,0,-122,0,0,
+ 0,0,-177,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-5,0,0,0,0,0,
- 0,0,0,0,-121,0,-122,0,0,0,
- 0,-177,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,-111,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-179,0,-194,0,-18,
+ 0,-19,0,-20,-21,-22,-192,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-179,0,-194,0,-18,0,
- -19,0,-20,-21,-22,-192,0,0,0,0,
+ 0,0,0,0,0,0,0,-134,0,-38,
+ 0,0,0,0,0,0,0,0,0,-39,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-134,0,-38,0,
- 0,0,0,0,0,0,0,0,-39,0,
+ 0,-23,-109,-24,0,0,0,0,0,-71,
+ -55,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -23,-109,-24,0,0,0,0,0,-71,-55,
+ 0,0,-25,0,-107,-26,-88,-89,0,0,
+ 0,0,-90,0,-91,0,0,0,0,0,
+ 0,0,0,0,0,0,-27,0,0,0,
+ 0,0,0,0,0,0,0,-34,0,0,
+ 0,0,0,0,0,0,0,-57,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-58,0,
+ 0,0,0,0,0,0,0,0,0,-35,
+ 0,0,0,0,0,0,0,0,0,-59,
0,0,0,0,0,0,0,0,0,0,
- 0,-25,0,-107,-26,-88,-89,0,0,0,
- 0,-90,0,-91,0,0,0,0,0,0,
- 0,0,0,0,0,-27,0,0,0,0,
- 0,0,0,0,0,0,-34,0,0,0,
- 0,0,0,0,0,0,-57,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-58,0,0,
- 0,0,0,0,0,0,0,0,-35,0,
- 0,0,0,0,0,0,0,0,-59,0,
+ -60,0,0,0,0,0,0,0,0,0,
+ 0,-68,0,0,0,0,0,0,0,0,
+ 0,-61,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-60,
+ 0,0,-62,0,0,0,0,0,0,0,
+ 0,0,0,-69,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,0,
- -68,0,0,0,0,0,0,0,0,0,
- -61,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-64,0,0,0,0,0,
+ 0,0,0,0,0,-70,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,-62,0,0,0,0,0,0,0,0,
- 0,0,-69,0,0,0,0,0,0,0,
- 0,0,-63,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-66,0,0,0,
+ 0,0,0,0,0,0,0,-115,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,-64,0,0,0,0,0,0,
- 0,0,0,0,-70,0,0,0,0,0,
- 0,0,0,0,-65,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-123,0,
+ 0,0,0,0,0,0,0,0,0,-132,
+ 0,0,0,0,0,0,0,0,0,-144,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-66,0,0,0,0,
- 0,0,0,0,0,0,-115,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,-123,0,0,
- 0,0,0,0,0,0,0,0,-132,0,
- 0,0,0,0,0,0,0,0,-144,0,
+ -145,0,0,0,0,0,0,0,0,0,
+ 0,-153,0,0,0,0,0,0,0,0,
+ 0,-180,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-145,
+ 0,-189,0,0,0,0,0,0,0,0,
+ 0,0,-92,0,0,0,0,0,0,0,
+ 0,-6,0,0,0,0,0,0,0,-93,
+ 0,-7,0,0,0,0,0,0,0,-195,
0,0,0,0,0,0,0,0,0,0,
- -153,0,0,0,0,0,0,0,0,0,
- -180,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-201,
0,0,0,0,0,0,0,0,0,0,
- -189,0,0,0,0,0,0,0,0,0,
- 0,-92,0,0,0,0,0,0,0,0,
- -6,0,0,0,0,0,0,0,-93,0,
- -7,0,0,0,0,0,0,0,-195,0,
+ -94,0,0,0,0,0,0,0,0,-8,
+ 0,0,0,0,0,0,0,-200,0,-9,
+ 0,0,0,0,0,0,0,-209,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-201,0,
- 0,0,0,0,0,0,0,0,0,-94,
- 0,0,0,0,0,0,0,0,-8,0,
- 0,0,0,0,0,0,-200,0,-9,0,
- 0,0,0,0,0,0,-209,0,0,0,
+ 0,0,0,0,0,0,0,-133,-47,0,
+ 0,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,-133,-47,0,0,
- 0,0,0,0,0,0,0,0,-49,0,
- 0,0,0,0,0,0,0,0,0,-76,
- 0,0,0,-95,-73,0,-148,-78,-125,0,
- 0,0,0,0,0,0,0,0,-96,0,
- 0,0,0,0,-112,0,0,0,-77,0,
- 0,0,0,-149,0,0,0,0,0,0,
- 0,0,0,0,0,0,-117,-166,0,-97,
+ -76,0,0,0,-95,-73,0,-148,-78,-125,
+ 0,0,0,0,0,0,0,0,0,-96,
+ 0,0,0,0,0,-112,0,0,0,-77,
+ 0,0,0,0,-149,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-117,-166,0,
+ -97,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-157,0,0,-158,-98,0,0,
+ -82,0,-56,0,0,0,0,0,0,0,
+ 0,0,0,-106,0,0,0,0,0,-52,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-157,0,0,-158,-98,0,0,-82,
- 0,-56,0,0,0,0,0,0,0,0,
- 0,0,-106,0,0,0,0,0,-52,0,
- 0,0,0,0,0,0,0,0,0,-183,
- 0,0,0,0,-87,0,-53,0,0,0,
- 0,0,0,0,0,0,0,-167,0,0,
- 0,0,0,-129,0,0,0,0,-1,-138,
- 0,0,0,0,0,0,0,-99,-186,0,
- 0,-181,-100,0,0,0,0,0,-170,0,
+ -183,0,0,0,0,-87,0,-53,0,0,
+ 0,0,0,0,0,0,0,0,-167,0,
+ 0,0,0,0,-129,0,0,0,0,-1,
+ -138,0,0,0,0,0,0,0,-99,-186,
+ 0,0,-181,-100,0,0,0,0,0,-170,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-48,0,
- 0,0,0,0,0,0,0,0,0,-50,
+ 0,0,0,0,0,0,0,0,0,-48,
0,0,0,0,0,0,0,0,0,0,
- -196,0,-51,0,0,0,0,0,0,0,
- 0,0,0,-208,0,0,-127,-140,0,0,
- 0,-146,0,0,0,-101,-102,-103,0,0,
- -43,0,0,0,0,0,0,0,0,0,
- 0,0,-104,0,-108,0,0,0,0,0,
- 0,0,0,-10,0,0,0,0,0,0,
- 0,-110,-83,0,-44,0,0,0,0,0,
- 0,0,0,0,0,-45,0,0,0,0,
- 0,0,0,0,0,0,-72,0,0,0,
- 0,0,0,0,0,0,-46,0,0,0,
- 0,0,0,0,0,0,0,-203,-171,-75,
- -11,0,0,0,0,0,0,0,0,0,
- 0,-12,0,0,0,0,0,0,0,0,
- 0,-126,-135,0,0,0,-143,-156,-160,-142,
+ -50,0,0,0,0,0,0,0,0,0,
+ 0,-196,0,-51,0,0,0,0,0,0,
+ 0,0,0,0,-208,0,0,-127,-140,0,
+ 0,0,-146,0,0,0,-101,-102,-103,0,
+ 0,-43,0,0,0,0,0,0,0,0,
+ 0,0,0,-104,0,-108,0,0,0,0,
+ 0,0,0,0,-10,0,0,0,0,0,
+ 0,0,-110,-83,0,-44,0,0,0,0,
+ 0,0,0,0,0,0,-45,0,0,0,
+ 0,0,0,0,0,0,0,-72,0,0,
+ 0,0,0,0,0,0,0,-46,0,0,
+ 0,0,0,0,0,0,0,0,-203,-171,
+ -75,-11,0,0,0,0,0,0,0,0,
+ 0,0,-12,0,0,0,0,0,0,0,
+ 0,0,-126,-135,0,0,0,-143,-156,-160,
+ -142,0,0,0,0,0,0,0,0,0,
+ 0,-210,0,-150,0,0,0,0,0,-114,
+ 0,0,0,0,0,0,0,0,0,-147,
0,0,0,0,0,0,0,0,0,0,
- -210,0,-150,0,0,0,0,0,-114,0,
- 0,0,0,0,0,0,0,0,-147,0,
- 0,0,0,0,0,0,0,0,0,-36,
- -113,-139,0,0,0,0,0,0,0,0,
- 0,-169,0,-40,0,0,0,0,0,0,
- 0,-151,0,0,-154,0,-41,0,0,0,
- 0,0,0,0,-42,0,0,0,0,0,
- 0,0,-116,0,0,0,0,-162,0,-165,
- -168,0,-164,0,-32,-173,0,0,-187,-174,
- 0,0,-190,0,-15,0,-163,0,-176,0,
- -175,0,0,0,0,0,0,-13,0,0,
- 0,0,0,0,-28,0,0,-29,-178,0,
- 0,-128,-155,0,0,0,0,0,0,0,
- 0,0,-202,0,0,0,0,0,0,0,
- -79,-207,0,0,0,0,0,0,0,0,
- -172,0,-81,0,-85,0,-84,0,0,0,
- 0,0,0,0,0,0,-86,-188,0,0,
+ -36,-113,-139,0,0,0,0,0,0,0,
+ 0,0,-169,0,-40,0,0,0,0,0,
+ 0,0,-151,0,0,-154,0,-41,0,0,
+ 0,0,0,0,0,-42,0,0,0,0,
+ 0,0,0,-116,0,0,0,0,-162,0,
+ -165,-168,0,-164,0,-32,-173,0,0,-187,
+ -174,0,0,-190,0,-15,0,-163,0,-176,
+ 0,-175,0,0,0,0,0,0,-13,0,
+ 0,0,0,0,0,-28,0,0,-29,-178,
+ 0,0,-128,-155,0,0,0,0,0,0,
+ 0,0,0,-202,0,0,0,0,0,0,
+ 0,-79,-207,0,0,0,0,0,0,0,
+ 0,-172,0,-81,0,-85,0,-84,0,0,
+ 0,0,0,0,0,0,0,-86,-188,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-197,-184,-185,0,0,0,0,-136,-33,
- -54,0,0,0,0,-152,0,0,-204,0,
- 0,0,0,0,-199,-161,0,0,0,0,
- -182,0,-205,0,-193,0,0,-206,0,0,
- 0,0,0,0,0,0,0,0,0,-198,
+ 0,0,-197,-184,-185,0,0,0,0,-136,
+ -33,-54,0,0,0,0,-152,0,0,-204,
+ 0,0,0,0,0,-199,-161,0,0,0,
+ 0,-182,0,-205,0,-193,0,0,-206,0,
0,0,0,0,0,0,0,0,0,0,
+ -198,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,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;
@@ -231,171 +231,171 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
88,88,72,72,49,104,104,104,104,104,
104,104,105,105,105,106,106,111,111,112,
112,107,107,108,108,108,114,114,109,109,
- 109,109,110,110,110,110,110,113,113,25,
- 25,25,25,25,28,28,28,78,78,73,
- 73,73,73,74,74,74,75,75,75,76,
- 76,76,77,77,77,115,115,116,116,117,
- 29,31,31,31,31,31,53,54,54,54,
- 54,54,54,54,54,54,54,54,54,64,
- 61,61,89,90,66,66,62,62,62,67,
- 79,79,80,80,68,68,68,43,91,91,
- 81,82,82,82,63,63,92,83,83,84,
- 84,69,69,22,23,23,23,30,50,50,
- 33,33,33,33,36,36,38,34,34,35,
- 39,39,118,118,37,119,119,93,93,26,
- 26,26,26,26,26,26,26,26,85,51,
- 51,51,51,27,56,56,55,55,55,57,
- 57,52,52,94,94,59,59,58,58,58,
- 44,44,44,45,46,46,46,47,47,47,
- 47,65,65,42,42,48,96,95,95,95,
- 95,86,97,98,98,99,99,100,100,120,
- 120,121,121,122,122,122,122,124,124,123,
- 123,123,125,126,126,87,87,1,626,17,
- 21,18,372,625,45,448,382,541,31,539,
- 544,543,591,545,622,593,75,92,124,135,
- 213,670,629,596,338,137,134,136,160,275,
- 20,17,21,18,372,625,45,448,382,541,
- 1501,539,544,543,591,545,622,593,75,1145,
- 139,166,579,239,201,31,201,31,143,146,
- 149,152,57,384,118,201,187,201,186,341,
- 1128,1611,1623,1627,1637,1225,434,20,17,21,
- 18,372,625,45,448,382,541,342,539,544,
- 543,591,545,622,593,75,281,482,20,17,
- 21,18,372,625,45,448,382,541,1525,539,
- 544,543,591,545,622,593,75,92,282,1589,
- 1262,293,97,518,1365,25,158,24,157,695,
- 299,20,17,21,18,372,625,45,448,382,
- 541,287,539,544,543,591,545,622,593,75,
- 1342,255,213,343,240,506,20,17,21,18,
- 372,41,288,284,28,662,1502,201,188,341,
- 1365,1186,332,20,17,21,18,372,625,45,
- 448,382,541,342,539,544,543,591,545,622,
- 593,75,281,554,20,17,21,18,372,625,
- 45,448,382,541,1592,539,544,543,591,545,
- 622,593,75,1244,282,201,296,201,298,6,
- 1365,30,283,589,200,191,458,20,17,21,
- 18,372,625,45,448,382,541,289,539,544,
- 543,591,545,622,593,75,281,189,179,482,
- 20,17,21,18,372,43,45,627,290,482,
- 20,17,21,18,372,43,45,632,282,135,
- 213,344,242,243,1365,137,134,136,160,104,
- 482,20,17,21,18,372,43,45,448,382,
- 541,291,539,544,543,591,545,1348,274,1452,
- 139,166,171,22,14,547,578,194,143,146,
- 149,152,199,384,416,443,269,1149,1120,272,
- 1128,1611,1623,1627,1637,1225,482,20,17,21,
- 18,372,625,45,448,382,541,489,539,544,
- 543,591,545,622,593,75,93,482,20,17,
- 21,18,372,625,45,448,382,541,1407,539,
- 544,543,591,545,622,593,75,86,482,20,
- 17,21,18,372,625,45,448,382,541,489,
- 539,544,543,591,545,622,593,75,85,482,
- 20,17,21,18,372,625,45,448,382,541,
- 19,539,544,543,591,545,622,593,75,84,
- 482,20,17,21,18,372,625,45,448,382,
- 541,489,539,544,543,591,545,622,593,75,
- 83,482,20,17,21,18,372,625,45,448,
- 382,541,442,539,544,543,591,545,622,593,
- 75,82,482,20,17,21,18,372,625,45,
- 448,382,541,489,539,544,543,591,545,622,
- 593,75,81,482,20,17,21,18,372,625,
- 45,448,382,541,1203,539,544,543,591,545,
- 622,593,75,80,482,20,17,21,18,372,
- 625,45,448,382,541,489,539,544,543,591,
- 545,622,593,75,79,482,20,17,21,18,
- 372,625,45,448,382,541,23,539,544,543,
- 591,545,622,593,75,78,482,20,17,21,
- 18,372,625,45,448,382,541,489,539,544,
- 543,591,545,622,593,75,77,482,20,17,
- 21,18,372,625,45,448,382,541,273,539,
- 544,543,591,545,622,593,75,76,482,20,
- 17,21,18,372,625,45,448,382,541,489,
- 539,544,543,591,545,622,593,75,74,482,
- 20,17,21,18,372,625,45,448,382,541,
- 279,539,544,543,591,545,622,593,75,1548,
- 482,20,17,21,18,372,625,45,448,382,
- 541,489,539,544,543,591,545,622,593,75,
- 1567,482,20,17,21,18,372,43,45,448,
- 382,541,280,539,544,543,591,545,622,593,
- 94,482,20,17,21,18,372,43,45,448,
- 382,541,466,539,544,543,591,545,622,593,
- 94,482,20,17,21,18,372,43,40,488,
- 1695,482,20,17,21,18,372,43,39,482,
- 20,17,21,18,372,43,45,448,382,541,
- 212,539,544,543,591,545,622,593,94,482,
- 20,17,21,18,372,43,45,448,382,541,
- 490,539,544,543,591,545,622,593,94,482,
- 20,17,21,18,372,43,38,446,1698,482,
- 20,17,21,18,372,43,37,482,20,17,
- 21,18,372,43,45,448,382,541,202,539,
- 544,543,591,545,622,593,94,113,482,20,
- 17,21,18,372,43,45,448,1124,1522,482,
- 20,17,21,18,372,43,45,448,382,541,
- 144,539,1170,274,241,44,203,207,232,14,
- 218,1154,221,1473,223,224,229,194,1550,601,
- 396,267,1149,1120,272,104,275,263,277,327,
- 135,213,1382,274,499,264,142,134,136,160,
- 218,1154,221,1473,223,224,229,679,679,241,
- 245,267,1149,1120,272,276,592,1553,1669,1663,
- 228,141,166,559,1560,867,712,13,278,231,
- 387,261,482,20,17,21,18,372,43,45,
- 448,382,541,205,539,544,543,591,1363,482,
- 20,17,21,18,372,43,45,448,382,541,
- 710,539,544,543,1263,189,179,482,20,17,
- 21,18,372,43,45,448,382,541,151,539,
- 544,1346,255,213,104,28,1569,135,213,382,
- 14,1365,209,138,134,136,160,385,50,281,
- 417,1593,630,637,274,1452,1556,1571,243,421,
- 1679,219,1154,221,1473,223,224,229,140,166,
- 1259,88,269,1149,1120,272,144,147,150,153,
- 315,384,218,1154,221,1473,223,224,229,482,
- 20,17,21,18,372,43,45,448,1139,1603,
- 482,20,17,21,18,372,43,45,448,382,
- 541,719,1187,482,20,17,21,18,372,43,
- 45,448,382,541,281,1258,328,44,14,195,
- 198,200,104,255,213,1679,697,305,324,1183,
- 1067,482,20,17,21,18,372,43,45,448,
- 382,634,294,671,1457,615,242,218,1154,221,
- 1473,223,224,229,482,20,17,21,18,372,
- 43,36,676,414,1603,482,20,17,21,18,
- 372,43,45,448,382,992,482,20,17,21,
- 18,372,43,45,448,382,1009,409,20,17,
- 21,18,372,43,44,199,200,482,20,17,
- 21,18,372,43,45,448,382,1050,612,95,
- 326,482,20,17,21,18,372,43,35,1679,
- 567,1543,530,20,17,21,18,372,34,28,
- 387,277,733,711,197,1365,274,698,14,707,
- 44,218,1154,221,1473,223,224,229,1686,1621,
- 1691,728,1269,720,267,1149,1120,272,1553,358,
- 20,17,21,18,372,43,36,1459,867,358,
- 20,17,21,18,372,43,36,193,1452,227,
- 160,52,664,246,219,1154,221,1473,223,224,
- 229,1125,518,247,482,20,17,21,18,372,
- 43,48,44,254,213,721,274,482,20,17,
- 21,18,372,43,47,482,20,17,21,18,
- 372,43,46,567,267,1149,1120,272,104,1382,
- 567,14,180,489,567,465,723,449,266,723,
- 696,567,1664,201,1560,14,417,104,1097,518,
- 1382,724,244,1238,225,1097,317,1382,530,20,
- 17,21,18,372,33,14,450,90,14,738,
- 197,245,52,48,592,259,317,88,909,317,
- 1453,1238,259,742,567,909,699,1453,1500,446,
- 197,627,287,197,254,213,1638,88,197,1693,
- 88,559,1560,632,657,439,699,661,1500,699,
- 1768,1500,210,135,213,1768,1269,666,518,145,
- 134,136,160,825,741,135,213,783,449,135,
- 213,148,134,136,160,151,134,136,160,135,
- 213,192,489,587,142,154,134,136,160,116,
- 14,14,1512,1429,567,567,357,919,204,44,
- 567,417,417,230,1768,518,52,567,1097,197,
- 209,52,487,518,1097,104,1768,1768,104,1768,
- 1768,1097,88,88,1559,1571,1382,1269,254,213,
- 365,599,1347,254,213,259,1768,485,1662,295,
- 1453,259,297,1768,951,181,1453,1768,260,1768,
- 1471,234,192,205,1768,1768,1768,1768,1768,1768,
- 1768,1768,1220,1685,1429,1768,1768,1321,1768,1768,
- 1768,1768,1768,1768,1768,1768,1710,1768,0,20,
- 179,0,1,1994,0,1,2005,0
+ 109,109,109,110,110,110,110,110,113,113,
+ 25,25,25,25,25,28,28,28,78,78,
+ 73,73,73,73,74,74,74,75,75,75,
+ 76,76,76,77,77,77,115,115,116,116,
+ 117,29,31,31,31,31,31,53,54,54,
+ 54,54,54,54,54,54,54,54,54,54,
+ 64,61,61,89,90,66,66,62,62,62,
+ 67,79,79,80,80,68,68,68,43,91,
+ 91,81,82,82,82,63,63,92,83,83,
+ 84,84,69,69,22,23,23,23,30,50,
+ 50,33,33,33,33,36,36,38,34,34,
+ 35,39,39,118,118,37,119,119,93,93,
+ 26,26,26,26,26,26,26,26,26,85,
+ 51,51,51,51,27,56,56,55,55,55,
+ 57,57,52,52,94,94,59,59,58,58,
+ 58,44,44,44,45,46,46,46,47,47,
+ 47,47,65,65,42,42,48,96,95,95,
+ 95,95,86,97,98,98,99,99,100,100,
+ 120,120,121,121,122,122,122,122,124,124,
+ 123,123,123,125,126,126,87,87,1,627,
+ 17,21,18,373,626,45,449,383,542,31,
+ 540,545,544,592,546,623,594,75,92,124,
+ 136,214,670,629,596,339,138,135,137,161,
+ 275,20,17,21,18,373,626,45,449,383,
+ 542,1502,540,545,544,592,546,623,594,75,
+ 1146,140,167,579,240,201,31,201,31,144,
+ 147,150,153,57,385,118,201,188,201,187,
+ 342,1129,1612,1624,1628,1638,1226,434,20,17,
+ 21,18,373,626,45,449,383,542,343,540,
+ 545,544,592,546,623,594,75,282,482,20,
+ 17,21,18,373,626,45,449,383,542,1526,
+ 540,545,544,592,546,623,594,75,92,283,
+ 1590,1263,294,97,518,1366,25,158,24,157,
+ 695,299,20,17,21,18,373,626,45,449,
+ 383,542,288,540,545,544,592,546,623,594,
+ 75,1343,256,214,344,241,506,20,17,21,
+ 18,373,41,289,285,28,662,1503,201,189,
+ 342,1366,1187,332,20,17,21,18,373,626,
+ 45,449,383,542,343,540,545,544,592,546,
+ 623,594,75,282,554,20,17,21,18,373,
+ 626,45,449,383,542,1593,540,545,544,592,
+ 546,623,594,75,1245,283,201,297,201,299,
+ 6,1366,30,284,589,200,191,458,20,17,
+ 21,18,373,626,45,449,383,542,290,540,
+ 545,544,592,546,623,594,75,282,189,180,
+ 482,20,17,21,18,373,43,45,628,291,
+ 482,20,17,21,18,373,43,45,633,283,
+ 136,214,344,242,243,1366,138,135,137,161,
+ 104,482,20,17,21,18,373,43,45,449,
+ 383,542,292,540,545,544,592,546,1349,275,
+ 1453,140,167,171,22,14,547,578,194,144,
+ 147,150,153,199,385,416,444,270,1150,1121,
+ 273,1129,1612,1624,1628,1638,1226,482,20,17,
+ 21,18,373,626,45,449,383,542,489,540,
+ 545,544,592,546,623,594,75,93,482,20,
+ 17,21,18,373,626,45,449,383,542,1408,
+ 540,545,544,592,546,623,594,75,86,482,
+ 20,17,21,18,373,626,45,449,383,542,
+ 489,540,545,544,592,546,623,594,75,85,
+ 482,20,17,21,18,373,626,45,449,383,
+ 542,19,540,545,544,592,546,623,594,75,
+ 84,482,20,17,21,18,373,626,45,449,
+ 383,542,489,540,545,544,592,546,623,594,
+ 75,83,482,20,17,21,18,373,626,45,
+ 449,383,542,443,540,545,544,592,546,623,
+ 594,75,82,482,20,17,21,18,373,626,
+ 45,449,383,542,489,540,545,544,592,546,
+ 623,594,75,81,482,20,17,21,18,373,
+ 626,45,449,383,542,1204,540,545,544,592,
+ 546,623,594,75,80,482,20,17,21,18,
+ 373,626,45,449,383,542,489,540,545,544,
+ 592,546,623,594,75,79,482,20,17,21,
+ 18,373,626,45,449,383,542,23,540,545,
+ 544,592,546,623,594,75,78,482,20,17,
+ 21,18,373,626,45,449,383,542,489,540,
+ 545,544,592,546,623,594,75,77,482,20,
+ 17,21,18,373,626,45,449,383,542,274,
+ 540,545,544,592,546,623,594,75,76,482,
+ 20,17,21,18,373,626,45,449,383,542,
+ 489,540,545,544,592,546,623,594,75,74,
+ 482,20,17,21,18,373,626,45,449,383,
+ 542,280,540,545,544,592,546,623,594,75,
+ 1549,482,20,17,21,18,373,626,45,449,
+ 383,542,489,540,545,544,592,546,623,594,
+ 75,1568,482,20,17,21,18,373,43,45,
+ 449,383,542,281,540,545,544,592,546,623,
+ 594,94,482,20,17,21,18,373,43,45,
+ 449,383,542,466,540,545,544,592,546,623,
+ 594,94,482,20,17,21,18,373,43,40,
+ 488,1696,482,20,17,21,18,373,43,39,
+ 482,20,17,21,18,373,43,45,449,383,
+ 542,213,540,545,544,592,546,623,594,94,
+ 482,20,17,21,18,373,43,45,449,383,
+ 542,490,540,545,544,592,546,623,594,94,
+ 482,20,17,21,18,373,43,38,446,1699,
+ 482,20,17,21,18,373,43,37,482,20,
+ 17,21,18,373,43,45,449,383,542,203,
+ 540,545,544,592,546,623,594,94,113,482,
+ 20,17,21,18,373,43,45,449,1125,1523,
+ 482,20,17,21,18,373,43,45,449,383,
+ 542,144,540,1171,275,241,44,204,207,232,
+ 14,219,1155,222,1474,224,225,230,195,1551,
+ 601,397,268,1150,1121,273,104,276,264,278,
+ 327,136,214,1383,275,499,265,143,135,137,
+ 161,219,1155,222,1474,224,225,230,679,679,
+ 242,245,268,1150,1121,273,277,593,1554,1670,
+ 1664,229,142,167,559,1561,868,712,13,279,
+ 232,387,262,482,20,17,21,18,373,43,
+ 45,449,383,542,205,540,545,544,592,1364,
+ 482,20,17,21,18,373,43,45,449,383,
+ 542,710,540,545,544,1264,189,180,482,20,
+ 17,21,18,373,43,45,449,383,542,151,
+ 540,545,1347,256,214,104,28,1570,136,214,
+ 382,14,1366,210,139,135,137,161,386,50,
+ 281,418,1594,630,637,275,1453,1557,1572,244,
+ 421,1680,220,1155,222,1474,224,225,230,141,
+ 167,1260,88,270,1150,1121,273,145,148,151,
+ 154,316,385,219,1155,222,1474,224,225,230,
+ 482,20,17,21,18,373,43,45,449,1140,
+ 1604,482,20,17,21,18,373,43,45,449,
+ 383,542,719,1188,482,20,17,21,18,373,
+ 43,45,449,383,542,281,1259,329,44,14,
+ 196,199,201,104,256,214,1680,697,305,324,
+ 1184,1068,482,20,17,21,18,373,43,45,
+ 449,383,635,295,671,1458,615,243,219,1155,
+ 222,1474,224,225,230,482,20,17,21,18,
+ 373,43,36,676,414,1604,482,20,17,21,
+ 18,373,43,45,449,383,993,482,20,17,
+ 21,18,373,43,45,449,383,1010,409,20,
+ 17,21,18,373,43,44,200,201,482,20,
+ 17,21,18,373,43,45,449,383,1051,612,
+ 95,326,482,20,17,21,18,373,43,35,
+ 1680,568,1544,530,20,17,21,18,373,34,
+ 28,388,278,733,711,198,1366,275,698,14,
+ 707,44,219,1155,222,1474,224,225,230,1687,
+ 1622,1692,728,1270,720,268,1150,1121,273,1554,
+ 358,20,17,21,18,373,43,36,1460,868,
+ 358,20,17,21,18,373,43,36,194,1453,
+ 228,160,52,664,247,220,1155,222,1474,224,
+ 225,230,1126,518,248,482,20,17,21,18,
+ 373,43,48,44,255,214,721,275,482,20,
+ 17,21,18,373,43,47,482,20,17,21,
+ 18,373,43,46,567,268,1150,1121,273,104,
+ 1383,567,14,181,489,568,465,723,450,267,
+ 723,696,568,1665,201,1561,14,418,104,1098,
+ 518,1383,724,245,1239,226,1098,318,1383,530,
+ 20,17,21,18,373,33,14,451,90,14,
+ 738,198,246,52,48,593,260,318,88,910,
+ 318,1454,1239,260,742,568,910,700,1454,1501,
+ 447,198,627,287,198,255,214,1639,88,198,
+ 1694,88,559,1561,632,658,439,700,661,1501,
+ 700,1769,1501,211,136,214,1769,1270,666,518,
+ 146,135,137,161,826,742,136,214,784,450,
+ 136,214,149,135,137,161,152,135,137,161,
+ 136,214,193,489,587,142,155,135,137,161,
+ 116,14,14,1513,1430,568,568,357,920,205,
+ 44,568,418,418,231,1769,518,52,568,1098,
+ 198,210,52,488,518,1098,104,1769,1769,104,
+ 1769,1769,1098,88,88,1560,1572,1383,1270,255,
+ 214,365,600,1348,255,214,260,1769,486,1663,
+ 296,1454,260,298,1769,952,182,1454,1769,261,
+ 1769,1472,235,193,206,1769,1769,1769,1769,1769,
+ 1769,1769,1769,1221,1686,1430,1769,1769,1322,1769,
+ 1769,1769,1769,1769,1769,1769,1769,1711,1769,0,
+ 20,180,0,1,1996,0,1,2007,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -496,87 +496,87 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface TermAction {
public final static char termAction[] = {0,
- 1768,1779,1565,1780,1374,60,1982,1983,1984,1069,
- 1059,1431,62,1,1578,1442,475,1931,1781,1782,
- 1783,1784,1011,1001,1932,1930,1985,1933,1929,55,
- 1768,1936,1941,1940,1938,1939,1937,1942,1943,1935,
- 1944,1945,1946,253,1625,1383,1190,1768,1,61,
- 1,1768,191,1,1,1,52,1982,1983,1984,
- 1417,1396,1385,1351,1,579,569,1417,1396,1385,
- 1351,1,1,1,1,1,1098,1299,1,1,
+ 1769,1780,1566,1781,1375,60,1984,1985,1986,1070,
+ 1060,1432,62,1,1579,1443,476,1933,1782,1783,
+ 1784,1785,1012,1002,1934,1932,1987,1935,1931,55,
+ 1769,1938,1943,1942,1940,1941,1939,1944,1945,1937,
+ 1946,1947,1948,254,1626,1384,1191,1769,1,61,
+ 1,1769,192,1,1,1,52,1984,1985,1986,
+ 1418,1397,1386,1352,1,580,570,1418,1397,1386,
+ 1352,1,1,1,1,1,1099,1300,1,1,
1,1,1,1,1,1,1,1,1,1,
- 191,1,1,1,1768,1,42,1,1964,190,
- 1,1,1,1768,1417,1396,1385,1351,1772,2815,
- 1758,1,262,1994,1127,1,1,182,1,1,
- 1,1,1,183,349,1,1,1,1,1,
- 1,1,1,1,1,1,1,190,1,1,
- 1,1768,1,271,1,1964,191,1,1,1,
- 268,1994,1127,1771,253,349,49,286,1,265,
- 1535,1430,349,1,2026,1,1,1,1,1,
- 71,349,1,1,1,1,1,1,1,1,
- 1,1,1,1,191,1,1,1,1768,1779,
- 69,1780,1964,51,1982,1983,1984,1535,50,63,
- 1768,1779,1535,1780,1768,1931,1,1762,1127,1527,
- 1514,1774,1932,1930,1985,1933,1929,2815,349,1936,
- 1941,1940,1938,1939,1937,1942,1943,1935,1944,1945,
- 1946,129,1625,1383,1190,1192,1773,1982,1983,1984,
- 54,268,73,1430,64,253,1527,1514,1931,579,
- 569,1527,1514,349,1209,1932,1930,1985,1933,1929,
- 1323,1310,1936,1941,1940,1938,1939,1937,1942,1943,
- 1935,1944,1945,1946,1,1779,1565,1780,1479,1772,
- 1,1994,1428,1069,1059,1431,1768,2006,1578,1442,
- 475,513,1781,1782,1783,1784,1011,1001,1768,1779,
- 1565,1780,1489,1772,1768,1323,1310,1069,1059,1431,
- 600,1671,1578,1442,475,940,1781,1782,1783,1784,
- 1011,1001,1768,72,1771,1,270,1430,1167,1768,
- 1774,1,1779,1565,1780,1374,29,349,349,1039,
- 1069,1059,1431,67,2815,1578,1442,475,1771,1781,
- 1782,1783,1784,1011,1001,1773,1,1768,1779,1565,
- 1780,1374,1772,898,1768,1768,1069,1059,1431,1774,
- 1768,1578,1442,475,29,1781,1782,1783,1784,1011,
- 1001,1768,1,1,1,1,185,2828,1192,2828,
- 1,1,1,1612,1773,1,1,1,1768,1,
- 1,1,1,1,1,2025,1227,1771,1768,1779,
- 1565,1780,1374,184,2829,59,2829,1069,1059,1431,
- 1,2815,1578,1442,475,1778,1781,1782,1783,1784,
- 1011,1001,2084,1,1779,1565,1780,1374,206,2830,
- 1768,2830,1069,1059,1431,1768,2815,1578,1442,475,
- 1778,1781,1782,1783,1784,1011,1001,1768,1779,1565,
- 1780,1374,1098,1299,1,58,1069,1059,1431,91,
- 2815,1578,1442,475,1334,1781,1782,1783,1784,1011,
- 1001,1768,1779,1565,1780,1374,1777,57,1768,56,
- 1069,1059,1431,1774,91,1578,1442,475,220,1781,
- 1782,1783,1784,1011,1001,1768,1779,1585,1780,1374,
- 349,1777,1098,1299,1069,1059,1431,1768,1773,1578,
- 1442,475,1776,1781,1782,1783,1784,1011,1001,1768,
- 1779,1588,1780,1374,1098,1299,1098,1299,1069,1059,
- 1431,1768,1768,1578,1442,475,43,1781,1782,1783,
- 1784,1011,1001,1,1779,1565,1780,1374,208,1779,
- 1775,1780,1069,1059,1431,1768,1,1578,1442,475,
- 253,1781,1782,1783,1784,1011,1001,20,32,1759,
- 1555,1759,1759,179,179,179,1,1765,65,1759,
- 1670,1768,1794,1795,179,1768,1779,1768,1780,1109,
- 53,179,179,179,179,179,877,1759,1250,579,
- 569,1,1994,1428,1768,2026,856,835,814,793,
- 772,730,751,709,688,667,130,1129,1768,292,
- 376,131,1982,1983,1984,2026,68,1982,1983,1984,
- 961,1019,1768,1931,1768,374,207,1563,1931,1563,
- 1932,1930,1985,1933,1929,1932,1930,1985,1933,1929,
- 132,1768,1779,1768,1780,133,1982,1983,1984,89,
- 70,1982,1983,1984,1338,1768,1458,1931,1,1337,
- 535,537,1931,1774,1932,1930,1985,1933,1929,1932,
- 1930,1985,1933,1929,248,211,66,249,646,1227,
- 1982,1983,1984,1,1,1,250,1109,1773,251,
- 256,30,1,1,1,1982,1983,1984,252,222,
- 1768,1168,30,207,1982,1983,1984,253,1994,1428,
- 285,349,1768,1551,1209,624,1460,1768,1768,1676,
- 492,201,1768,189,189,189,1768,1768,1768,1768,
- 1768,1797,2731,1768,1768,981,185,184,206,1768,
- 1768,1768,1768,1768,1768,1768,1768,1768,1768,1768,
- 1768,1768,1768,624,1768,1768,1768,1768,1768,1768,
- 1768,1768,1768,1768,1768,1768,1768,1768,1768,1768,
- 1768,1768,1768,1768,1768,1768,1768,546,1768,1768,
- 1077
+ 192,1,1,1,1769,1,42,1,1966,191,
+ 1,1,1,1769,1418,1397,1386,1352,1773,2817,
+ 1759,1,263,1996,1128,1,1,183,1,1,
+ 1,1,1,184,350,1,1,1,1,1,
+ 1,1,1,1,1,1,1,191,1,1,
+ 1,1769,1,272,1,1966,192,1,1,1,
+ 269,1996,1128,1772,254,350,49,287,1,266,
+ 1536,1431,350,1,2028,1,1,1,1,1,
+ 71,350,1,1,1,1,1,1,1,1,
+ 1,1,1,1,192,1,1,1,1769,1780,
+ 69,1781,1966,51,1984,1985,1986,1536,50,63,
+ 1769,1780,1536,1781,1769,1933,1,1763,1128,1528,
+ 1515,1775,1934,1932,1987,1935,1931,2817,350,1938,
+ 1943,1942,1940,1941,1939,1944,1945,1937,1946,1947,
+ 1948,130,1626,1384,1191,1193,1774,1984,1985,1986,
+ 54,269,73,1431,64,254,1528,1515,1933,580,
+ 570,1528,1515,350,1210,1934,1932,1987,1935,1931,
+ 1324,1311,1938,1943,1942,1940,1941,1939,1944,1945,
+ 1937,1946,1947,1948,1,1780,1566,1781,1480,1773,
+ 1,1996,1429,1070,1060,1432,1769,2008,1579,1443,
+ 476,514,1782,1783,1784,1785,1012,1002,1769,1780,
+ 1566,1781,1490,1773,1769,1324,1311,1070,1060,1432,
+ 601,1672,1579,1443,476,941,1782,1783,1784,1785,
+ 1012,1002,1769,72,1772,1,271,1431,1168,1769,
+ 1775,1,1780,1566,1781,1375,29,350,350,1040,
+ 1070,1060,1432,67,2817,1579,1443,476,1772,1782,
+ 1783,1784,1785,1012,1002,1774,1,1769,1780,1566,
+ 1781,1375,1773,899,1769,1769,1070,1060,1432,1775,
+ 1769,1579,1443,476,29,1782,1783,1784,1785,1012,
+ 1002,1769,1,1,1,1,186,2830,1193,2830,
+ 1,1,1,1613,1774,1,1,1,1769,1,
+ 1,1,1,1,1,2027,1228,1772,1769,1780,
+ 1566,1781,1375,185,2831,59,2831,1070,1060,1432,
+ 1,2817,1579,1443,476,1779,1782,1783,1784,1785,
+ 1012,1002,2086,1,1780,1566,1781,1375,207,2832,
+ 1769,2832,1070,1060,1432,1769,2817,1579,1443,476,
+ 1779,1782,1783,1784,1785,1012,1002,1769,1780,1566,
+ 1781,1375,1099,1300,1,58,1070,1060,1432,91,
+ 2817,1579,1443,476,1335,1782,1783,1784,1785,1012,
+ 1002,1769,1780,1566,1781,1375,1778,57,1769,56,
+ 1070,1060,1432,1775,91,1579,1443,476,221,1782,
+ 1783,1784,1785,1012,1002,1769,1780,1586,1781,1375,
+ 350,1778,1099,1300,1070,1060,1432,1769,1774,1579,
+ 1443,476,1777,1782,1783,1784,1785,1012,1002,1769,
+ 1780,1589,1781,1375,1099,1300,1099,1300,1070,1060,
+ 1432,1769,1769,1579,1443,476,43,1782,1783,1784,
+ 1785,1012,1002,1,1780,1566,1781,1375,209,1780,
+ 1776,1781,1070,1060,1432,1769,1,1579,1443,476,
+ 254,1782,1783,1784,1785,1012,1002,20,32,1760,
+ 1556,1760,1760,180,180,180,1,1766,65,1760,
+ 1671,1769,1795,1796,180,1769,1780,1769,1781,1110,
+ 53,180,180,180,180,180,878,1760,1251,580,
+ 570,1,1996,1429,1769,2028,857,836,815,794,
+ 773,731,752,710,689,668,131,1130,1769,293,
+ 377,132,1984,1985,1986,2028,68,1984,1985,1986,
+ 962,1020,1769,1933,1769,375,208,1564,1933,1564,
+ 1934,1932,1987,1935,1931,1934,1932,1987,1935,1931,
+ 133,1769,1780,1769,1781,134,1984,1985,1986,89,
+ 70,1984,1985,1986,1339,1769,1459,1933,1,1338,
+ 536,538,1933,1775,1934,1932,1987,1935,1931,1934,
+ 1932,1987,1935,1931,249,212,66,250,647,1228,
+ 1984,1985,1986,1,1,1,251,1110,1774,252,
+ 257,30,1,1,1,1984,1985,1986,253,223,
+ 1769,1169,30,208,1984,1985,1986,254,1996,1429,
+ 286,350,1769,1552,1210,625,1461,1769,1769,1677,
+ 493,202,1769,190,190,190,1769,1769,1769,1769,
+ 1769,1798,2733,1769,1769,982,186,185,207,1769,
+ 1769,1769,1769,1769,1769,1769,1769,1769,1769,1769,
+ 1769,1769,1769,625,1769,1769,1769,1769,1769,1769,
+ 1769,1769,1769,1769,1769,1769,1769,1769,1769,1769,
+ 1769,1769,1769,1769,1769,1769,1769,547,1769,1769,
+ 1078
};
};
public final static char termAction[] = TermAction.termAction;
@@ -828,16 +828,16 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopeState {
public final static char scopeState[] = {0,
- 1262,0,342,0,1664,1429,1593,0,1471,1334,
- 1428,1259,1238,1127,1097,0,546,492,396,1203,
- 442,1407,0,567,1225,317,0,1473,1154,1149,
- 1120,1238,1127,1097,592,1430,1500,0,1578,1442,
- 475,1489,1479,1407,1192,600,1227,1209,1323,1310,
- 1109,1299,1098,1417,1396,1385,1351,1535,1527,1514,
- 579,569,1431,1374,1069,1059,1011,1001,1077,1039,
- 1019,546,981,961,940,919,450,898,513,349,
- 877,856,835,814,793,772,751,730,709,688,
- 667,317,646,417,492,396,0
+ 1263,0,343,0,1665,1430,1594,0,1472,1335,
+ 1429,1260,1239,1128,1098,0,547,493,397,1204,
+ 443,1408,0,568,1226,318,0,1474,1155,1150,
+ 1121,1239,1128,1098,593,1431,1501,0,1579,1443,
+ 476,1490,1480,1408,1193,601,1228,1210,1324,1311,
+ 1110,1300,1099,1418,1397,1386,1352,1536,1528,1515,
+ 580,570,1432,1375,1070,1060,1012,1002,1078,1040,
+ 1020,547,982,962,941,920,451,899,514,350,
+ 878,857,836,815,794,773,752,731,710,689,
+ 668,318,647,418,493,397,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1063,18 +1063,18 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public final static int
NUM_STATES = 210,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2084,
+ LA_STATE_OFFSET = 2086,
MAX_LA = 2,
- NUM_RULES = 316,
+ NUM_RULES = 317,
NUM_NONTERMINALS = 126,
NUM_SYMBOLS = 219,
SEGMENT_SIZE = 8192,
- START_STATE = 1249,
+ START_STATE = 1250,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
- ACCEPT_ACTION = 1758,
- ERROR_ACTION = 1768;
+ ACCEPT_ACTION = 1759,
+ ERROR_ACTION = 1769;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java
index 85df21b6c45..9616a285ad6 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
index 09c1a4d0d7e..fb5a1fd0d76 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -678,595 +678,601 @@ public C99NoCastExpressionParser(ITokenStream stream, Map<String,String> propert
//
// Rule 117: iteration_statement ::= do statement while ( expression ) ;
//
- case 117: { action. consumeStatementDoLoop(); break;
+ case 117: { action. consumeStatementDoLoop(true); break;
}
//
- // Rule 118: iteration_statement ::= while ( expression ) statement
+ // Rule 118: iteration_statement ::= do statement
//
- case 118: { action. consumeStatementWhileLoop(); break;
+ case 118: { action. consumeStatementDoLoop(false); 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 * 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 * pointer_hook
+ // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
//
case 249: { action. consumePointer(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_hook * 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 * 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(true); break;
+ 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(true); 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 ::= ( )
+ //
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 280: initializer ::= assignment_expression
+ // Rule 281: initializer ::= assignment_expression
//
- case 280: { action. consumeInitializer(); break;
+ case 281: { action. consumeInitializer(); break;
}
//
- // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
+ // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 282: { action. consumeInitializerList(); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 283: initializer_list ::= { <openscope-ast> }
+ // Rule 284: initializer_list ::= { <openscope-ast> }
//
- case 283: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 284: start_initializer_list ::= $Empty
+ // Rule 285: start_initializer_list ::= $Empty
//
- case 284: { action. initializerListStart(); break;
+ case 285: { action. initializerListStart(); break;
}
//
- // Rule 285: end_initializer_list ::= $Empty
+ // Rule 286: end_initializer_list ::= $Empty
//
- case 285: { action. initializerListEnd(); break;
+ case 286: { action. initializerListEnd(); break;
}
//
- // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 290: { action. consumeInitializerDesignated(); break;
+ case 291: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 294: designator_base ::= [ constant_expression ]
+ // Rule 295: designator_base ::= [ constant_expression ]
//
- case 294: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 295: designator_base ::= . identifier_token
+ // Rule 296: designator_base ::= . identifier_token
//
- case 295: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorField(); break;
}
//
- // Rule 296: designator ::= [ constant_expression ]
+ // Rule 297: designator ::= [ constant_expression ]
//
- case 296: { action. consumeDesignatorArray(); break;
+ case 297: { action. consumeDesignatorArray(); break;
}
//
- // Rule 297: designator ::= . identifier_token
+ // Rule 298: designator ::= . identifier_token
//
- case 297: { action. consumeDesignatorField(); break;
+ case 298: { action. consumeDesignatorField(); break;
}
//
- // Rule 298: translation_unit ::= external_declaration_list
+ // Rule 299: translation_unit ::= external_declaration_list
//
- case 298: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 299: translation_unit ::= $Empty
+ // Rule 300: translation_unit ::= $Empty
//
- case 299: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 304: external_declaration ::= ;
+ // Rule 305: external_declaration ::= ;
//
- case 304: { action. consumeDeclarationEmpty(); break;
+ case 305: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 305: external_declaration ::= ERROR_TOKEN
+ // Rule 306: external_declaration ::= ERROR_TOKEN
//
- case 305: { action. consumeDeclarationProblem(); break;
+ case 306: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 309: { action. consumeFunctionDefinition(false); break;
+ case 310: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 310: { action. consumeFunctionDefinitionKnR(); break;
+ case 311: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 311: { action. consumeFunctionDefinition(true); break;
+ case 312: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 312: function_body ::= { }
+ // Rule 313: function_body ::= { }
//
- case 312: { action. consumeStatementCompoundStatement(false); break;
+ case 313: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 313: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 314: function_body ::= { <openscope-ast> block_item_list }
//
- case 313: { action. consumeStatementCompoundStatement(true); break;
+ case 314: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 315: no_cast_start ::= ERROR_TOKEN
+ // Rule 316: no_cast_start ::= ERROR_TOKEN
//
- case 315: { action. consumeEmpty(); break;
+ case 316: { action. consumeEmpty(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java
index 0d4b891be68..c140f0dbe97 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -45,170 +45,170 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
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,
+ 2,5,7,5,1,0,7,2,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,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,
- 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,1,3,6,
- 4,2,4,1,1,-32,0,0,0,0,
- 0,0,0,0,0,0,-2,0,0,0,
- 0,0,0,0,0,0,0,0,-4,-156,
- -115,0,-15,0,0,0,0,-70,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,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,1,3,
+ 6,4,2,4,1,1,-32,0,0,0,
+ 0,0,0,0,0,0,0,-2,0,0,
+ 0,0,0,0,0,0,0,0,0,-4,
+ -156,-115,0,-15,0,0,0,0,-70,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -167,0,-33,0,-104,0,0,0,0,-78,
- 0,0,-116,0,-16,0,-17,0,0,0,
- 0,0,0,0,-138,0,0,0,0,0,
+ 0,-167,0,-33,0,-104,0,0,0,0,
+ -78,0,0,-116,0,-16,0,-17,0,0,
+ 0,0,0,0,0,-138,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-174,0,0,0,0,
+ 0,0,0,0,0,0,-174,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-178,0,-128,-76,0,0,-48,0,0,
+ 0,0,-178,0,-128,-76,0,0,-48,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-34,0,0,0,-18,0,-42,0,
+ 0,0,0,-34,0,0,0,-18,0,-42,
0,0,0,0,0,0,0,0,0,0,
- 0,-6,0,0,0,0,0,0,0,0,
- -189,0,0,0,0,0,0,0,0,0,
+ 0,0,-6,0,0,0,0,0,0,0,
+ 0,-189,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-3,0,0,0,0,0,0,0,0,
- 0,0,-19,0,0,0,0,0,0,0,
- 0,0,0,0,-117,0,0,-118,0,-119,
- 0,0,0,-43,0,0,0,0,0,0,
- 0,0,0,0,0,-108,0,0,0,0,
+ 0,0,-3,0,0,0,0,0,0,0,
+ 0,0,0,-19,0,0,0,0,0,0,
+ 0,0,0,0,0,-117,0,0,-118,0,
+ -119,0,0,0,-43,0,0,0,0,0,
+ 0,0,0,0,0,0,-108,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-5,0,0,0,
- 0,0,0,0,-127,0,0,0,0,0,
- 0,0,0,0,0,-79,0,0,0,0,
- 0,0,0,0,0,-131,0,-158,0,-55,
+ 0,0,0,0,0,0,0,-5,0,0,
+ 0,0,0,0,0,-127,0,0,0,0,
+ 0,0,0,0,0,0,-79,0,0,0,
+ 0,0,0,0,0,0,-131,0,-158,0,
+ -55,0,0,0,0,0,0,0,0,0,
+ 0,-122,0,0,0,0,0,0,0,0,
+ 0,-20,0,-21,0,0,0,0,-27,0,
+ 0,0,0,0,0,0,0,0,0,-22,
0,0,0,0,0,0,0,0,0,0,
- -122,0,0,0,0,0,0,0,0,0,
- -20,0,-21,0,0,0,0,-27,0,0,
- 0,0,0,0,0,0,0,0,-22,0,
+ 0,-23,0,-188,0,-24,0,0,0,0,
+ -72,0,-12,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-56,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -23,0,-188,0,-24,0,0,0,0,-72,
- 0,-12,0,0,0,0,0,0,0,0,
- 0,0,0,0,-56,0,0,0,0,0,
+ 0,0,0,0,0,0,-57,0,0,0,
+ 0,0,0,0,0,0,0,-25,0,0,
+ 0,0,0,0,0,0,0,-58,0,0,
+ 0,0,0,0,0,0,0,0,-26,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,-57,0,0,0,0,
- 0,0,0,0,0,0,-25,0,0,0,
- 0,0,0,0,0,0,-58,0,0,0,
- 0,0,0,0,0,0,0,-26,0,0,
- 0,0,0,0,0,0,0,-59,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,-60,0,
- 0,0,0,0,0,0,0,0,0,-84,
- 0,0,0,0,0,0,0,0,0,-61,
+ -84,0,0,0,0,0,0,0,0,0,
+ -61,0,0,0,0,0,0,0,0,0,
+ 0,-87,0,0,0,0,0,0,0,0,
+ 0,-62,0,0,0,0,0,0,0,0,
+ 0,0,-88,0,0,0,0,0,0,0,
+ 0,0,-63,0,0,0,0,0,0,0,
+ 0,0,0,-89,0,0,0,0,0,0,
+ 0,0,0,-64,0,0,0,0,0,0,
+ 0,0,0,0,-90,0,0,0,0,0,
+ 0,0,0,0,-65,0,0,0,0,0,
+ 0,0,0,0,0,-91,0,0,0,0,
+ 0,0,0,0,0,-66,0,0,0,0,
+ 0,0,0,0,0,0,-92,0,0,0,
+ 0,0,0,0,0,0,-120,0,0,0,
+ 0,0,0,0,0,0,0,-93,0,0,
+ 0,0,0,0,0,0,0,-141,0,0,
+ 0,0,0,0,0,0,0,0,-94,0,
+ 0,0,0,0,0,0,0,0,-142,0,
+ 0,0,0,0,0,0,0,0,0,-95,
+ 0,0,0,0,0,0,0,0,0,-177,
0,0,0,0,0,0,0,0,0,0,
- -87,0,0,0,0,0,0,0,0,0,
- -62,0,0,0,0,0,0,0,0,0,
- 0,-88,0,0,0,0,0,0,0,0,
- 0,-63,0,0,0,0,0,0,0,0,
- 0,0,-89,0,0,0,0,0,0,0,
- 0,0,-64,0,0,0,0,0,0,0,
- 0,0,0,-90,0,0,0,0,0,0,
- 0,0,0,-65,0,0,0,0,0,0,
- 0,0,0,0,-91,0,0,0,0,0,
- 0,0,0,0,-66,0,0,0,0,0,
- 0,0,0,0,0,-92,0,0,0,0,
- 0,0,0,0,0,-120,0,0,0,0,
- 0,0,0,0,0,0,-93,0,0,0,
- 0,0,0,0,0,0,-141,0,0,0,
- 0,0,0,0,0,0,0,-94,0,0,
- 0,0,0,0,0,0,0,-142,0,0,
- 0,0,0,0,0,0,0,0,-95,0,
- 0,0,0,0,0,0,0,0,-177,0,
- 0,0,0,0,0,0,0,0,0,-134,
- 0,0,0,0,0,0,0,0,-186,0,
- 0,0,0,0,0,0,0,0,0,-96,
- 0,0,0,0,0,0,0,0,-13,0,
- 0,0,0,0,0,0,-7,0,0,0,
- 0,0,0,0,-192,0,0,0,0,0,
+ -134,0,0,0,0,0,0,0,0,-186,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-198,0,0,0,0,0,
- 0,0,0,0,0,-135,0,0,0,0,
- 0,0,0,0,-155,-170,0,-176,0,0,
- -97,0,-8,0,0,0,0,0,0,0,
- -206,0,0,0,0,0,0,0,0,0,
+ -96,0,0,0,0,0,0,0,0,-13,
+ 0,0,0,0,0,0,0,-7,0,0,
+ 0,0,0,0,0,-192,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -54,0,0,0,0,0,0,0,0,0,
- 0,-130,0,0,0,0,0,0,-98,-180,
- -191,0,0,0,0,-73,-99,0,-37,0,
- 0,0,0,0,0,0,0,0,-100,-145,
- 0,0,-110,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-200,-193,-124,0,
- -187,0,0,0,0,0,-101,0,-102,0,
- -146,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-35,0,-105,0,0,0,
- 0,0,0,0,0,0,0,0,0,-184,
- -107,-83,0,-29,0,0,-51,0,0,0,
- 0,0,0,0,0,0,0,-121,0,0,
- 0,0,0,0,0,-69,0,0,0,0,
- 0,0,0,-52,0,0,0,0,0,0,
- 0,0,0,0,-164,0,0,0,-137,-154,
- 0,-30,0,-123,0,0,0,-183,0,0,
- -67,0,0,0,0,-132,0,-136,0,-81,
- 0,0,0,-140,0,0,0,0,0,0,
+ 0,0,0,0,0,-198,0,0,0,0,
+ 0,0,0,0,0,0,-135,0,0,0,
+ 0,0,0,0,0,-155,-170,0,-176,0,
+ 0,-97,0,-8,0,0,0,0,0,0,
+ 0,-206,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-38,0,0,0,
- 0,0,0,0,0,0,-49,0,0,0,
- 0,0,0,0,0,0,0,0,0,-50,
+ 0,-54,0,0,0,0,0,0,0,0,
+ 0,0,-130,0,0,0,0,0,0,-98,
+ -180,-191,0,0,0,0,-73,-99,0,-37,
+ 0,0,0,0,0,0,0,0,0,-100,
+ -145,0,0,-110,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-200,-193,-124,
+ 0,-187,0,0,0,0,0,-101,0,-102,
+ 0,-146,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-35,0,-105,0,0,
0,0,0,0,0,0,0,0,0,0,
- -205,0,0,0,-153,0,-157,-85,0,0,
- -151,0,-171,-172,-175,0,-199,0,0,-44,
+ -184,-107,-83,0,-29,0,0,-51,0,0,
+ 0,0,0,0,0,0,0,0,-121,0,
+ 0,0,0,0,0,0,-69,0,0,0,
+ 0,0,0,0,-52,0,0,0,0,0,
+ 0,0,0,0,0,-164,0,0,0,-137,
+ -154,0,-30,0,-123,0,0,0,-183,0,
+ 0,-67,0,0,0,0,-132,0,-136,0,
+ -81,0,0,0,-140,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-9,
- 0,0,0,0,0,0,0,-166,0,-45,
+ 0,0,0,0,0,0,0,-38,0,0,
+ 0,0,0,0,0,0,0,-49,0,0,
0,0,0,0,0,0,0,0,0,0,
- -46,0,0,0,0,0,0,0,0,0,
- -47,0,0,0,0,0,0,0,0,0,
- -71,0,0,-74,-86,-109,0,-112,-139,-165,
- -204,0,-111,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-207,0,0,
+ -50,0,0,0,0,0,0,0,0,0,
+ 0,-205,0,0,0,-153,0,-157,-85,0,
+ 0,-151,0,-171,-172,-175,0,-199,0,0,
+ -44,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -147,0,0,0,0,-144,0,0,0,0,
+ -9,0,0,0,0,0,0,0,-166,0,
+ -45,0,0,0,0,0,0,0,0,0,
+ 0,-46,0,0,0,0,0,0,0,0,
+ 0,-47,0,0,0,0,0,0,0,0,
+ 0,-71,0,0,-74,-86,-109,0,-112,-139,
+ -165,-204,0,-111,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-207,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-173,0,0,
- -10,0,0,0,0,0,0,0,-11,0,
- 0,0,0,0,0,0,-31,-39,0,0,
- 0,0,0,0,0,0,-113,0,-40,0,
- 0,0,0,0,0,0,0,0,-68,-126,
- -143,-162,0,-41,0,0,0,0,0,0,
- 0,0,0,0,-14,-129,-159,0,0,0,
- 0,-28,-36,0,0,0,0,-179,0,-160,
- -148,-190,0,0,0,-185,0,0,0,0,
- 0,0,0,0,0,-196,0,-75,0,0,
+ 0,-147,0,0,0,0,-144,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -77,0,0,0,-197,-80,0,0,0,0,
- 0,-106,-169,0,0,0,0,0,0,-82,
+ 0,0,0,0,0,0,0,0,-173,0,
+ 0,-10,0,0,0,0,0,0,0,-11,
+ 0,0,0,0,0,0,0,-31,-39,0,
+ 0,0,0,0,0,0,0,-113,0,-40,
+ 0,0,0,0,0,0,0,0,0,-68,
+ -126,-143,-162,0,-41,0,0,0,0,0,
+ 0,0,0,0,0,-14,-129,-159,0,0,
+ 0,0,-28,-36,0,0,0,0,-179,0,
+ -160,-148,-190,0,0,0,-185,0,0,0,
+ 0,0,0,0,0,0,-196,0,-75,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-77,0,0,0,-197,-80,0,0,0,
+ 0,0,-106,-169,0,0,0,0,0,0,
+ -82,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-125,0,0,-152,-181,0,0,0,
- 0,-182,0,0,0,0,0,0,-133,0,
- 0,-168,0,0,0,-203,-1,-114,-163,0,
- 0,0,0,0,-53,0,0,0,0,0,
- 0,-150,-149,0,-202,0,0,0,-103,0,
- 0,0,0,0,0,0,0,0,0,-201,
+ 0,0,0,-125,0,0,-152,-181,0,0,
+ 0,0,-182,0,0,0,0,0,0,-133,
+ 0,0,-168,0,0,0,-203,-1,-114,-163,
+ 0,0,0,0,0,-53,0,0,0,0,
+ 0,0,-150,-149,0,-202,0,0,0,-103,
0,0,0,0,0,0,0,0,0,0,
+ -201,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -161,-194,-195,0,0,0,0,0,0,0,
+ 0,-161,-194,-195,0,0,0,0,0,0,
0,0,0,0,0,0,0,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;
@@ -230,170 +230,170 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
88,72,72,47,104,104,104,104,104,104,
104,105,105,105,106,106,111,111,112,112,
107,107,108,108,108,114,114,109,109,109,
- 109,110,110,110,110,110,113,113,25,25,
- 25,25,25,28,28,28,78,78,73,73,
- 73,73,74,74,74,75,75,75,76,76,
- 76,77,77,77,115,115,116,116,117,29,
- 31,31,31,31,31,53,54,54,54,54,
- 54,54,54,54,54,54,54,54,63,60,
- 60,89,90,65,65,61,61,61,66,79,
- 79,80,80,67,67,67,49,91,91,81,
- 82,82,82,62,62,92,83,83,84,84,
- 68,68,21,22,22,22,30,48,48,32,
- 32,32,32,35,35,37,33,33,34,38,
- 38,118,118,36,119,119,93,93,26,26,
- 26,26,26,26,26,26,26,85,50,50,
- 50,50,27,56,56,55,55,55,57,57,
- 51,51,94,94,71,71,58,58,58,41,
- 41,41,42,43,43,43,44,44,44,44,
- 64,64,46,46,52,96,95,95,95,95,
- 86,97,98,98,99,99,100,100,120,120,
- 121,121,122,122,122,122,124,124,123,123,
- 123,125,126,126,87,87,1,780,17,21,
- 18,343,738,44,387,385,523,293,467,633,
- 631,661,649,717,665,74,91,134,212,431,
- 236,108,990,687,136,133,135,159,275,20,
- 17,21,18,343,738,44,387,385,523,1153,
- 467,633,631,661,649,717,665,74,1426,138,
- 165,519,238,71,31,31,142,145,148,151,
- 199,445,1268,71,186,246,1228,69,339,1424,
- 1578,1591,1596,1610,1212,424,20,17,21,18,
- 343,738,44,387,385,523,340,467,633,631,
- 661,649,717,665,74,280,335,20,17,21,
- 18,343,738,44,387,385,523,340,467,633,
- 631,661,649,717,665,74,280,1355,442,292,
- 194,281,583,25,210,104,383,1197,482,20,
- 17,21,18,343,43,44,387,385,523,286,
- 467,969,281,71,31,254,212,6,1197,482,
- 20,17,21,18,343,43,44,387,385,843,
- 288,287,482,20,17,21,18,343,43,40,
- 1075,453,20,17,21,18,343,738,44,387,
- 385,523,289,467,633,631,661,649,717,665,
- 74,280,482,20,17,21,18,343,738,44,
- 387,385,523,10,467,633,631,661,649,717,
- 665,74,91,24,341,71,185,281,281,1278,
- 71,187,293,1197,482,20,17,21,18,343,
- 43,44,387,385,864,290,540,20,17,21,
- 18,343,738,44,387,385,523,1633,467,633,
- 631,661,649,717,665,74,1530,511,20,17,
- 21,18,343,41,339,305,20,17,21,18,
- 343,738,44,387,385,523,429,467,633,631,
- 661,649,717,665,74,1531,189,178,163,239,
- 482,20,17,21,18,343,43,44,387,385,
- 523,31,467,633,631,661,1179,134,212,253,
- 212,327,395,14,136,133,135,159,482,20,
- 17,21,18,343,738,44,387,385,523,516,
- 467,633,631,661,649,717,665,74,92,138,
- 165,156,535,124,1130,243,142,145,148,151,
- 295,445,482,20,17,21,18,343,34,1424,
- 1578,1591,1596,1610,1212,482,20,17,21,18,
- 343,738,44,387,385,523,274,467,633,631,
- 661,649,717,665,74,85,482,20,17,21,
- 18,343,738,44,387,385,523,172,467,633,
- 631,661,649,717,665,74,84,482,20,17,
- 21,18,343,738,44,387,385,523,530,467,
- 633,631,661,649,717,665,74,83,482,20,
- 17,21,18,343,738,44,387,385,523,282,
- 467,633,631,661,649,717,665,74,82,482,
- 20,17,21,18,343,738,44,387,385,523,
- 569,467,633,631,661,649,717,665,74,81,
- 482,20,17,21,18,343,738,44,387,385,
- 523,151,467,633,631,661,649,717,665,74,
- 80,482,20,17,21,18,343,738,44,387,
- 385,523,194,467,633,631,661,649,717,665,
- 74,79,482,20,17,21,18,343,738,44,
- 387,385,523,30,467,633,631,661,649,717,
- 665,74,78,482,20,17,21,18,343,738,
- 44,387,385,523,441,467,633,631,661,649,
- 717,665,74,77,482,20,17,21,18,343,
- 738,44,387,385,523,470,467,633,631,661,
- 649,717,665,74,76,482,20,17,21,18,
- 343,738,44,387,385,523,500,467,633,631,
- 661,649,717,665,74,75,482,20,17,21,
- 18,343,738,44,387,385,523,313,467,633,
- 631,661,649,717,665,74,73,482,20,17,
- 21,18,343,738,44,387,385,523,343,467,
- 633,631,661,649,717,665,74,1547,482,20,
- 17,21,18,343,738,44,387,385,523,44,
- 467,633,631,661,649,717,665,74,1560,482,
- 20,17,21,18,343,43,44,387,385,523,
- 119,467,633,631,661,649,717,665,93,482,
- 20,17,21,18,343,43,44,387,385,523,
- 110,467,633,631,661,649,717,665,93,482,
- 20,17,21,18,343,33,1562,482,20,17,
- 21,18,343,43,39,482,20,17,21,18,
- 343,43,44,387,385,523,211,467,633,631,
- 661,649,717,665,93,482,20,17,21,18,
- 343,43,44,387,385,523,31,467,633,631,
- 661,649,717,665,93,657,683,1636,71,295,
- 1351,157,1656,482,20,17,21,18,343,43,
- 38,482,20,17,21,18,343,43,44,387,
- 385,523,201,467,633,631,661,649,717,665,
- 93,482,20,17,21,18,343,43,44,387,
- 385,523,611,467,633,631,661,649,1177,344,
- 436,71,297,1561,1488,1566,50,619,202,482,
- 20,17,21,18,343,43,44,801,273,562,
- 699,254,212,163,217,1181,220,1461,222,223,
- 228,1532,275,266,1136,670,271,557,465,97,
- 262,71,1353,276,253,212,273,487,1690,520,
- 263,656,217,1181,220,1461,222,223,228,254,
- 212,266,1136,670,271,352,1284,641,1711,217,
- 1181,220,1461,222,223,228,512,227,1428,444,
- 683,549,189,178,292,1711,260,482,20,17,
- 21,18,343,43,44,387,385,523,490,467,
- 633,631,1129,134,212,89,97,1529,585,209,
- 137,133,135,159,482,20,17,21,18,343,
- 43,44,387,385,523,705,467,633,1137,31,
- 501,1353,292,1211,640,139,165,283,259,1675,
- 1260,292,143,146,149,152,626,445,662,1690,
- 458,273,1264,1348,377,19,1602,218,1181,220,
- 1461,222,223,228,1679,608,268,1136,670,271,
- 217,1181,220,1461,222,223,228,482,20,17,
- 21,18,343,43,44,822,1357,482,20,17,
- 21,18,343,43,44,387,385,523,208,1010,
- 482,20,17,21,18,343,43,44,387,385,
- 523,259,1081,1076,1354,31,540,394,292,197,
- 199,684,1690,582,688,661,1603,623,1558,1595,
- 482,20,17,21,18,343,43,44,387,385,
- 885,23,538,217,1181,220,1461,222,223,228,
- 482,20,17,21,18,343,43,37,490,1357,
- 482,20,17,21,18,343,43,44,387,385,
- 906,482,20,17,21,18,343,43,44,387,
- 927,482,20,17,21,18,343,43,44,387,
- 948,253,198,199,232,153,153,179,292,97,
- 31,241,1517,365,20,17,21,18,343,43,
- 36,1642,1756,1756,276,134,212,273,595,22,
- 240,272,141,133,135,159,1347,245,1756,1756,
- 1756,570,266,1136,670,271,365,20,17,21,
- 18,343,43,36,1756,1264,1756,140,165,1428,
- 218,1181,220,1461,222,223,228,226,490,1756,
- 246,482,20,17,21,18,343,43,36,482,
- 20,17,21,18,343,43,35,116,482,20,
- 17,21,18,343,43,47,1756,413,1236,482,
- 20,17,21,18,343,43,46,663,606,374,
- 153,153,413,273,482,20,17,21,18,343,
- 43,45,1122,606,1211,31,292,153,266,1136,
- 670,271,31,31,242,241,316,1122,163,1211,
- 153,97,153,316,512,265,490,1602,258,278,
- 196,243,1546,1756,1276,28,490,196,610,253,
- 212,1197,1255,258,244,87,294,1546,1211,1276,
- 1262,631,87,87,1507,494,652,1262,1425,134,
- 212,1507,711,501,1353,203,144,133,135,159,
- 673,1255,134,212,1168,180,1214,134,212,147,
- 133,135,159,1271,150,133,135,159,273,1264,
- 1756,134,212,163,1756,1756,48,545,153,133,
- 135,159,142,268,1136,670,271,606,606,614,
- 1756,1756,95,606,253,212,153,395,403,403,
- 606,196,1122,606,193,31,1756,196,512,1649,
- 1637,208,292,645,1122,490,512,196,1756,634,
- 296,277,230,1756,606,371,1210,1354,258,444,
- 97,371,1712,1756,1276,279,1756,87,1122,1756,
- 258,371,314,191,1672,87,1276,1756,1756,191,
- 1149,292,292,342,204,1388,1652,1211,937,192,
- 1756,1576,1652,1756,259,28,1756,1756,1756,1756,
- 1713,1197,1756,1756,224,229,233,1756,1756,1756,
- 1448,1756,1756,1756,327,1756,0,20,178,0,
- 1,1981,0,1,1992,0
+ 109,109,110,110,110,110,110,113,113,25,
+ 25,25,25,25,28,28,28,78,78,73,
+ 73,73,73,74,74,74,75,75,75,76,
+ 76,76,77,77,77,115,115,116,116,117,
+ 29,31,31,31,31,31,53,54,54,54,
+ 54,54,54,54,54,54,54,54,54,63,
+ 60,60,89,90,65,65,61,61,61,66,
+ 79,79,80,80,67,67,67,49,91,91,
+ 81,82,82,82,62,62,92,83,83,84,
+ 84,68,68,21,22,22,22,30,48,48,
+ 32,32,32,32,35,35,37,33,33,34,
+ 38,38,118,118,36,119,119,93,93,26,
+ 26,26,26,26,26,26,26,26,85,50,
+ 50,50,50,27,56,56,55,55,55,57,
+ 57,51,51,94,94,71,71,58,58,58,
+ 41,41,41,42,43,43,43,44,44,44,
+ 44,64,64,46,46,52,96,95,95,95,
+ 95,86,97,98,98,99,99,100,100,120,
+ 120,121,121,122,122,122,122,124,124,123,
+ 123,123,125,126,126,87,87,1,781,17,
+ 21,18,344,739,44,388,386,524,293,468,
+ 634,632,662,650,718,666,74,91,135,213,
+ 431,236,108,991,687,137,134,136,160,275,
+ 20,17,21,18,344,739,44,388,386,524,
+ 1154,468,634,632,662,650,718,666,74,1427,
+ 139,166,519,239,71,31,31,143,146,149,
+ 152,199,446,1269,71,187,246,1229,69,340,
+ 1425,1579,1592,1597,1611,1213,424,20,17,21,
+ 18,344,739,44,388,386,524,341,468,634,
+ 632,662,650,718,666,74,281,335,20,17,
+ 21,18,344,739,44,388,386,524,341,468,
+ 634,632,662,650,718,666,74,281,1356,443,
+ 293,195,282,583,25,210,104,384,1198,482,
+ 20,17,21,18,344,43,44,388,386,524,
+ 287,468,970,282,71,31,255,213,6,1198,
+ 482,20,17,21,18,344,43,44,388,386,
+ 844,289,288,482,20,17,21,18,344,43,
+ 40,1076,453,20,17,21,18,344,739,44,
+ 388,386,524,290,468,634,632,662,650,718,
+ 666,74,281,482,20,17,21,18,344,739,
+ 44,388,386,524,10,468,634,632,662,650,
+ 718,666,74,91,24,342,71,186,282,281,
+ 1279,71,188,294,1198,482,20,17,21,18,
+ 344,43,44,388,386,865,291,540,20,17,
+ 21,18,344,739,44,388,386,524,1634,468,
+ 634,632,662,650,718,666,74,1531,511,20,
+ 17,21,18,344,41,340,305,20,17,21,
+ 18,344,739,44,388,386,524,429,468,634,
+ 632,662,650,718,666,74,1532,189,179,163,
+ 240,482,20,17,21,18,344,43,44,388,
+ 386,524,31,468,634,632,662,1180,135,213,
+ 254,213,327,396,14,137,134,136,160,482,
+ 20,17,21,18,344,739,44,388,386,524,
+ 516,468,634,632,662,650,718,666,74,92,
+ 139,166,156,536,124,1131,243,143,146,149,
+ 152,295,446,482,20,17,21,18,344,34,
+ 1425,1579,1592,1597,1611,1213,482,20,17,21,
+ 18,344,739,44,388,386,524,275,468,634,
+ 632,662,650,718,666,74,85,482,20,17,
+ 21,18,344,739,44,388,386,524,172,468,
+ 634,632,662,650,718,666,74,84,482,20,
+ 17,21,18,344,739,44,388,386,524,530,
+ 468,634,632,662,650,718,666,74,83,482,
+ 20,17,21,18,344,739,44,388,386,524,
+ 283,468,634,632,662,650,718,666,74,82,
+ 482,20,17,21,18,344,739,44,388,386,
+ 524,569,468,634,632,662,650,718,666,74,
+ 81,482,20,17,21,18,344,739,44,388,
+ 386,524,151,468,634,632,662,650,718,666,
+ 74,80,482,20,17,21,18,344,739,44,
+ 388,386,524,194,468,634,632,662,650,718,
+ 666,74,79,482,20,17,21,18,344,739,
+ 44,388,386,524,30,468,634,632,662,650,
+ 718,666,74,78,482,20,17,21,18,344,
+ 739,44,388,386,524,441,468,634,632,662,
+ 650,718,666,74,77,482,20,17,21,18,
+ 344,739,44,388,386,524,470,468,634,632,
+ 662,650,718,666,74,76,482,20,17,21,
+ 18,344,739,44,388,386,524,500,468,634,
+ 632,662,650,718,666,74,75,482,20,17,
+ 21,18,344,739,44,388,386,524,313,468,
+ 634,632,662,650,718,666,74,73,482,20,
+ 17,21,18,344,739,44,388,386,524,343,
+ 468,634,632,662,650,718,666,74,1548,482,
+ 20,17,21,18,344,739,44,388,386,524,
+ 44,468,634,632,662,650,718,666,74,1561,
+ 482,20,17,21,18,344,43,44,388,386,
+ 524,119,468,634,632,662,650,718,666,93,
+ 482,20,17,21,18,344,43,44,388,386,
+ 524,110,468,634,632,662,650,718,666,93,
+ 482,20,17,21,18,344,33,1563,482,20,
+ 17,21,18,344,43,39,482,20,17,21,
+ 18,344,43,44,388,386,524,212,468,634,
+ 632,662,650,718,666,93,482,20,17,21,
+ 18,344,43,44,388,386,524,31,468,634,
+ 632,662,650,718,666,93,657,683,1637,71,
+ 296,1352,157,1657,482,20,17,21,18,344,
+ 43,38,482,20,17,21,18,344,43,44,
+ 388,386,524,202,468,634,632,662,650,718,
+ 666,93,482,20,17,21,18,344,43,44,
+ 388,386,524,611,468,634,632,662,650,1178,
+ 344,436,71,298,1562,1489,1567,50,619,203,
+ 482,20,17,21,18,344,43,44,802,274,
+ 562,699,255,213,163,218,1182,221,1462,223,
+ 224,229,1533,276,267,1137,671,272,557,465,
+ 97,263,71,1354,277,254,213,274,487,1691,
+ 520,264,656,218,1182,221,1462,223,224,229,
+ 255,213,267,1137,671,272,352,1285,641,1712,
+ 218,1182,221,1462,223,224,229,513,228,1429,
+ 445,683,549,189,179,292,1712,261,482,20,
+ 17,21,18,344,43,44,388,386,524,490,
+ 468,634,632,1130,135,213,89,97,1530,586,
+ 210,138,134,136,160,482,20,17,21,18,
+ 344,43,44,388,386,524,705,468,634,1138,
+ 31,501,1354,292,1212,640,140,166,284,259,
+ 1676,1261,292,144,147,150,153,626,446,662,
+ 1691,458,274,1265,1349,377,19,1603,219,1182,
+ 221,1462,223,224,229,1680,609,269,1137,671,
+ 272,218,1182,221,1462,223,224,229,482,20,
+ 17,21,18,344,43,44,823,1358,482,20,
+ 17,21,18,344,43,44,388,386,524,209,
+ 1011,482,20,17,21,18,344,43,44,388,
+ 386,524,259,1082,1077,1355,31,541,394,292,
+ 198,200,684,1691,582,688,661,1604,623,1559,
+ 1596,482,20,17,21,18,344,43,44,388,
+ 386,886,23,539,218,1182,221,1462,223,224,
+ 229,482,20,17,21,18,344,43,37,490,
+ 1358,482,20,17,21,18,344,43,44,388,
+ 386,907,482,20,17,21,18,344,43,44,
+ 388,928,482,20,17,21,18,344,43,44,
+ 388,949,253,199,200,232,153,153,180,292,
+ 97,31,241,1518,365,20,17,21,18,344,
+ 43,36,1643,1757,1757,277,135,213,274,595,
+ 22,241,273,142,134,136,160,1348,246,1757,
+ 1757,1757,570,267,1137,671,272,365,20,17,
+ 21,18,344,43,36,1757,1265,1757,141,166,
+ 1429,219,1182,221,1462,223,224,229,227,490,
+ 1757,247,482,20,17,21,18,344,43,36,
+ 482,20,17,21,18,344,43,35,116,482,
+ 20,17,21,18,344,43,47,1757,413,1237,
+ 482,20,17,21,18,344,43,46,664,607,
+ 374,153,153,413,274,482,20,17,21,18,
+ 344,43,45,1123,607,1212,31,292,153,267,
+ 1137,671,272,31,31,243,242,317,1123,163,
+ 1212,153,97,153,317,513,266,490,1603,259,
+ 279,197,244,1547,1757,1277,28,490,197,610,
+ 254,213,1198,1256,259,245,87,295,1547,1212,
+ 1277,1263,631,87,87,1508,494,652,1263,1426,
+ 135,213,1508,711,501,1354,204,145,134,136,
+ 160,673,1256,135,213,1169,181,1215,135,213,
+ 148,134,136,160,1272,151,134,136,160,274,
+ 1265,1757,135,213,163,1757,1757,48,545,154,
+ 134,136,160,142,269,1137,671,272,607,607,
+ 614,1757,1757,95,607,254,213,153,395,403,
+ 403,607,197,1123,607,194,31,1757,197,513,
+ 1650,1638,209,292,645,1123,490,513,197,1757,
+ 634,297,278,231,1757,607,372,1211,1355,259,
+ 445,97,372,1713,1757,1277,280,1757,87,1123,
+ 1757,259,372,315,192,1673,87,1277,1757,1757,
+ 192,1150,292,292,342,205,1389,1653,1212,938,
+ 193,1757,1577,1653,1757,260,28,1757,1757,1757,
+ 1757,1714,1198,1757,1757,225,230,234,1757,1757,
+ 1757,1449,1757,1757,1757,328,1757,0,20,179,
+ 0,1,1983,0,1,1994,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -492,82 +492,82 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1756,1767,1545,1768,1491,59,1969,1970,1971,54,
- 1380,1083,1918,62,1499,1019,672,1919,1917,1972,
- 1920,577,1916,1769,1770,1771,1772,1027,482,58,
- 1,1923,1928,1927,1925,1926,1924,1929,1930,1922,
- 1931,1932,1933,63,1280,596,380,1756,1,269,
- 1,1658,190,1,1,1,1401,1411,348,1,
- 1390,1360,544,469,1,1,1,1,48,1,
- 1756,1767,1534,1768,1330,1317,1401,1411,1,1,
+ 1757,1768,1546,1769,1492,59,1971,1972,1973,54,
+ 1381,1084,1920,62,1500,1020,673,1921,1919,1974,
+ 1922,578,1918,1770,1771,1772,1773,1028,483,58,
+ 1,1925,1930,1929,1927,1928,1926,1931,1932,1924,
+ 1933,1934,1935,63,1281,597,381,1757,1,270,
+ 1,1659,191,1,1,1,1402,1412,349,1,
+ 1391,1361,545,470,1,1,1,1,48,1,
+ 1757,1768,1535,1769,1331,1318,1402,1412,1,1,
1,1,1,1,1,1,1,1,1,1,
- 190,1,1,1,1756,1,252,1,1951,189,
- 1,1,1,181,1330,1317,1,1756,1767,61,
- 1768,1,1,1,1,264,1,1421,182,1,
- 1066,1519,1508,285,348,1,1,1,1,1,
- 1,1,1,1,1,1,1,189,1,1,
- 1,1756,1,1756,1,1951,190,1,1,1,
- 50,1756,1756,1,1534,66,60,1760,1,1,
- 1,1,1756,1,1390,1360,544,469,1969,1970,
- 1971,70,1,1,1,1,1,1,1,1,
- 1,1,1,1,190,1,1,1,1756,1767,
- 1756,1768,1951,49,1969,1970,1971,1534,184,2781,
- 1918,2781,1759,1519,1508,1919,1917,1972,1920,247,
- 1916,1390,1360,544,469,1969,1970,1971,1244,1923,
- 1928,1927,1925,1926,1924,1929,1930,1922,1931,1932,
- 1933,128,1280,596,380,1756,610,1969,1970,1971,
- 1756,1993,72,1918,979,51,1519,1508,1919,1917,
- 1972,1920,1,1916,1421,1307,1139,1762,1,1981,
- 1167,348,1923,1928,1927,1925,1926,1924,1929,1930,
- 1922,1931,1932,1933,1,1767,1545,1768,1433,1760,
- 1756,1767,1761,1768,1380,1083,556,1078,1499,1019,
- 672,1756,1756,1259,270,577,1762,1769,1770,1771,
- 1772,1027,482,348,1756,1767,1545,1768,1466,1760,
- 1111,1665,53,1756,1380,1083,958,1055,1499,1019,
- 672,1761,1307,1139,1759,577,64,1769,1770,1771,
- 1772,1027,482,1756,1,1767,1545,1768,1491,29,
- 448,1756,52,67,1380,1083,1762,2664,1499,1019,
- 672,1,1307,1139,1759,577,90,1769,1770,1771,
- 1772,1027,482,1756,1756,1767,1545,1768,1491,1760,
- 1431,1761,1746,1756,1380,1083,248,29,1499,1019,
- 672,90,1,1,1,577,2664,1769,1770,1771,
- 1772,1027,482,249,1756,1,1,1,1,1,
- 1,1,1,1756,1,1,1244,1762,1,1,
- 1,1756,1,1756,1759,1,252,1,1,1,
- 1,1,1,1,1767,1545,1768,1491,183,2789,
- 88,2789,1761,1380,1083,250,2664,1499,1019,672,
- 57,1969,1970,1971,577,2071,1769,1770,1771,1772,
- 1027,482,1756,1767,1545,1768,1491,205,2790,638,
- 2790,2013,1380,1083,251,2664,1499,1019,672,56,
- 1969,1970,1971,577,1756,1769,1770,1771,1772,1027,
- 482,1756,1767,1545,1768,1491,71,1401,1411,1756,
- 1756,1380,1083,1756,1764,1499,1019,672,1766,55,
- 207,1767,577,1768,1769,1770,1771,1772,1027,482,
- 1756,1767,1552,1768,1491,68,1401,1411,1,69,
- 1380,1083,1341,1766,1499,1019,672,206,1171,43,
- 1171,577,1763,1769,1770,1771,1772,1027,482,1,
- 1767,1545,1768,1491,1,1753,1401,1411,1756,1380,
- 1083,610,1169,1499,1019,672,1,1981,1167,1765,
- 577,1756,1769,1770,1771,1772,1027,482,20,221,
- 1747,1659,1747,1747,178,178,178,1747,348,1217,
- 178,210,291,1217,1765,178,178,178,178,895,
- 178,1035,284,2013,252,1981,1167,375,1747,874,
- 853,832,811,790,748,769,727,706,685,129,
- 261,1981,1150,1,1,1969,1970,1971,65,348,
- 916,1918,200,1756,1756,255,1919,1917,1972,1920,
- 130,1916,448,42,1131,375,1969,1970,1971,1756,
- 1756,999,1918,1429,1,1756,2664,1919,1917,1972,
- 1920,131,1916,621,1673,219,30,1969,1970,1971,
- 1756,1756,2013,1918,348,1756,1756,1756,1919,1917,
- 1972,1920,132,1916,1345,1756,1756,1756,1969,1970,
- 1971,1091,30,1756,1918,416,32,206,1195,1919,
- 1917,1972,1920,2012,1916,1553,1430,1756,1,1750,
- 1150,1782,1783,1762,267,1981,1150,348,252,188,
- 267,1785,1421,348,252,1756,2599,188,188,348,
- 491,1756,184,1756,1756,1756,1756,1756,1761,1756,
- 183,205,1756,1756,1756,1756,1756,1756,463,1756,
- 1756,1756,1756,1756,1756,1756,1756,1756,1756,1756,
- 1756,1756,1756,373
+ 191,1,1,1,1757,1,253,1,1953,190,
+ 1,1,1,182,1331,1318,1,1757,1768,61,
+ 1769,1,1,1,1,265,1,1422,183,1,
+ 1067,1520,1509,286,349,1,1,1,1,1,
+ 1,1,1,1,1,1,1,190,1,1,
+ 1,1757,1,1757,1,1953,191,1,1,1,
+ 50,1757,1757,1,1535,66,60,1761,1,1,
+ 1,1,1757,1,1391,1361,545,470,1971,1972,
+ 1973,70,1,1,1,1,1,1,1,1,
+ 1,1,1,1,191,1,1,1,1757,1768,
+ 1757,1769,1953,49,1971,1972,1973,1535,185,2783,
+ 1920,2783,1760,1520,1509,1921,1919,1974,1922,248,
+ 1918,1391,1361,545,470,1971,1972,1973,1245,1925,
+ 1930,1929,1927,1928,1926,1931,1932,1924,1933,1934,
+ 1935,129,1281,597,381,1757,611,1971,1972,1973,
+ 1757,1995,72,1920,980,51,1520,1509,1921,1919,
+ 1974,1922,1,1918,1422,1308,1140,1763,1,1983,
+ 1168,349,1925,1930,1929,1927,1928,1926,1931,1932,
+ 1924,1933,1934,1935,1,1768,1546,1769,1434,1761,
+ 1757,1768,1762,1769,1381,1084,557,1079,1500,1020,
+ 673,1757,1757,1260,271,578,1763,1770,1771,1772,
+ 1773,1028,483,349,1757,1768,1546,1769,1467,1761,
+ 1112,1666,53,1757,1381,1084,959,1056,1500,1020,
+ 673,1762,1308,1140,1760,578,64,1770,1771,1772,
+ 1773,1028,483,1757,1,1768,1546,1769,1492,29,
+ 449,1757,52,67,1381,1084,1763,2666,1500,1020,
+ 673,1,1308,1140,1760,578,90,1770,1771,1772,
+ 1773,1028,483,1757,1757,1768,1546,1769,1492,1761,
+ 1432,1762,1747,1757,1381,1084,249,29,1500,1020,
+ 673,90,1,1,1,578,2666,1770,1771,1772,
+ 1773,1028,483,250,1757,1,1,1,1,1,
+ 1,1,1,1757,1,1,1245,1763,1,1,
+ 1,1757,1,1757,1760,1,253,1,1,1,
+ 1,1,1,1,1768,1546,1769,1492,184,2791,
+ 88,2791,1762,1381,1084,251,2666,1500,1020,673,
+ 57,1971,1972,1973,578,2073,1770,1771,1772,1773,
+ 1028,483,1757,1768,1546,1769,1492,206,2792,639,
+ 2792,2015,1381,1084,252,2666,1500,1020,673,56,
+ 1971,1972,1973,578,1757,1770,1771,1772,1773,1028,
+ 483,1757,1768,1546,1769,1492,71,1402,1412,1757,
+ 1757,1381,1084,1757,1765,1500,1020,673,1767,55,
+ 208,1768,578,1769,1770,1771,1772,1773,1028,483,
+ 1757,1768,1553,1769,1492,68,1402,1412,1,69,
+ 1381,1084,1342,1767,1500,1020,673,207,1172,43,
+ 1172,578,1764,1770,1771,1772,1773,1028,483,1,
+ 1768,1546,1769,1492,1,1754,1402,1412,1757,1381,
+ 1084,611,1170,1500,1020,673,1,1983,1168,1766,
+ 578,1757,1770,1771,1772,1773,1028,483,20,222,
+ 1748,1660,1748,1748,179,179,179,1748,349,1218,
+ 179,211,292,1218,1766,179,179,179,179,896,
+ 179,1036,285,2015,253,1983,1168,376,1748,875,
+ 854,833,812,791,749,770,728,707,686,130,
+ 262,1983,1151,1,1,1971,1972,1973,65,349,
+ 917,1920,201,1757,1757,256,1921,1919,1974,1922,
+ 131,1918,449,42,1132,376,1971,1972,1973,1757,
+ 1757,1000,1920,1430,1,1757,2666,1921,1919,1974,
+ 1922,132,1918,622,1674,220,30,1971,1972,1973,
+ 1757,1757,2015,1920,349,1757,1757,1757,1921,1919,
+ 1974,1922,133,1918,1346,1757,1757,1757,1971,1972,
+ 1973,1092,30,1757,1920,417,32,207,1196,1921,
+ 1919,1974,1922,2014,1918,1554,1431,1757,1,1751,
+ 1151,1783,1784,1763,268,1983,1151,349,253,189,
+ 268,1786,1422,349,253,1757,2601,189,189,349,
+ 492,1757,185,1757,1757,1757,1757,1757,1762,1757,
+ 184,206,1757,1757,1757,1757,1757,1757,464,1757,
+ 1757,1757,1757,1757,1757,1757,1757,1757,1757,1757,
+ 1757,1757,1757,374
};
};
public final static char termAction[] = TermAction.termAction;
@@ -819,16 +819,16 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 442,0,340,0,1642,1652,1636,0,1448,1341,
- 1167,1268,1255,1150,1122,0,491,416,395,1679,
- 1529,0,606,1212,316,0,1461,1181,1136,670,
- 1255,1150,1122,1602,1421,1507,0,1466,1433,610,
- 1111,1244,1217,1330,1317,448,1411,1401,1390,1360,
- 544,469,1534,1519,1508,1307,1139,1019,672,1499,
- 1491,1380,1083,1027,482,577,1091,1055,1035,491,
- 999,979,958,937,585,916,556,348,895,874,
- 853,832,811,790,769,748,727,706,685,316,
- 638,512,416,395,0
+ 443,0,341,0,1643,1653,1637,0,1449,1342,
+ 1168,1269,1256,1151,1123,0,492,417,396,1680,
+ 1530,0,607,1213,317,0,1462,1182,1137,671,
+ 1256,1151,1123,1603,1422,1508,0,1467,1434,611,
+ 1112,1245,1218,1331,1318,449,1412,1402,1391,1361,
+ 545,470,1535,1520,1509,1308,1140,1020,673,1500,
+ 1492,1381,1084,1028,483,578,1092,1056,1036,492,
+ 1000,980,959,938,586,917,557,349,896,875,
+ 854,833,812,791,770,749,728,707,686,317,
+ 639,513,417,396,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1054,18 +1054,18 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static int
NUM_STATES = 207,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2071,
+ LA_STATE_OFFSET = 2073,
MAX_LA = 2,
- NUM_RULES = 315,
+ NUM_RULES = 316,
NUM_NONTERMINALS = 126,
NUM_SYMBOLS = 219,
SEGMENT_SIZE = 8192,
- START_STATE = 1657,
+ START_STATE = 1658,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
- ACCEPT_ACTION = 1746,
- ERROR_ACTION = 1756;
+ ACCEPT_ACTION = 1747,
+ ERROR_ACTION = 1757;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java
index b2a092453af..4170739e85f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
index 13df9c5d0ef..486fbc4d59e 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -661,589 +661,595 @@ public String getName() {
//
// Rule 118: iteration_statement ::= do statement while ( expression ) ;
//
- case 118: { action. consumeStatementDoLoop(); break;
+ case 118: { action. consumeStatementDoLoop(true); break;
}
//
- // Rule 119: iteration_statement ::= while ( expression ) statement
+ // Rule 119: iteration_statement ::= do statement
//
- case 119: { action. consumeStatementWhileLoop(); break;
+ case 119: { action. consumeStatementDoLoop(false); break;
}
//
- // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 120: iteration_statement ::= while ( expression ) statement
//
- case 120: { action. consumeStatementForLoop(); break;
+ case 120: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 121: { action. consumeStatementForLoop(); break;
}
//
- // Rule 122: jump_statement ::= goto identifier_token ;
+ // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 122: { action. consumeStatementGoto(); break;
+ case 122: { action. consumeStatementForLoop(); break;
}
//
- // Rule 123: jump_statement ::= continue ;
+ // Rule 123: jump_statement ::= goto identifier_token ;
//
- case 123: { action. consumeStatementContinue(); break;
+ case 123: { action. consumeStatementGoto(); break;
}
//
- // Rule 124: jump_statement ::= break ;
+ // Rule 124: jump_statement ::= continue ;
//
- case 124: { action. consumeStatementBreak(); break;
+ case 124: { action. consumeStatementContinue(); break;
}
//
- // Rule 125: jump_statement ::= return ;
+ // Rule 125: jump_statement ::= break ;
//
- case 125: { action. consumeStatementReturn(false); break;
+ case 125: { action. consumeStatementBreak(); break;
}
//
- // Rule 126: jump_statement ::= return expression ;
+ // Rule 126: jump_statement ::= return ;
//
- case 126: { action. consumeStatementReturn(true); break;
+ case 126: { action. consumeStatementReturn(false); break;
}
//
- // Rule 127: declaration ::= declaration_specifiers ;
+ // Rule 127: jump_statement ::= return expression ;
//
- case 127: { action. consumeDeclarationSimple(false); break;
+ case 127: { action. consumeStatementReturn(true); break;
}
//
- // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 128: declaration ::= declaration_specifiers ;
//
- case 128: { action. consumeDeclarationSimple(true); break;
+ case 128: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 129: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 129: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 130: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 133: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 158: init_declarator ::= complete_declarator = initializer
+ // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 158: { action. consumeDeclaratorWithInitializer(true); break;
+ case 134: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 160: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 159: init_declarator ::= complete_declarator = initializer
//
- case 160: { action. consumeToken(); break;
+ case 159: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 166: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 161: storage_class_specifier ::= storage_class_specifier_token
//
- case 166: { action. consumeToken(); break;
+ case 161: { action. consumeToken(); break;
}
//
- // Rule 179: type_name_specifier ::= identifier_token
+ // Rule 167: simple_type_specifier ::= simple_type_specifier_token
//
- case 179: { action. consumeToken(); break;
+ case 167: { action. consumeToken(); break;
}
//
- // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 180: type_name_specifier ::= identifier_token
//
- case 180: { action. consumeTypeSpecifierComposite(false); break;
+ case 180: { action. consumeToken(); break;
}
//
- // 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 }
+ // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 181: { action. consumeTypeSpecifierComposite(true); break;
+ case 181: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ // Rule 182: 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 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 182: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 194: { action. consumeStructDeclaration(true); break;
+ case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 195: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 195: { action. consumeStructDeclaration(false); break;
+ case 195: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 196: struct_declaration ::= ERROR_TOKEN
+ // Rule 196: struct_declaration ::= specifier_qualifier_list ;
//
- case 196: { action. consumeDeclarationProblem(); break;
+ case 196: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 202: struct_declarator ::= : constant_expression
+ // Rule 197: struct_declaration ::= ERROR_TOKEN
//
- case 202: { action. consumeBitField(false); break;
+ case 197: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 203: struct_declarator ::= declarator : constant_expression
+ // Rule 203: struct_declarator ::= : constant_expression
//
- case 203: { action. consumeBitField(true); break;
+ case 203: { action. consumeBitField(false); break;
}
//
- // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 204: struct_declarator ::= declarator : constant_expression
//
- case 204: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 204: { action. consumeBitField(true); break;
}
//
- // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 205: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 211: enumerator ::= identifier_token
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 211: { action. consumeEnumerator(false); break;
+ case 206: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 212: enumerator ::= identifier_token = constant_expression
+ // Rule 212: enumerator ::= identifier_token
//
- case 212: { action. consumeEnumerator(true); break;
+ case 212: { action. consumeEnumerator(false); break;
}
//
- // Rule 213: type_qualifier ::= type_qualifier_token
+ // Rule 213: enumerator ::= identifier_token = constant_expression
//
- case 213: { action. consumeToken(); break;
+ case 213: { action. consumeEnumerator(true); break;
}
//
- // Rule 217: function_specifier ::= inline
+ // Rule 214: type_qualifier ::= type_qualifier_token
//
- case 217: { action. consumeToken(); break;
+ case 214: { action. consumeToken(); break;
}
//
- // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 218: function_specifier ::= inline
//
- case 219: { action. consumeDeclaratorWithPointer(true); break;
+ case 218: { action. consumeToken(); break;
}
//
- // Rule 224: basic_direct_declarator ::= declarator_id_name
+ // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 224: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 220: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 225: basic_direct_declarator ::= ( declarator )
+ // Rule 225: basic_direct_declarator ::= declarator_id_name
//
- case 225: { action. consumeDirectDeclaratorBracketed(); break;
+ case 225: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 226: declarator_id_name ::= identifier
+ // Rule 226: basic_direct_declarator ::= ( declarator )
//
- case 226: { action. consumeIdentifierName(); break;
+ case 226: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 227: declarator_id_name ::= identifier
//
- case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 227: { action. consumeIdentifierName(); break;
}
//
- // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 231: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 233: { action. consumeDeclaratorWithPointer(true); break;
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 234: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 236: { action. consumeDeclaratorWithPointer(true); break;
+ case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 237: identifier_list ::= identifier
+ // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 237: { action. consumeIdentifierKnR(); break;
+ case 237: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 238: identifier_list ::= identifier_list , identifier
+ // Rule 238: identifier_list ::= identifier
//
case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 239: array_modifier ::= [ ]
+ // Rule 239: identifier_list ::= identifier_list , identifier
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 239: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 240: array_modifier ::= [ ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 241: array_modifier ::= [ assignment_expression ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 241: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 242: array_modifier ::= [ assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 242: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 243: array_modifier ::= [ static assignment_expression ]
+ // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 244: array_modifier ::= [ static assignment_expression ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 246: array_modifier ::= [ * ]
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 247: array_modifier ::= [ * ]
//
- case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
+ // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 249: { action. consumePointer(); break;
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
+ // Rule 250: pointer_seq ::= pointer_hook * pointer_hook
//
case 250: { action. consumePointer(); break;
}
//
- // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 251: { action. consumePointerTypeQualifierList(); break;
+ case 251: { action. consumePointer(); break;
}
//
- // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
+ // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 256: parameter_type_list ::= parameter_list
+ // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 256: { action. consumeEmpty(); break;
+ case 253: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 257: parameter_type_list ::= parameter_list , ...
+ // Rule 257: parameter_type_list ::= parameter_list
//
- case 257: { action. consumePlaceHolder(); break;
+ case 257: { action. consumeEmpty(); break;
}
//
- // Rule 258: parameter_type_list ::= ...
+ // Rule 258: parameter_type_list ::= parameter_list , ...
//
case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 259: parameter_type_list ::= ...
//
- case 261: { action. consumeParameterDeclaration(); break;
+ case 259: { action. consumePlaceHolder(); break;
}
//
- // Rule 262: parameter_declaration ::= declaration_specifiers
+ // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 262: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 265: type_id ::= specifier_qualifier_list
+ // Rule 263: parameter_declaration ::= declaration_specifiers
//
- case 265: { action. consumeTypeId(false); break;
+ case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator
+ // Rule 266: type_id ::= specifier_qualifier_list
//
- case 266: { action. consumeTypeId(true); break;
+ case 266: { action. consumeTypeId(false); break;
}
//
- // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 268: { action. consumeDeclaratorWithPointer(false); break;
+ case 267: { action. consumeTypeId(true); break;
}
//
- // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 269: { action. consumeDeclaratorWithPointer(true); break;
+ case 269: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 273: { action. consumeDirectDeclaratorBracketed(); break;
+ case 270: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 274: array_direct_abstract_declarator ::= array_modifier
+ // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 274: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= array_modifier
//
- case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= ( )
+ // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 278: function_direct_abstract_declarator ::= ( )
+ //
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 281: initializer ::= assignment_expression
+ // Rule 282: initializer ::= assignment_expression
//
- case 281: { action. consumeInitializer(); break;
+ case 282: { action. consumeInitializer(); break;
}
//
- // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
+ // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 283: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 284: initializer_list ::= { <openscope-ast> }
+ // Rule 285: initializer_list ::= { <openscope-ast> }
//
- case 284: { action. consumeInitializerList(); break;
+ case 285: { action. consumeInitializerList(); break;
}
//
- // Rule 285: start_initializer_list ::= $Empty
+ // Rule 286: start_initializer_list ::= $Empty
//
- case 285: { action. initializerListStart(); break;
+ case 286: { action. initializerListStart(); break;
}
//
- // Rule 286: end_initializer_list ::= $Empty
+ // Rule 287: end_initializer_list ::= $Empty
//
- case 286: { action. initializerListEnd(); break;
+ case 287: { action. initializerListEnd(); break;
}
//
- // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 291: { action. consumeInitializerDesignated(); break;
+ case 292: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 295: designator_base ::= [ constant_expression ]
+ // Rule 296: designator_base ::= [ constant_expression ]
//
- case 295: { action. consumeDesignatorArray(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 296: designator_base ::= . identifier_token
+ // Rule 297: designator_base ::= . identifier_token
//
- case 296: { action. consumeDesignatorField(); break;
+ case 297: { action. consumeDesignatorField(); break;
}
//
- // Rule 297: designator ::= [ constant_expression ]
+ // Rule 298: designator ::= [ constant_expression ]
//
- case 297: { action. consumeDesignatorArray(); break;
+ case 298: { action. consumeDesignatorArray(); break;
}
//
- // Rule 298: designator ::= . identifier_token
+ // Rule 299: designator ::= . identifier_token
//
- case 298: { action. consumeDesignatorField(); break;
+ case 299: { action. consumeDesignatorField(); break;
}
//
- // Rule 299: translation_unit ::= external_declaration_list
+ // Rule 300: translation_unit ::= external_declaration_list
//
- case 299: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 300: translation_unit ::= $Empty
+ // Rule 301: translation_unit ::= $Empty
//
- case 300: { action. consumeTranslationUnit(); break;
+ case 301: { action. consumeTranslationUnit(); break;
}
//
- // Rule 305: external_declaration ::= ;
+ // Rule 306: external_declaration ::= ;
//
- case 305: { action. consumeDeclarationEmpty(); break;
+ case 306: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 306: external_declaration ::= ERROR_TOKEN
+ // Rule 307: external_declaration ::= ERROR_TOKEN
//
- case 306: { action. consumeDeclarationProblem(); break;
+ case 307: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 310: { action. consumeFunctionDefinition(false); break;
+ case 311: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 311: { action. consumeFunctionDefinitionKnR(); break;
+ case 312: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 312: { action. consumeFunctionDefinition(true); break;
+ case 313: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 313: function_body ::= { }
+ // Rule 314: function_body ::= { }
//
- case 313: { action. consumeStatementCompoundStatement(false); break;
+ case 314: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 314: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 315: function_body ::= { <openscope-ast> block_item_list }
//
- case 314: { action. consumeStatementCompoundStatement(true); break;
+ case 315: { action. consumeStatementCompoundStatement(true); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java
index 2ef87e8e850..a5fff97b04f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -45,227 +45,227 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
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,2,5,7,5,1,0,7,2,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,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,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,1,3,
- 6,4,2,4,-106,0,-161,0,0,0,
+ 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,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,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,1,
+ 3,6,4,2,4,-106,0,-161,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-37,0,0,0,-18,0,-61,-10,0,
- 0,-159,0,-12,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-41,0,
- 0,0,0,0,0,0,-9,0,0,0,
- 0,0,-236,0,-4,0,0,0,0,0,
- -23,0,0,0,0,0,0,-2,0,0,
- -242,0,0,0,0,0,0,0,0,0,
- 0,-32,0,-65,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-3,-139,
+ 0,0,-37,0,0,0,-18,0,-61,-10,
+ 0,0,-159,0,-12,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-41,
+ 0,0,0,0,0,0,0,-9,0,0,
+ 0,0,0,-236,0,-4,0,0,0,0,
+ 0,-23,0,0,0,0,0,0,-2,0,
+ 0,-242,0,0,0,0,0,0,0,0,
+ 0,0,-32,0,-65,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-3,
+ -139,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-13,0,
+ 0,0,-33,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-13,0,0,
- 0,-33,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-154,
+ -154,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-221,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-221,0,0,0,0,
+ 0,0,0,-39,0,0,0,-120,0,-267,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-39,0,0,0,-120,0,-267,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-20,
- 0,0,0,-21,0,-7,-27,0,0,-271,
- 0,-156,0,-28,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-251,
- -31,0,0,0,-46,0,-22,0,0,0,
+ -20,0,0,0,-21,0,-7,-27,0,0,
+ -271,0,-156,0,-28,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-24,0,0,-148,0,
- -30,0,0,0,0,0,0,0,0,0,
- 0,0,0,-34,0,0,-137,0,-66,0,
- 0,0,0,0,0,0,0,0,-25,0,
- -280,0,-279,0,0,0,0,0,0,0,
+ -251,-31,0,0,0,-46,0,-22,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-44,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-24,0,0,-148,
+ 0,-30,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-34,0,0,-137,0,-66,
+ 0,0,0,0,0,0,0,0,0,-25,
+ 0,-280,0,-279,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-58,0,-102,-50,
- 0,0,0,0,-26,0,-38,0,0,0,
- -51,-146,0,0,0,0,0,0,0,0,
- 0,0,0,0,-157,0,0,0,0,0,
+ 0,0,0,0,-44,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -192,-53,0,0,0,0,0,0,-150,0,
+ 0,0,0,0,0,0,0,-58,0,-102,
+ -50,0,0,0,0,-26,0,-38,0,0,
+ 0,-51,-146,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-157,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-138,0,0,0,0,0,0,0,
- 0,-35,0,-36,0,0,0,0,0,0,
- 0,-60,0,0,0,0,0,0,0,0,
+ 0,-192,-53,0,0,0,0,0,0,-150,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-113,0,-119,0,-132,0,0,0,
+ 0,0,0,-138,0,0,0,0,0,0,
+ 0,0,-35,0,-36,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,-188,0,0,0,0,0,-165,0,0,
+ 0,0,0,-113,0,-119,0,-132,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-118,0,
- -104,0,0,0,0,0,0,0,0,0,
+ 0,0,-188,0,0,0,0,0,-165,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-121,0,-49,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-118,
+ 0,-104,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-93,0,-151,0,-179,0,0,0,
- 0,0,0,0,0,0,0,-67,0,0,
- 0,0,0,0,0,0,-122,0,0,0,
+ 0,0,-121,0,-49,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-133,0,0,0,-160,0,-123,
+ 0,0,0,-93,0,-151,0,-179,0,0,
+ 0,0,0,0,0,0,0,0,-67,0,
+ 0,0,0,0,0,0,0,-122,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-133,0,0,0,-160,0,
+ -123,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-124,0,-189,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-200,
- 0,0,0,0,0,-125,0,-63,0,0,
+ 0,0,0,-124,0,-189,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-201,0,-126,0,
+ -200,0,0,0,0,0,-125,0,-63,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-202,0,0,0,0,
- 0,-127,0,-224,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-201,0,-126,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-226,0,-128,0,0,0,0,0,
+ 0,0,0,0,0,0,-202,0,0,0,
+ 0,0,-127,0,-224,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-227,0,0,0,0,0,-129,0,-240,
+ 0,0,0,-226,0,-128,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-265,0,
- -130,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-274,0,0,
- 0,0,0,-131,0,-278,0,0,0,0,
+ 0,0,-227,0,0,0,0,0,-129,0,
+ -240,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-265,
+ 0,-130,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-274,0,
+ 0,0,0,0,-131,0,-278,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-284,0,-193,0,0,0,
+ 0,0,0,0,0,-284,0,-193,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-290,0,0,0,0,0,-194,
- 0,-74,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-290,0,0,0,0,0,
+ -194,0,-74,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -75,0,-230,0,-76,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-77,
- 0,0,0,-78,0,-235,0,-54,0,0,
+ 0,-75,0,-230,0,-76,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-79,0,0,0,-249,0,-80,0,
+ -77,0,0,0,-78,0,-235,0,-54,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-81,0,-147,
- 0,-82,0,0,0,0,0,0,0,-260,
+ 0,0,0,-79,0,0,0,-249,0,-80,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-83,0,0,0,
- -270,0,-84,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-87,0,0,
- 0,-152,0,-89,0,0,0,0,0,0,
- 0,0,0,-277,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-81,0,
+ -147,0,-82,0,0,0,0,0,0,0,
+ -260,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-83,0,0,
+ 0,-270,0,-84,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-87,0,
+ 0,0,-152,0,-89,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,
- -111,0,0,0,-283,0,0,0,0,0,
+ 0,-111,0,0,0,-283,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-90,0,0,0,-72,0,-96,0,0,
- 0,0,0,-48,0,0,0,-149,0,0,
+ 0,0,-90,0,0,0,-72,0,-96,0,
+ 0,0,0,0,-48,0,0,0,-149,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-95,0,-42,0,0,-238,0,-62,-97,
- 0,0,0,0,0,0,0,0,0,-92,
- -45,0,0,-99,-91,0,0,0,-100,-183,
- 0,0,0,0,0,-114,0,0,-269,0,
- 0,0,-103,0,-29,0,0,-52,0,0,
+ 0,0,-95,0,-42,0,0,-238,0,-62,
+ -97,0,0,0,0,0,0,0,0,0,
+ -92,-45,0,0,-99,-91,0,0,0,-100,
+ -183,0,0,0,0,0,-114,0,0,-269,
+ 0,0,0,-103,0,-29,0,0,-52,0,
0,0,0,0,0,0,0,0,0,0,
- -70,0,-105,0,0,0,0,0,0,0,
- -40,0,0,0,0,0,0,0,0,0,
- 0,0,-94,0,-172,0,0,0,-86,-107,
- 0,-47,0,-101,0,0,0,0,0,0,
- 0,0,-190,-115,0,0,0,0,0,0,
+ 0,-70,0,-105,0,0,0,0,0,0,
+ 0,-40,0,0,0,0,0,0,0,0,
+ 0,0,0,-94,0,-172,0,0,0,-86,
+ -107,0,-47,0,-101,0,0,0,0,0,
+ 0,0,0,-190,-115,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -59,-180,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-163,0,0,0,
- 0,0,-164,0,0,0,0,-15,0,-8,
- 0,-109,0,0,0,-166,-228,0,0,0,
- -169,0,0,0,0,-223,-191,-6,-112,0,
- 0,-234,0,0,0,0,0,0,0,-162,
- 0,0,0,-174,0,0,0,0,0,0,
- 0,0,-17,0,-116,-252,0,0,0,0,
- 0,0,0,0,0,0,0,-176,0,0,
- 0,0,0,0,0,-195,0,0,0,0,
- 0,-247,-197,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-248,
- 0,0,0,0,-73,0,0,0,0,0,
- 0,0,0,0,-177,0,0,0,-184,0,
- 0,0,0,0,0,-263,0,0,-98,0,
- 0,-85,-185,0,0,0,0,0,-204,0,
- 0,0,-282,0,-276,0,0,0,-205,0,
- 0,0,0,-206,0,0,0,0,0,0,
- 0,0,0,0,-155,0,-207,0,0,0,
- 0,0,0,0,0,0,0,0,-173,0,
- 0,0,0,0,-208,0,0,0,0,0,
- -108,-57,0,0,-209,0,0,0,0,0,
- -175,0,0,-239,-258,0,0,0,0,0,
- 0,0,0,0,0,0,-178,0,0,0,
- -187,0,-229,0,0,-232,0,0,0,0,
- 0,0,0,0,0,0,-110,0,0,0,
- 0,0,-210,0,0,0,0,0,-211,0,
- 0,0,0,0,0,0,0,0,-254,0,
- 0,-212,0,0,0,-233,0,0,0,0,
- -186,-213,0,-214,-250,0,-215,0,0,0,
- -256,0,0,-216,0,0,0,0,0,0,
- 0,0,0,0,-217,0,-262,0,-218,-68,
+ 0,-59,-180,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-163,0,0,
+ 0,0,0,-164,0,0,0,0,-15,0,
+ -8,0,-109,0,0,0,-166,-228,0,0,
+ 0,-169,0,0,0,0,-223,-191,-6,-112,
+ 0,0,-234,0,0,0,0,0,0,0,
+ -162,0,0,0,-174,0,0,0,0,0,
+ 0,0,0,-17,0,-116,-252,0,0,0,
+ 0,0,0,0,0,0,0,0,-176,0,
+ 0,0,0,0,0,0,-195,0,0,0,
+ 0,0,-247,-197,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-257,0,0,-266,
- -198,0,0,-196,0,0,0,0,0,0,
- 0,0,-219,0,0,0,0,0,-287,0,
- 0,0,-220,0,0,0,0,0,0,0,
- 0,0,0,-225,-261,0,0,-203,-243,0,
- -289,0,0,0,0,-268,0,0,0,0,
- 0,0,0,0,0,-275,-181,0,0,-244,
- -281,0,-291,0,0,-43,0,0,0,0,
+ -248,0,0,0,0,-73,0,0,0,0,
+ 0,0,0,0,0,-177,0,0,0,-184,
+ 0,0,0,0,0,0,-263,0,0,-98,
+ 0,0,-85,-185,0,0,0,0,0,-204,
+ 0,0,0,-282,0,-276,0,0,0,-205,
+ 0,0,0,0,-206,0,0,0,0,0,
+ 0,0,0,0,0,-155,0,-207,0,0,
+ 0,0,0,0,0,0,0,0,0,-173,
+ 0,0,0,0,0,-208,0,0,0,0,
+ 0,-108,-57,0,0,-209,0,0,0,0,
+ 0,-175,0,0,-239,-258,0,0,0,0,
+ 0,0,0,0,0,0,0,-178,0,0,
+ 0,-187,0,-229,0,0,-232,0,0,0,
+ 0,0,0,0,0,0,0,-110,0,0,
+ 0,0,0,-210,0,0,0,0,0,-211,
+ 0,0,0,0,0,0,0,0,0,-254,
+ 0,0,-212,0,0,0,-233,0,0,0,
+ 0,-186,-213,0,-214,-250,0,-215,0,0,
+ 0,-256,0,0,-216,0,0,0,0,0,
+ 0,0,0,0,0,-217,0,-262,0,-218,
+ -68,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-257,0,0,
+ -266,-198,0,0,-196,0,0,0,0,0,
+ 0,0,0,-219,0,0,0,0,0,-287,
+ 0,0,0,-220,0,0,0,0,0,0,
+ 0,0,0,0,-225,-261,0,0,-203,-243,
+ 0,-289,0,0,0,0,-268,0,0,0,
+ 0,0,0,0,0,0,-275,-181,0,0,
+ -244,-281,0,-291,0,0,-43,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-69,0,0,0,0,0,0,0,0,
+ 0,0,-69,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-288,0,0,0,0,
- -1,0,0,0,-259,-153,0,0,0,0,
- 0,0,0,0,0,0,0,0,-19,-273,
- 0,0,-144,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-140,0,0,
- 0,0,0,-55,0,-71,0,0,0,0,
+ 0,0,0,0,0,0,-288,0,0,0,
+ 0,-1,0,0,0,-259,-153,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-19,
+ -273,0,0,-144,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-140,0,
+ 0,0,0,0,-55,0,-71,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-199,-286,0,-145,0,
+ 0,0,0,0,0,0,-199,-286,0,-145,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-5,
- 0,0,-88,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-134,0,
0,0,0,0,0,0,0,0,0,0,
+ -5,0,0,-88,0,0,0,0,0,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,-141,
- 0,0,0,0,0,0,0,0,0,-241,
- 0,0,-142,0,0,0,0,0,0,0,
- 0,0,-231,-246,0,0,-245,0,0,0,
- 0,-143,0,0,0,0,0,0,0,0,
- 0,0,0,-11,0,0,0,0,-14,-182,
- 0,0,0,0,0,0,0,-16,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -141,0,0,0,0,0,0,0,0,0,
+ -241,0,0,-142,0,0,0,0,0,0,
+ 0,0,0,-231,-246,0,0,-245,0,0,
+ 0,0,-143,0,0,0,0,0,0,0,
+ 0,0,0,0,-11,0,0,0,0,-14,
+ -182,0,0,0,0,0,0,0,-16,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -64,-135,0,0,0,0,0,0,0,-136,
- 0,0,0,-167,0,0,0,0,-117,0,
- 0,0,0,0,0,0,0,0,0,-56,
- 0,0,0,0,0,0,0,0,0,-264,
- 0,0,0,0,0,-237,0,0,0,0,
- 0,0,-222,0,0,0,0,0,0,0,
- 0,0,-253,0,0,0,0,-272,0,0,
0,0,0,0,0,0,0,0,0,0,
- -285,0,0,0,0,0,0,0,0,0,
- -158,0,0,0,0,0,0,0,0,0,
- -168,0,0,0,0,0,0,0,-170,0,
- 0,0,-171,0,0,0,0,0,0,0,
- 0,0,0,0,-255,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-64,-135,0,0,0,0,0,0,0,
+ -136,0,0,0,-167,0,0,0,0,-117,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0
+ -56,0,0,0,0,0,0,0,0,0,
+ -264,0,0,0,0,0,-237,0,0,0,
+ 0,0,0,-222,0,0,0,0,0,0,
+ 0,0,0,-253,0,0,0,0,-272,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-285,0,0,0,0,0,0,0,0,
+ 0,-158,0,0,0,0,0,0,0,0,
+ 0,-168,0,0,0,0,0,0,0,-170,
+ 0,0,0,-171,0,0,0,0,0,0,
+ 0,0,0,0,0,-255,0,0,0,0,
+ 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;
@@ -287,228 +287,228 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
108,108,91,91,56,30,30,30,30,30,
30,30,31,31,31,28,28,92,92,68,
68,32,32,33,33,33,63,63,34,34,
- 34,34,35,35,35,35,35,47,47,24,
- 24,24,24,24,48,48,48,84,84,79,
- 79,79,79,80,80,80,81,81,81,82,
- 82,82,83,83,83,93,93,85,85,86,
- 49,51,51,51,51,51,64,65,65,65,
- 65,65,65,65,65,65,65,65,65,72,
- 69,69,109,110,74,74,70,70,70,87,
- 94,94,95,95,88,88,88,57,111,111,
- 96,97,97,97,71,71,112,98,98,99,
- 99,89,89,25,26,26,26,50,52,52,
- 41,41,41,41,37,37,38,42,42,43,
- 39,39,100,100,44,114,114,113,113,46,
- 46,46,46,46,46,46,46,46,101,54,
- 54,54,54,36,75,75,66,66,66,67,
- 67,58,58,115,115,77,77,76,76,76,
- 59,59,59,60,61,61,61,62,62,62,
- 62,73,73,53,53,55,117,116,116,116,
- 116,102,118,119,119,120,120,121,121,107,
- 107,122,122,103,103,103,103,123,123,104,
- 104,104,105,106,106,292,1605,998,17,21,
- 18,1132,948,45,1151,1170,1155,1193,1174,1218,
- 1199,1247,622,1222,1253,75,331,92,359,176,
- 135,213,1426,20,505,17,21,18,1132,43,
- 45,1151,1170,1155,1193,1174,1218,1199,1247,908,
- 1823,2190,284,137,134,136,160,944,702,524,
- 224,233,667,587,1609,1051,179,336,241,139,
- 166,358,231,1354,143,146,149,152,754,339,
- 332,1115,135,213,1500,367,2104,2109,2118,1543,
- 135,213,322,834,1407,20,1558,17,21,18,
- 1132,41,524,224,232,145,134,136,160,419,
- 1313,1518,788,137,134,136,160,702,665,224,
- 229,442,219,609,221,223,127,274,541,139,
- 166,90,587,187,143,146,149,152,402,339,
- 269,782,925,272,1500,367,2104,2109,2118,1543,
- 1426,20,210,17,21,18,1132,43,45,1151,
- 1170,1155,1193,1174,1764,526,1350,20,550,17,
- 21,18,1132,948,45,1151,1170,1155,1193,1174,
- 1218,1199,1247,440,1222,1253,75,1124,281,1265,
- 20,550,17,21,18,1132,948,45,1151,1170,
- 1155,1193,1174,1218,1199,1247,225,1222,1253,75,
- 296,281,255,213,314,594,324,402,986,282,
- 1451,1268,1426,20,442,17,21,18,1132,43,
- 45,1151,1170,1155,1193,1174,1218,1199,1774,287,
- 412,833,282,1334,1268,1242,20,324,17,21,
- 18,1132,948,45,1151,1170,1155,1193,1174,1218,
- 1199,1247,289,1222,1253,75,892,281,288,1426,
- 20,501,17,21,18,1132,43,45,1151,1170,
- 1155,1675,1765,128,587,186,313,587,31,1426,
- 20,290,17,21,18,1132,43,40,282,913,
- 1268,1369,20,421,17,21,18,1132,948,45,
- 1151,1170,1155,1193,1174,1218,1199,1247,158,1222,
- 1253,75,310,281,1199,20,1359,17,21,18,
- 1132,948,45,1151,1170,1155,1193,1174,1218,1199,
- 1247,294,1222,1253,75,228,338,1108,179,833,
- 358,1435,1681,312,282,1004,1268,829,1856,530,
- 293,749,1426,20,239,17,21,18,1132,43,
- 45,1644,135,213,291,1426,20,25,17,21,
- 18,1132,43,45,1151,1170,1155,1193,1174,1218,
- 1785,1466,831,657,105,137,134,136,160,1426,
- 20,227,17,21,18,1132,43,45,1151,1170,
- 1733,139,166,587,31,1386,143,146,149,152,
- 283,339,326,671,587,188,1500,367,2104,2109,
- 2118,1543,1388,20,2179,17,21,18,1132,948,
- 45,1151,1170,1155,1193,1174,1218,1199,1247,260,
- 1222,1253,75,440,809,1223,20,440,17,21,
- 18,1132,948,45,1151,1170,1155,1193,1174,1218,
- 1199,1247,1285,1222,1253,75,230,1566,1426,20,
- 1573,17,21,18,1132,948,45,1151,1170,1155,
- 1193,1174,1218,1199,1247,240,1222,1253,75,359,
- 92,1426,20,24,17,21,18,1132,43,45,
- 1151,1170,1155,1193,1174,1218,1199,1247,276,1222,
- 1253,94,1426,20,418,17,21,18,1132,948,
- 45,1151,1170,1155,1193,1174,1218,1199,1247,243,
- 1222,1253,75,986,86,1426,20,998,17,21,
- 18,1132,43,45,1151,1170,1739,1534,1426,20,
- 124,17,21,18,1132,43,39,1426,20,1558,
- 17,21,18,1132,948,45,1151,1170,1155,1193,
- 1174,1218,1199,1247,440,1222,1253,75,1126,85,
- 1426,20,180,17,21,18,1132,948,45,1151,
- 1170,1155,1193,1174,1218,1199,1247,19,1222,1253,
- 75,234,84,1426,20,1132,17,21,18,1132,
- 948,45,1151,1170,1155,1193,1174,1218,1199,1247,
- 440,1222,1253,75,1440,83,1426,20,384,17,
- 21,18,1132,948,45,1151,1170,1155,1193,1174,
- 1218,1199,1247,1572,1222,1253,75,440,82,1426,
- 20,275,17,21,18,1132,948,45,1151,1170,
- 1155,1193,1174,1218,1199,1247,440,1222,1253,75,
- 1590,81,1426,20,440,17,21,18,1132,948,
- 45,1151,1170,1155,1193,1174,1218,1199,1247,23,
- 1222,1253,75,440,80,1426,20,1749,17,21,
- 18,1132,948,45,1151,1170,1155,1193,1174,1218,
- 1199,1247,440,1222,1253,75,1771,79,1426,20,
- 440,17,21,18,1132,948,45,1151,1170,1155,
- 1193,1174,1218,1199,1247,1807,1222,1253,75,440,
- 78,1426,20,273,17,21,18,1132,948,45,
- 1151,1170,1155,1193,1174,1218,1199,1247,440,1222,
- 1253,75,279,77,1426,20,440,17,21,18,
- 1132,948,45,1151,1170,1155,1193,1174,1218,1199,
- 1247,1987,1222,1253,75,440,76,1426,20,280,
- 17,21,18,1132,948,45,1151,1170,1155,1193,
- 1174,1218,1199,1247,440,1222,1253,75,1851,1849,
- 1426,20,1471,17,21,18,1132,948,45,1151,
- 1170,1155,1193,1174,1218,1199,1247,1873,1222,1253,
- 75,1055,1870,1426,20,876,17,21,18,1132,
- 948,45,1151,1170,1155,1193,1174,1218,1199,1247,
- 663,1222,1253,75,630,93,1426,20,331,17,
- 21,18,1132,43,45,1151,1170,1155,1193,1174,
- 1218,1199,1247,345,1222,1253,94,1426,20,796,
- 17,21,18,1132,948,45,1151,1170,1155,1193,
- 1174,1218,1199,1247,1519,1222,1253,75,931,74,
- 1426,20,288,17,21,18,1132,43,45,1657,
- 1426,20,212,17,21,18,1132,43,45,1151,
- 1170,1155,1193,1174,1218,1199,1247,751,1222,1253,
- 94,1426,20,550,17,21,18,1132,43,45,
- 1151,1170,1155,1193,1174,1218,1199,1247,1067,1222,
- 1253,94,1426,20,1064,17,21,18,1132,43,
- 45,1151,1170,1752,1426,20,202,17,21,18,
- 1132,43,45,1151,1170,1155,1193,1174,1218,1199,
- 1247,331,1222,1253,94,1426,20,1871,17,21,
- 18,1132,43,45,1151,1170,1155,1193,1174,1218,
- 1199,1247,1069,1222,1253,94,1445,20,589,17,
- 21,18,1132,34,178,1413,315,1761,1426,20,
- 203,17,21,18,1132,43,45,1151,1170,1155,
- 1685,111,587,1506,358,87,657,1295,1471,890,
- 626,1916,96,1444,109,95,97,98,99,100,
- 419,908,788,1622,708,1,1413,315,1471,793,
- 1464,110,255,213,254,213,946,125,1517,587,
- 296,88,111,54,231,331,87,1493,358,1471,
- 1727,307,107,96,1444,109,95,97,98,99,
- 100,1289,20,58,17,21,18,1132,43,36,
- 314,331,110,665,224,229,1375,218,609,221,
- 223,667,274,986,497,235,1413,315,263,358,
- 1104,317,622,108,986,267,782,925,272,1442,
- 123,246,111,941,1205,2070,87,667,1522,1471,
- 765,112,264,96,1444,109,95,97,98,99,
- 100,419,419,1545,1716,1964,277,1682,702,665,
- 224,1322,110,219,609,221,1274,60,127,195,
- 665,224,229,986,218,609,221,223,582,274,
- 1146,261,358,107,2110,493,986,119,1413,315,
- 126,905,267,782,925,272,986,331,355,1119,
- 1395,1711,998,122,111,135,213,1507,87,1040,
- 358,1471,476,2223,172,96,1444,109,95,97,
- 98,99,100,1108,179,355,986,1421,142,134,
- 136,160,106,667,110,665,224,581,1261,218,
- 609,221,534,2228,141,166,359,204,135,213,
- 159,391,1178,1319,20,108,17,21,18,1132,
- 43,44,665,224,229,734,218,609,221,223,
- 1490,138,134,136,160,1445,20,159,17,21,
- 18,1132,33,155,527,360,242,140,166,1118,
- 732,576,144,147,150,153,1489,339,557,480,
- 1413,788,1112,1465,657,28,28,1268,1268,706,
- 155,527,381,587,298,868,111,1421,576,745,
- 87,255,213,28,1480,1268,1386,96,1444,1511,
- 95,97,98,99,100,1426,20,1486,17,21,
- 18,1132,43,45,1151,1170,1155,1193,1767,521,
- 1413,788,665,224,229,367,218,609,221,223,
- 259,874,786,657,657,477,111,1845,763,1454,
- 87,562,1413,788,908,998,2200,96,1444,104,
- 95,97,98,99,100,197,1471,358,111,2083,
- 311,890,87,603,1413,788,868,278,1421,96,
- 1444,102,95,97,98,99,100,664,1609,308,
- 111,199,200,1284,87,898,254,213,1472,1286,
- 181,96,1444,103,95,97,98,99,100,644,
- 1413,788,1430,665,224,229,1464,218,609,221,
- 223,1161,1432,2206,1220,1500,111,672,1845,192,
- 87,685,1413,788,1141,857,1867,96,1444,119,
- 95,97,98,99,100,1411,1357,998,111,1000,
- 1426,20,87,17,21,18,1132,43,38,96,
- 1444,115,95,97,98,99,100,726,1413,788,
- 998,331,198,200,1289,20,209,17,21,18,
- 1132,43,36,1467,111,1380,1623,1925,87,767,
- 1413,788,205,711,1787,96,1444,1866,95,97,
- 98,99,100,1810,904,1499,111,667,359,359,
- 87,808,1413,788,247,613,1503,96,1444,114,
- 95,97,98,99,100,2087,1142,933,111,657,
- 359,359,87,849,1413,788,355,2336,1421,96,
- 1444,121,95,97,98,99,100,2336,22,244,
- 111,197,1426,20,87,17,21,18,1132,43,
- 37,96,1444,120,95,97,98,99,100,2336,
- 245,295,2336,665,224,229,359,218,609,221,
- 223,349,2336,375,1472,1484,1426,20,159,17,
- 21,18,1132,43,45,1151,1170,1762,305,355,
- 986,1421,194,1426,20,419,17,21,18,1132,
- 43,45,1151,1629,2336,193,297,2241,358,2336,
- 788,156,527,2336,622,2336,1426,20,304,17,
- 21,18,1132,43,35,2336,665,224,229,88,
- 218,609,221,223,2336,1848,1005,986,2084,1426,
- 20,493,17,21,18,1132,43,45,1151,1639,
- 702,665,224,229,118,219,609,221,223,277,
- 406,2336,375,1426,20,2336,17,21,18,1132,
- 43,36,2336,2336,301,303,309,305,388,1061,
- 2336,1811,274,2336,419,2336,2336,2336,2336,2336,
- 2336,2336,2336,2010,2336,267,782,925,272,2336,
- 2336,2336,2336,2336,2336,2336,2336,304,2336,2336,
- 1426,20,1040,17,21,18,1132,43,48,2336,
- 950,2336,657,1426,20,274,17,21,18,1132,
- 43,47,2336,992,950,657,657,1339,267,782,
- 925,272,1426,20,1386,17,21,18,1132,43,
- 46,2336,2336,2336,1003,266,667,197,1386,1062,
- 664,1609,2336,302,303,309,2336,2336,1449,2336,
- 667,2336,2336,702,391,2336,2336,2336,259,135,
- 213,2336,2336,274,135,213,1059,1454,2087,2336,
- 1472,2336,259,135,213,2336,269,782,925,272,
- 1059,1454,148,134,136,160,2336,151,134,136,
- 160,358,358,315,315,2336,154,134,136,160,
- 358,192,315,2336,1479,2336,315,1695,1867,890,
- 2336,2336,88,88,2336,197,197,2336,894,894,
- 1084,88,657,2336,197,88,2336,894,1471,209,
- 1084,116,657,2336,254,213,890,2336,1756,1623,
- 2336,2336,2336,1479,1386,788,2336,2336,2029,2029,
- 2336,2213,2336,1479,1386,788,2336,2029,1479,2336,
- 788,254,213,2336,88,2336,2336,1516,767,940,
- 116,1479,2336,788,88,2336,2336,967,259,88,
- 116,358,2336,788,497,116,763,1454,259,2336,
- 2336,358,88,788,2336,2336,1086,1454,116,358,
- 2336,788,88,358,2336,788,1546,2336,1789,2336,
- 1107,1616,88,2336,2336,358,1940,788,994,2336,
- 88,1105,2336,2336,88,2336,1013,2336,2336,2336,
- 1032,2336,2336,2336,1124,2336,88,2336,2336,2336,
- 2336,2336,1078,2336,0,11,226,0,2344,1,
- 0,1,2573,0,8,10,0,179,20,0,
- 1,2562,0,113,1829,0
+ 34,34,34,35,35,35,35,35,47,47,
+ 24,24,24,24,24,48,48,48,84,84,
+ 79,79,79,79,80,80,80,81,81,81,
+ 82,82,82,83,83,83,93,93,85,85,
+ 86,49,51,51,51,51,51,64,65,65,
+ 65,65,65,65,65,65,65,65,65,65,
+ 72,69,69,109,110,74,74,70,70,70,
+ 87,94,94,95,95,88,88,88,57,111,
+ 111,96,97,97,97,71,71,112,98,98,
+ 99,99,89,89,25,26,26,26,50,52,
+ 52,41,41,41,41,37,37,38,42,42,
+ 43,39,39,100,100,44,114,114,113,113,
+ 46,46,46,46,46,46,46,46,46,101,
+ 54,54,54,54,36,75,75,66,66,66,
+ 67,67,58,58,115,115,77,77,76,76,
+ 76,59,59,59,60,61,61,61,62,62,
+ 62,62,73,73,53,53,55,117,116,116,
+ 116,116,102,118,119,119,120,120,121,121,
+ 107,107,122,122,103,103,103,103,123,123,
+ 104,104,104,105,106,106,292,1606,998,17,
+ 21,18,1133,949,45,1152,1171,1156,1194,1175,
+ 1219,1200,1248,622,1223,1254,75,331,92,359,
+ 176,136,214,1426,20,505,17,21,18,1133,
+ 43,45,1152,1171,1156,1194,1175,1219,1200,1248,
+ 908,1824,2191,285,138,135,137,161,944,703,
+ 525,225,234,668,587,1610,1051,180,337,242,
+ 140,167,358,232,1355,144,147,150,153,754,
+ 340,333,1115,136,214,1501,368,2105,2110,2119,
+ 1544,136,214,322,835,1407,20,1559,17,21,
+ 18,1133,41,525,225,233,146,135,137,161,
+ 419,1313,1519,789,138,135,137,161,703,666,
+ 225,230,443,220,610,222,224,128,275,541,
+ 140,167,90,587,188,144,147,150,153,403,
+ 340,270,783,926,273,1501,368,2105,2110,2119,
+ 1544,1426,20,211,17,21,18,1133,43,45,
+ 1152,1171,1156,1194,1175,1765,527,1350,20,551,
+ 17,21,18,1133,949,45,1152,1171,1156,1194,
+ 1175,1219,1200,1248,440,1223,1254,75,1124,282,
+ 1265,20,551,17,21,18,1133,949,45,1152,
+ 1171,1156,1194,1175,1219,1200,1248,226,1223,1254,
+ 75,296,282,256,214,314,595,324,402,987,
+ 283,1451,1269,1426,20,442,17,21,18,1133,
+ 43,45,1152,1171,1156,1194,1175,1219,1200,1775,
+ 288,412,833,283,1335,1269,1242,20,324,17,
+ 21,18,1133,949,45,1152,1171,1156,1194,1175,
+ 1219,1200,1248,290,1223,1254,75,892,282,289,
+ 1426,20,501,17,21,18,1133,43,45,1152,
+ 1171,1156,1676,1766,129,587,187,314,587,31,
+ 1426,20,291,17,21,18,1133,43,40,283,
+ 913,1269,1369,20,421,17,21,18,1133,949,
+ 45,1152,1171,1156,1194,1175,1219,1200,1248,159,
+ 1223,1254,75,311,282,1199,20,1360,17,21,
+ 18,1133,949,45,1152,1171,1156,1194,1175,1219,
+ 1200,1248,295,1223,1254,75,229,339,1108,180,
+ 833,358,1436,1682,313,283,1004,1269,829,1857,
+ 531,294,749,1426,20,240,17,21,18,1133,
+ 43,45,1645,136,214,292,1426,20,25,17,
+ 21,18,1133,43,45,1152,1171,1156,1194,1175,
+ 1219,1786,1466,831,658,105,138,135,137,161,
+ 1426,20,228,17,21,18,1133,43,45,1152,
+ 1171,1734,140,167,587,31,1387,144,147,150,
+ 153,284,340,326,672,587,189,1501,368,2105,
+ 2110,2119,1544,1388,20,2180,17,21,18,1133,
+ 949,45,1152,1171,1156,1194,1175,1219,1200,1248,
+ 261,1223,1254,75,440,810,1223,20,440,17,
+ 21,18,1133,949,45,1152,1171,1156,1194,1175,
+ 1219,1200,1248,1285,1223,1254,75,231,1567,1426,
+ 20,1574,17,21,18,1133,949,45,1152,1171,
+ 1156,1194,1175,1219,1200,1248,241,1223,1254,75,
+ 359,92,1426,20,24,17,21,18,1133,43,
+ 45,1152,1171,1156,1194,1175,1219,1200,1248,277,
+ 1223,1254,94,1426,20,418,17,21,18,1133,
+ 949,45,1152,1171,1156,1194,1175,1219,1200,1248,
+ 244,1223,1254,75,986,86,1426,20,998,17,
+ 21,18,1133,43,45,1152,1171,1740,1535,1426,
+ 20,125,17,21,18,1133,43,39,1426,20,
+ 1559,17,21,18,1133,949,45,1152,1171,1156,
+ 1194,1175,1219,1200,1248,440,1223,1254,75,1126,
+ 85,1426,20,181,17,21,18,1133,949,45,
+ 1152,1171,1156,1194,1175,1219,1200,1248,19,1223,
+ 1254,75,235,84,1426,20,1132,17,21,18,
+ 1133,949,45,1152,1171,1156,1194,1175,1219,1200,
+ 1248,440,1223,1254,75,1441,83,1426,20,384,
+ 17,21,18,1133,949,45,1152,1171,1156,1194,
+ 1175,1219,1200,1248,1573,1223,1254,75,440,82,
+ 1426,20,276,17,21,18,1133,949,45,1152,
+ 1171,1156,1194,1175,1219,1200,1248,440,1223,1254,
+ 75,1591,81,1426,20,440,17,21,18,1133,
+ 949,45,1152,1171,1156,1194,1175,1219,1200,1248,
+ 23,1223,1254,75,440,80,1426,20,1750,17,
+ 21,18,1133,949,45,1152,1171,1156,1194,1175,
+ 1219,1200,1248,440,1223,1254,75,1772,79,1426,
+ 20,440,17,21,18,1133,949,45,1152,1171,
+ 1156,1194,1175,1219,1200,1248,1808,1223,1254,75,
+ 440,78,1426,20,274,17,21,18,1133,949,
+ 45,1152,1171,1156,1194,1175,1219,1200,1248,440,
+ 1223,1254,75,280,77,1426,20,440,17,21,
+ 18,1133,949,45,1152,1171,1156,1194,1175,1219,
+ 1200,1248,1988,1223,1254,75,440,76,1426,20,
+ 281,17,21,18,1133,949,45,1152,1171,1156,
+ 1194,1175,1219,1200,1248,440,1223,1254,75,1852,
+ 1850,1426,20,1471,17,21,18,1133,949,45,
+ 1152,1171,1156,1194,1175,1219,1200,1248,1874,1223,
+ 1254,75,1055,1871,1426,20,876,17,21,18,
+ 1133,949,45,1152,1171,1156,1194,1175,1219,1200,
+ 1248,663,1223,1254,75,630,93,1426,20,331,
+ 17,21,18,1133,43,45,1152,1171,1156,1194,
+ 1175,1219,1200,1248,345,1223,1254,94,1426,20,
+ 796,17,21,18,1133,949,45,1152,1171,1156,
+ 1194,1175,1219,1200,1248,1520,1223,1254,75,931,
+ 74,1426,20,288,17,21,18,1133,43,45,
+ 1658,1426,20,213,17,21,18,1133,43,45,
+ 1152,1171,1156,1194,1175,1219,1200,1248,751,1223,
+ 1254,94,1426,20,550,17,21,18,1133,43,
+ 45,1152,1171,1156,1194,1175,1219,1200,1248,1067,
+ 1223,1254,94,1426,20,1064,17,21,18,1133,
+ 43,45,1152,1171,1753,1426,20,203,17,21,
+ 18,1133,43,45,1152,1171,1156,1194,1175,1219,
+ 1200,1248,331,1223,1254,94,1426,20,1872,17,
+ 21,18,1133,43,45,1152,1171,1156,1194,1175,
+ 1219,1200,1248,1069,1223,1254,94,1445,20,589,
+ 17,21,18,1133,34,178,1414,316,1762,1426,
+ 20,204,17,21,18,1133,43,45,1152,1171,
+ 1156,1686,111,587,1507,358,87,658,1295,1472,
+ 890,626,1917,96,1445,109,95,97,98,99,
+ 100,419,908,789,1623,708,1,1414,316,1472,
+ 793,1464,110,256,214,255,214,946,126,1518,
+ 587,297,88,111,54,232,331,87,1494,358,
+ 1472,1728,308,107,96,1445,109,95,97,98,
+ 99,100,1289,20,58,17,21,18,1133,43,
+ 36,315,331,110,666,225,230,1376,219,610,
+ 222,224,668,275,986,498,235,1414,316,264,
+ 358,1104,318,622,108,986,268,783,926,273,
+ 1443,124,247,111,941,1205,2071,87,668,1523,
+ 1472,766,112,265,96,1445,109,95,97,98,
+ 99,100,419,419,1546,1717,1965,278,1683,703,
+ 666,225,1323,110,220,610,222,1275,60,128,
+ 196,666,225,230,986,219,610,222,224,582,
+ 275,1146,262,358,107,2111,494,986,119,1414,
+ 316,127,905,268,783,926,273,986,331,355,
+ 1119,1396,1712,998,123,111,136,214,1508,87,
+ 1041,358,1472,477,2224,172,96,1445,109,95,
+ 97,98,99,100,1108,180,355,986,1422,143,
+ 135,137,161,106,668,110,666,225,582,1261,
+ 219,610,222,535,2229,142,167,359,205,136,
+ 214,160,392,1178,1319,20,108,17,21,18,
+ 1133,43,44,666,225,230,735,219,610,222,
+ 224,1490,139,135,137,161,1445,20,160,17,
+ 21,18,1133,33,156,528,360,243,141,167,
+ 1118,733,577,145,148,151,154,1489,340,558,
+ 480,1414,789,1112,1465,658,28,28,1269,1269,
+ 706,156,528,382,587,299,868,111,1422,577,
+ 745,87,256,214,28,1480,1269,1387,96,1445,
+ 1512,95,97,98,99,100,1426,20,1486,17,
+ 21,18,1133,43,45,1152,1171,1156,1194,1768,
+ 521,1414,789,666,225,230,367,219,610,222,
+ 224,260,874,786,658,658,477,111,1846,764,
+ 1455,87,562,1414,789,908,998,2201,96,1445,
+ 104,95,97,98,99,100,198,1472,358,111,
+ 2084,312,890,87,603,1414,789,868,279,1422,
+ 96,1445,102,95,97,98,99,100,664,1610,
+ 309,111,200,201,1284,87,899,255,214,1473,
+ 1286,182,96,1445,103,95,97,98,99,100,
+ 644,1414,789,1430,666,225,230,1464,219,610,
+ 222,224,1161,1432,2207,1220,1500,111,672,1846,
+ 193,87,685,1414,789,1141,858,1868,96,1445,
+ 120,95,97,98,99,100,1411,1358,998,111,
+ 1000,1426,20,87,17,21,18,1133,43,38,
+ 96,1445,115,95,97,98,99,100,726,1414,
+ 789,998,331,199,201,1289,20,210,17,21,
+ 18,1133,43,36,1467,111,1381,1624,1926,87,
+ 767,1414,789,206,711,1788,96,1445,1867,95,
+ 97,98,99,100,1811,904,1499,111,668,359,
+ 359,87,808,1414,789,248,614,1503,96,1445,
+ 114,95,97,98,99,100,2088,1142,933,111,
+ 658,359,359,87,849,1414,789,355,2340,1422,
+ 96,1445,122,95,97,98,99,100,2340,22,
+ 245,111,198,1426,20,87,17,21,18,1133,
+ 43,37,96,1445,121,95,97,98,99,100,
+ 2340,246,296,2340,666,225,230,359,219,610,
+ 222,224,349,2340,376,1473,1484,1426,20,160,
+ 17,21,18,1133,43,45,1152,1171,1763,306,
+ 355,986,1422,195,1426,20,420,17,21,18,
+ 1133,43,45,1152,1630,2340,194,298,2242,358,
+ 2340,789,157,528,2340,622,2340,1426,20,305,
+ 17,21,18,1133,43,35,2340,666,225,230,
+ 88,219,610,222,224,2340,1849,1005,986,2085,
+ 1426,20,494,17,21,18,1133,43,45,1152,
+ 1640,703,666,225,230,118,220,610,222,224,
+ 278,406,2340,376,1426,20,2340,17,21,18,
+ 1133,43,36,2340,2340,302,304,310,306,389,
+ 1061,2340,1812,275,2340,420,2340,2340,2340,2340,
+ 2340,2340,2340,2340,2011,2340,268,783,926,273,
+ 2340,2340,2340,2340,2340,2340,2340,2340,305,2340,
+ 2340,1426,20,1041,17,21,18,1133,43,48,
+ 2340,950,2340,658,1426,20,275,17,21,18,
+ 1133,43,47,2340,992,950,658,658,1339,268,
+ 783,926,273,1426,20,1387,17,21,18,1133,
+ 43,46,2340,2340,2340,1003,267,668,198,1387,
+ 1062,664,1610,2340,303,304,310,2340,2340,1449,
+ 2340,668,2340,2340,703,392,2340,2340,2340,260,
+ 136,214,2340,2340,275,136,214,1060,1455,2088,
+ 2340,1473,2340,260,136,214,2340,270,783,926,
+ 273,1060,1455,149,135,137,161,2340,152,135,
+ 137,161,358,358,316,316,2340,155,135,137,
+ 161,358,193,316,2340,1479,2340,316,1696,1868,
+ 890,2340,2340,88,88,2340,198,198,2340,895,
+ 895,1084,88,658,2340,198,88,2340,895,1472,
+ 210,1084,116,658,2340,255,214,890,2340,1757,
+ 1624,2340,2340,2340,1479,1387,789,2340,2340,2030,
+ 2030,2340,2214,2340,1479,1387,789,2340,2030,1479,
+ 2340,789,255,214,2340,88,2340,2340,1517,768,
+ 941,116,1479,2340,789,88,2340,2340,968,260,
+ 88,116,358,2340,789,498,116,764,1455,260,
+ 2340,2340,358,88,789,2340,2340,1087,1455,116,
+ 358,2340,789,88,358,2340,789,1547,2340,1790,
+ 2340,1108,1617,88,2340,2340,358,1941,789,995,
+ 2340,88,1106,2340,2340,88,2340,1014,2340,2340,
+ 2340,1033,2340,2340,2340,1125,2340,88,2340,2340,
+ 2340,2340,2340,1079,2340,0,11,227,0,2348,
+ 1,0,1,2578,0,8,10,0,1845,119,
+ 0,180,20,0,1,2567,0,113,1830,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -686,164 +686,164 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface TermAction {
public final static char termAction[] = {0,
- 2336,4165,1,4164,1487,1,659,1,1,1,
+ 2340,4170,1,4169,1488,1,660,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,2345,1,2437,1,1,1,1,1,
- 1360,853,811,1433,1393,1619,1328,1352,1379,1370,
- 1374,1,1,1,1,1,1,1,1,1,
- 1,1,1,2336,1,1,1,2336,2343,8,
- 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324,
- 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324,
- 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324,
- 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324,
- 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324,
- 2324,2324,1669,2324,2324,2324,1691,2324,2336,4165,
- 1,4164,1487,1,659,1,1,1,1,1,
+ 1,1,2349,1,2441,1,1,1,1,1,
+ 1361,854,812,1434,1394,1620,1329,1353,1380,1371,
+ 1375,1,1,1,1,1,1,1,1,1,
+ 1,1,1,2340,1,1,1,2340,2347,8,
+ 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
+ 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
+ 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
+ 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
+ 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325,
+ 2325,2325,1670,2325,2325,2325,1692,2325,2340,4170,
+ 1,4169,1488,1,660,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 2345,1,2437,1,1,1,1,1,1360,853,
- 811,1433,1393,1619,1328,1352,1379,1370,1374,1,
+ 2349,1,2441,1,1,1,1,1,1361,854,
+ 812,1434,1394,1620,1329,1353,1380,1371,1375,1,
1,1,1,1,1,1,1,1,1,1,
- 1,2336,1,1,1,182,2343,2336,4165,1,
- 4164,2346,1,659,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,2345,
- 1,2437,1,1,1,1,1,1360,853,811,
- 1433,1393,1619,1328,1352,1379,1370,1374,1,1,
+ 1,2340,1,1,1,183,2347,2340,4170,1,
+ 4169,2350,1,660,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2349,
+ 1,2441,1,1,1,1,1,1361,854,812,
+ 1434,1394,1620,1329,1353,1380,1371,1375,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1713,1,1,1,2336,4165,1,4164,2346,1,
- 659,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2345,1,2437,1,
- 1,1,1,1,1360,853,811,1433,1393,1619,
- 1328,1352,1379,1370,1374,1,1,1,1,1,
+ 1714,1,1,1,2340,4170,1,4169,2350,1,
+ 660,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2349,1,2441,1,
+ 1,1,1,1,1361,854,812,1434,1394,1620,
+ 1329,1353,1380,1371,1375,1,1,1,1,1,
1,1,1,1,1,1,1,71,1,1,
- 1,2336,2347,2161,2348,11,2013,2315,1892,1790,
- 1966,1595,1326,404,2349,2350,2351,2352,868,599,
- 2550,2551,2552,2336,2499,359,2500,2498,2553,2501,
- 2497,2336,2347,2336,2348,2336,2347,660,2348,551,
- 253,1398,2504,2509,2508,2506,2507,2505,2510,2511,
- 2503,2512,2513,2514,60,1498,438,344,2336,1,
- 1,1,2346,1,1,2562,1939,1,2336,20,
- 179,2327,2340,2327,2327,532,62,1,1,1,
- 2345,1,2642,1,1,1,1,1,179,179,
- 179,2327,179,43,179,179,179,179,179,1,
+ 1,2340,2351,2162,2352,11,2014,2316,1893,1791,
+ 1967,1596,1327,405,2353,2354,2355,2356,869,600,
+ 2555,2556,2557,2340,2504,360,2505,2503,2558,2506,
+ 2502,2340,2351,2340,2352,2340,2351,661,2352,552,
+ 254,1399,2509,2514,2513,2511,2512,2510,2515,2516,
+ 2508,2517,2518,2519,60,1499,439,345,2340,1,
+ 1,1,2350,1,1,2567,1940,1,2340,20,
+ 180,2331,2344,2331,2331,533,62,1,1,1,
+ 2349,1,2647,1,1,1,1,1,180,180,
+ 180,2331,180,43,180,180,180,180,180,1,
1,1,1,1,1,1,1,1,1,1,
- 1,157,1,1,1,2336,1,1,1,2346,
- 1,2336,2327,1926,1272,855,709,183,1,2327,
- 286,300,2346,2339,1,1,1,2345,1,2642,
- 1,1,1,1,1,1926,1272,855,709,2336,
- 2345,235,2336,2342,1084,223,1,1,1,1,
- 1,1,1,1,1,1,1,1,2336,1,
- 1,1,555,223,1251,2336,1061,1038,1015,992,
- 969,923,946,900,877,832,61,1389,299,2336,
- 4165,1,4164,2346,1,659,1,1,1,1,
- 1,1,1,1,1,1,1,1,223,2341,
- 229,2345,223,2437,185,4155,232,4155,2336,1360,
- 853,811,1433,1393,1619,1328,1352,1379,1370,1374,
- 2336,4165,1,4164,2346,1,659,1,1,1,
- 1,1,1,1,1,1,1,1,1,2336,
- 184,4157,2345,4157,2437,1926,1272,855,709,73,
- 1360,853,811,1433,1393,1619,1328,1352,1379,1370,
- 1374,2336,4165,1,4164,2346,1,659,1,1,
+ 1,158,1,1,1,2340,1,1,1,2350,
+ 1,2340,2331,1927,1273,856,710,184,1,2331,
+ 287,301,2350,2343,1,1,1,2349,1,2647,
+ 1,1,1,1,1,1927,1273,856,710,2340,
+ 2349,236,2340,2346,1085,224,1,1,1,1,
+ 1,1,1,1,1,1,1,1,2340,1,
+ 1,1,556,224,1252,2340,1062,1039,1016,993,
+ 970,924,947,901,878,833,61,1390,300,2340,
+ 4170,1,4169,2350,1,660,1,1,1,1,
+ 1,1,1,1,1,1,1,1,224,2345,
+ 230,2349,224,2441,186,4160,233,4160,2340,1361,
+ 854,812,1434,1394,1620,1329,1353,1380,1371,1375,
+ 2340,4170,1,4169,2350,1,660,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2340,
+ 185,4162,2349,4162,2441,1927,1273,856,710,73,
+ 1361,854,812,1434,1394,1620,1329,1353,1380,1371,
+ 1375,2340,4170,1,4169,2350,1,660,1,1,
1,1,1,1,1,1,1,1,1,1,
- 2336,206,4162,2345,4162,2437,2336,2347,2336,2348,
- 2174,1360,853,811,1433,1393,1619,1328,1352,1379,
- 1370,1374,2336,4165,1,4164,2346,1,659,1,
+ 2340,207,4167,2349,4167,2441,2340,2351,2340,2352,
+ 2175,1361,854,812,1434,1394,1620,1329,1353,1380,
+ 1371,1375,2340,4170,1,4169,2350,1,660,1,
1,1,1,1,1,1,1,1,1,1,
- 1,253,2562,1939,2345,2336,2437,2261,2336,63,
- 342,2251,1360,853,811,1433,1393,1619,1328,1352,
- 1379,1370,1374,2336,4165,1,4164,2346,1,659,
+ 1,254,2567,1940,2349,2340,2441,2262,2340,63,
+ 343,2252,1361,854,812,1434,1394,1620,1329,1353,
+ 1380,1371,1375,2340,4170,1,4169,2350,1,660,
1,1,1,1,1,1,1,1,1,1,
- 1,1,52,208,2347,2345,2348,2437,2336,1220,
- 672,64,2336,1360,853,811,1433,1393,1619,1328,
- 1352,1379,1370,1374,2336,4165,1,4164,2346,1,
- 659,1,1,1,1,1,1,1,1,1,
- 1,1,1,1338,579,54,2345,2336,2437,2269,
- 2336,2574,1220,672,1360,853,811,1433,1393,1619,
- 1328,1352,1379,1370,1374,2336,4165,1,4164,2346,
- 1,659,1,1,1,1,1,1,1,1,
- 1,1,1,1,53,1338,579,2345,2336,2437,
- 69,1220,672,2336,1502,1360,853,811,1433,1393,
- 1619,1328,1352,1379,1370,1374,2336,4165,1,4164,
- 2346,1,659,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,207,373,2345,373,
- 2437,659,2336,2336,2273,67,1360,853,811,1433,
- 1393,1619,1328,1352,1379,1370,1374,2336,4165,1,
- 4164,2346,1,659,1,1,1,1,1,1,
- 1,1,1,1,1,1,2314,685,2336,2345,
- 2336,2437,1,1178,2336,1301,2318,1360,853,811,
- 1433,1393,1619,1328,1352,1379,1370,1374,2336,4165,
- 1,4164,2346,1,659,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2562,1939,
- 2345,460,2437,2336,1,55,1,191,1360,853,
- 811,1433,1393,1619,1328,1352,1379,1370,1374,2336,
- 2343,2336,1,1,1,2346,1,2532,1,1,
- 1,1,1,2336,2336,2285,2336,1,2550,2551,
- 2552,2342,220,2345,1,1,1,1,1,1,
- 1,1,1,1,1,1,1230,1,1,1,
- 65,191,2336,1,1844,1,190,1943,1989,1655,
- 1,2330,1453,130,2342,262,2562,1453,1876,1,
- 1,1,1,1,253,1,2532,1,1,1,
- 1,1,2550,2551,2552,634,2499,2341,2500,2498,
- 2553,2501,2497,1,1,1,1,1,1,1,
- 1,1,1,1,1,2336,1,1,1,2346,
- 190,2336,1,634,1,191,2336,2336,634,2336,
- 2341,2344,131,222,1,1371,1986,2345,2342,2336,
- 1,1,1,2594,1,2532,1,1,1,1,
- 1,2550,2551,2552,2336,2499,2336,2500,2498,2553,
- 2501,2497,1,1,1,1,1,1,1,1,
- 1,1,1,1,2336,1,1,1,2336,191,
- 1,520,1939,2348,49,2343,634,634,1197,2092,
- 265,132,1986,236,2341,1,2336,223,229,2550,
- 2551,2552,1530,2499,233,2500,2498,2553,2501,2497,
- 2550,2551,2552,1,2499,223,2500,2498,2553,2501,
- 2497,2504,2509,2508,2506,2507,2505,2510,2511,2503,
- 2512,2513,2514,2336,1498,438,344,2336,2347,1707,
- 2348,1,2321,634,268,2562,1453,211,249,253,
- 223,2073,2060,248,223,2336,2550,2551,2552,2342,
- 2499,271,2500,2498,2553,2501,2497,1,1,1,
- 70,113,2550,2551,2552,129,2336,2594,2504,2509,
- 2508,2506,2507,2505,2510,2511,2503,2512,2513,2514,
- 250,1498,438,344,2550,2551,2552,634,2499,2336,
- 2500,2498,2553,2501,2497,2594,2336,42,1176,1,
- 1,1,1833,4148,634,2341,2504,2509,2508,2506,
- 2507,2505,2510,2511,2503,2512,2513,2514,1,2347,
- 2161,2348,2340,1411,256,1892,1790,1966,1595,1326,
- 404,2349,2350,2351,2352,868,599,685,2336,66,
- 2333,742,2336,2347,2161,2348,2340,1814,1655,1892,
- 1790,1966,1595,1326,404,2349,2350,2351,2352,868,
- 599,2336,2347,2161,2348,1130,2013,4148,1892,1790,
- 1966,1595,1326,404,2349,2350,2351,2352,868,599,
- 89,701,2336,2339,1,2347,2161,2348,29,2013,
- 4148,1892,1790,1966,1595,1326,404,2349,2350,2351,
- 2352,868,599,59,270,58,1694,2339,2336,2347,
- 2161,2348,2340,2013,251,1892,1790,1966,1595,1326,
- 404,2349,2350,2351,2352,868,599,2336,2336,2336,
- 2336,2336,1,2550,2551,2552,91,1153,2336,2347,
- 2161,2348,29,2013,4148,1892,1790,1966,1595,1326,
- 404,2349,2350,2351,2352,868,599,634,268,2336,
- 1986,2336,2336,253,2336,1943,1989,1943,1989,1,
- 2347,2161,2348,2339,2013,4148,1892,1790,1966,1595,
- 1326,404,2349,2350,2351,2352,868,599,2336,2347,
- 2161,2348,91,2013,4148,1892,1790,1966,1595,1326,
- 404,2349,2350,2351,2352,868,599,1,2347,2161,
- 2348,634,2013,2336,1892,1790,1966,1595,1326,404,
- 2349,2350,2351,2352,868,599,2336,2347,2162,2348,
- 68,2013,2336,1892,1790,1966,1595,1326,404,2349,
- 2350,2351,2352,868,599,2336,2347,2161,2348,57,
- 2013,56,1892,1790,1966,1595,1326,404,2349,2350,
- 2351,2352,868,599,2336,2347,2170,2348,133,2013,
- 292,1892,1790,1966,1595,1326,404,2349,2350,2351,
- 2352,868,599,30,207,1,72,2550,2551,2552,
- 32,2499,420,2500,2498,2553,2501,2497,1,51,
- 2362,2363,117,2336,2092,50,460,2346,252,2336,
- 2092,1943,1989,1943,1989,4148,2336,285,201,30,
- 117,1439,2336,1305,189,2345,189,2550,2551,2552,
- 185,189,184,1,1,2336,1633,206,2336,2336,
- 2365,3437,2336,1958,2336,2336,2336,2336,2336,2593,
- 2336,2336,2336,2336,2336,2336,723,2336,117,2336,
- 1635,2336,2336,2336,532,2336,2073,2060,2336,2336,
- 597,2336,2073,2060,2336,1439,499,1284,2336,2336,
- 2336,2336,2336,611,2336,2336,2336,2336,2336,2336,
- 2336,2336,2348,2347
+ 1,1,52,209,2351,2349,2352,2441,2340,1221,
+ 673,64,2340,1361,854,812,1434,1394,1620,1329,
+ 1353,1380,1371,1375,2340,4170,1,4169,2350,1,
+ 660,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1339,580,54,2349,2340,2441,2270,
+ 2340,2579,1221,673,1361,854,812,1434,1394,1620,
+ 1329,1353,1380,1371,1375,2340,4170,1,4169,2350,
+ 1,660,1,1,1,1,1,1,1,1,
+ 1,1,1,1,53,1339,580,2349,2340,2441,
+ 69,1221,673,2340,1503,1361,854,812,1434,1394,
+ 1620,1329,1353,1380,1371,1375,2340,4170,1,4169,
+ 2350,1,660,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,208,374,2349,374,
+ 2441,660,2340,2340,2274,67,1361,854,812,1434,
+ 1394,1620,1329,1353,1380,1371,1375,2340,4170,1,
+ 4169,2350,1,660,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2315,686,2340,2349,
+ 2340,2441,1,1179,2340,1302,2319,1361,854,812,
+ 1434,1394,1620,1329,1353,1380,1371,1375,2340,4170,
+ 1,4169,2350,1,660,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,2567,1940,
+ 2349,461,2441,2340,1,55,1,192,1361,854,
+ 812,1434,1394,1620,1329,1353,1380,1371,1375,2340,
+ 2347,2340,1,1,1,2350,1,2537,1,1,
+ 1,1,1,2340,119,2286,2340,1,2555,2556,
+ 2557,2346,221,2349,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1231,1,1,1,
+ 65,192,2340,1,2328,1,191,1944,1990,1656,
+ 1,2334,1454,131,2346,263,2567,1454,1877,1,
+ 1,1,1,1,254,1,2537,1,1,1,
+ 1,1,2555,2556,2557,635,2504,2345,2505,2503,
+ 2558,2506,2502,1,1,1,1,1,1,1,
+ 1,1,1,1,1,2340,1,1,1,2350,
+ 191,2340,1,635,1,192,2340,2340,635,2340,
+ 2345,2348,132,223,1,1372,1987,2349,2346,2340,
+ 1,1,1,2599,1,2537,1,1,1,1,
+ 1,2555,2556,2557,2340,2504,2340,2505,2503,2558,
+ 2506,2502,1,1,1,1,1,1,1,1,
+ 1,1,1,1,2340,1,1,1,2340,192,
+ 1,521,1940,2352,49,2347,635,635,1198,2093,
+ 266,133,1987,237,2345,1,2340,224,230,2555,
+ 2556,2557,1531,2504,234,2505,2503,2558,2506,2502,
+ 2555,2556,2557,1,2504,224,2505,2503,2558,2506,
+ 2502,2509,2514,2513,2511,2512,2510,2515,2516,2508,
+ 2517,2518,2519,2340,1499,439,345,2340,2351,1708,
+ 2352,1,2322,635,269,2567,1454,212,250,254,
+ 224,2074,2061,249,224,2340,2555,2556,2557,2346,
+ 2504,272,2505,2503,2558,2506,2502,1,1,1,
+ 70,113,2555,2556,2557,130,2340,2599,2509,2514,
+ 2513,2511,2512,2510,2515,2516,2508,2517,2518,2519,
+ 251,1499,439,345,2555,2556,2557,635,2504,2340,
+ 2505,2503,2558,2506,2502,2599,2340,42,1177,1,
+ 1,1,1834,4153,635,2345,2509,2514,2513,2511,
+ 2512,2510,2515,2516,2508,2517,2518,2519,1,2351,
+ 2162,2352,2344,1412,257,1893,1791,1967,1596,1327,
+ 405,2353,2354,2355,2356,869,600,686,2340,66,
+ 2337,743,2340,2351,2162,2352,2344,1815,1656,1893,
+ 1791,1967,1596,1327,405,2353,2354,2355,2356,869,
+ 600,2340,2351,2162,2352,1131,2014,4153,1893,1791,
+ 1967,1596,1327,405,2353,2354,2355,2356,869,600,
+ 89,702,2340,2343,1,2351,2162,2352,29,2014,
+ 4153,1893,1791,1967,1596,1327,405,2353,2354,2355,
+ 2356,869,600,59,271,58,1695,2343,2340,2351,
+ 2162,2352,2344,2014,252,1893,1791,1967,1596,1327,
+ 405,2353,2354,2355,2356,869,600,2340,2340,2340,
+ 2340,2340,1,2555,2556,2557,91,1154,2340,2351,
+ 2162,2352,29,2014,4153,1893,1791,1967,1596,1327,
+ 405,2353,2354,2355,2356,869,600,635,269,2340,
+ 1987,2340,2340,254,2340,1944,1990,1944,1990,1,
+ 2351,2162,2352,2343,2014,4153,1893,1791,1967,1596,
+ 1327,405,2353,2354,2355,2356,869,600,2340,2351,
+ 2162,2352,91,2014,4153,1893,1791,1967,1596,1327,
+ 405,2353,2354,2355,2356,869,600,1,2351,2162,
+ 2352,635,2014,2340,1893,1791,1967,1596,1327,405,
+ 2353,2354,2355,2356,869,600,2340,2351,2163,2352,
+ 68,2014,2340,1893,1791,1967,1596,1327,405,2353,
+ 2354,2355,2356,869,600,2340,2351,2162,2352,57,
+ 2014,56,1893,1791,1967,1596,1327,405,2353,2354,
+ 2355,2356,869,600,2340,2351,2171,2352,134,2014,
+ 293,1893,1791,1967,1596,1327,405,2353,2354,2355,
+ 2356,869,600,30,208,1,72,2555,2556,2557,
+ 32,2504,421,2505,2503,2558,2506,2502,1,51,
+ 2366,2367,117,2340,2093,50,461,2350,253,2340,
+ 2093,1944,1990,1944,1990,4153,2340,286,202,30,
+ 117,1440,2340,1306,190,2349,190,2555,2556,2557,
+ 186,190,185,1,1,2340,1634,207,2340,2340,
+ 2369,3442,2340,1959,2340,2340,2340,2340,2340,2598,
+ 2340,2340,2340,2340,2340,2340,724,2340,117,2340,
+ 1636,2340,2340,2340,533,2340,2074,2061,2340,2340,
+ 598,2340,2074,2061,2340,1440,500,1285,2340,2340,
+ 2340,2340,2340,612,2340,2340,2340,2340,2340,2340,
+ 2340,2340,2352,2351
};
};
public final static char termAction[] = TermAction.termAction;
@@ -851,36 +851,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface Asb {
public final static char asb[] = {0,
- 498,1,427,281,498,429,496,310,322,494,
- 322,494,494,322,494,322,283,468,429,418,
- 529,496,283,201,133,132,377,48,468,376,
- 253,494,241,241,494,241,429,468,338,468,
- 214,283,429,79,214,26,429,254,496,102,
- 496,205,468,330,429,216,470,283,427,141,
- 99,306,167,269,453,453,453,453,453,83,
- 453,453,453,161,178,183,181,189,185,192,
- 191,194,193,195,216,129,496,453,48,376,
- 253,451,202,202,241,529,529,438,529,529,
- 202,253,139,453,139,269,496,102,205,205,
- 330,330,338,333,337,429,306,99,82,79,
- 453,453,453,453,453,453,453,453,453,453,
- 453,338,338,531,269,269,241,241,3,453,
- 453,453,453,453,453,453,453,453,453,453,
- 453,453,453,453,453,453,453,453,453,337,
- 129,24,251,202,453,202,267,453,341,453,
- 453,254,438,139,438,198,382,102,129,244,
- 102,205,207,433,207,330,306,335,336,211,
- 468,216,453,453,99,83,26,468,211,338,
+ 496,1,425,281,496,427,494,310,322,492,
+ 322,492,492,322,492,322,283,466,427,416,
+ 527,494,283,201,133,132,375,48,466,374,
+ 253,492,241,241,492,241,427,466,338,466,
+ 214,283,427,79,214,26,427,254,494,102,
+ 494,205,466,330,427,216,468,283,425,141,
+ 99,306,167,269,451,451,451,451,451,83,
+ 451,451,451,161,178,183,181,189,185,192,
+ 191,194,193,195,216,129,494,451,48,374,
+ 253,449,202,202,241,527,527,436,527,527,
+ 202,253,139,451,139,269,494,102,205,205,
+ 330,330,338,333,337,427,306,99,82,79,
+ 451,451,451,451,451,451,451,451,451,451,
+ 451,338,338,529,269,269,241,241,3,451,
+ 451,451,451,451,451,451,451,451,451,451,
+ 451,451,451,451,451,451,451,451,451,337,
+ 129,24,251,202,451,202,267,451,252,451,
+ 451,254,436,139,436,198,380,102,129,244,
+ 102,205,207,431,207,330,306,335,336,211,
+ 466,216,451,451,99,83,26,466,211,338,
338,338,99,181,181,178,178,185,185,183,
- 183,183,183,191,189,193,192,139,194,431,
- 24,451,202,338,529,338,338,253,438,453,
- 102,246,207,129,453,241,306,330,214,338,
- 537,333,99,99,531,537,343,496,453,207,
- 45,202,451,438,453,438,438,129,201,453,
- 200,129,330,216,338,129,22,380,241,453,
- 44,3,202,338,252,246,453,338,161,26,
- 99,241,453,338,3,202,438,99,438,338,
- 438
+ 183,183,183,191,189,193,192,139,194,429,
+ 24,449,202,338,527,338,338,253,436,451,
+ 102,246,207,129,451,241,306,330,214,338,
+ 535,333,99,99,529,535,341,494,451,207,
+ 45,202,449,436,451,436,436,129,201,451,
+ 200,129,330,216,338,129,22,378,241,451,
+ 44,3,202,338,252,246,451,338,161,26,
+ 99,241,451,338,3,202,436,99,436,338,
+ 436
};
};
public final static char asb[] = Asb.asb;
@@ -922,29 +922,29 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
41,46,44,45,43,42,47,48,50,51,
52,59,22,29,26,23,25,28,27,19,
20,21,5,1,2,53,57,60,4,0,
- 30,0,9,5,7,8,67,68,62,63,
+ 9,5,7,8,67,68,62,63,69,70,
+ 71,72,74,75,76,77,78,81,82,59,
+ 83,84,85,86,87,88,89,90,91,92,
+ 65,60,58,6,4,57,22,61,0,66,
+ 80,10,11,9,7,8,67,68,62,63,
69,70,71,72,74,75,76,77,78,81,
- 82,59,83,84,85,86,87,88,89,90,
- 91,92,65,60,58,6,4,57,22,61,
- 0,66,80,10,11,9,7,8,67,68,
- 62,63,69,70,71,72,74,75,76,77,
- 78,81,82,61,83,84,85,86,87,88,
- 89,90,91,92,57,53,60,25,19,26,
- 27,28,20,23,29,21,22,4,5,2,
- 1,0,4,57,58,61,0,32,34,6,
- 38,40,35,30,36,37,33,31,39,24,
- 22,4,2,13,14,15,16,1,3,10,
- 11,9,7,8,17,18,12,5,0,25,
- 41,19,42,54,26,43,27,44,45,28,
- 20,46,47,23,55,29,56,48,49,21,
- 50,51,52,1,3,6,0,73,25,41,
- 19,42,54,26,43,27,44,45,28,20,
- 46,47,23,55,29,56,48,49,21,50,
- 51,52,1,3,5,22,4,24,2,0,
- 4,60,5,2,53,0,5,25,41,19,
+ 82,61,83,84,85,86,87,88,89,90,
+ 91,92,57,53,60,25,19,26,27,28,
+ 20,23,29,21,22,4,5,2,1,0,
+ 4,57,58,61,0,32,34,6,38,40,
+ 35,30,36,37,33,31,39,24,22,4,
+ 2,13,14,15,16,1,3,10,11,9,
+ 7,8,17,18,12,5,0,25,41,19,
42,54,26,43,27,44,45,28,20,46,
47,23,55,29,56,48,49,21,50,51,
- 52,1,3,64,0
+ 52,1,3,6,0,73,25,41,19,42,
+ 54,26,43,27,44,45,28,20,46,47,
+ 23,55,29,56,48,49,21,50,51,52,
+ 1,3,5,22,4,24,2,0,4,60,
+ 5,2,53,0,5,25,41,19,42,54,
+ 26,43,27,44,45,28,20,46,47,23,
+ 55,29,56,48,49,21,50,51,52,1,
+ 3,64,0
};
};
public final static byte asr[] = Asr.asr;
@@ -1131,19 +1131,19 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopeState {
public final static char scopeState[] = {0,
- 530,0,550,0,2083,1867,1681,0,1682,1873,
- 1851,1829,1807,1771,1749,1713,1507,1691,1669,1435,
- 1619,1375,1334,0,611,499,1590,1572,476,1573,
- 555,0,1595,1326,404,1573,1814,342,685,532,
- 1655,460,1926,1272,855,709,1338,579,1220,672,
- 1989,1943,2092,2073,2060,2013,1966,1411,1892,1790,
- 868,599,1305,611,1284,1251,1230,1197,1176,1153,
- 1130,1107,788,1084,1061,1038,1015,992,969,946,
- 923,900,877,832,765,315,811,742,555,634,
- 499,476,0,925,782,665,609,2087,391,1986,
- 1453,2029,1386,0,332,375,1635,391,1716,1453,
- 1545,1386,1964,1442,1876,1939,1518,0,315,657,
- 1543,375,0
+ 531,0,551,0,2084,1868,1682,0,1683,1874,
+ 1852,1830,1808,1772,1750,1714,1508,1692,1670,1436,
+ 1620,1376,1335,0,612,500,1591,1573,477,1574,
+ 556,0,1596,1327,405,1574,1815,343,686,533,
+ 1656,461,1927,1273,856,710,1339,580,1221,673,
+ 1990,1944,2093,2074,2061,2014,1967,1412,1893,1791,
+ 869,600,1306,612,1285,1252,1231,1198,1177,1154,
+ 1131,1108,789,1085,1062,1039,1016,993,970,947,
+ 924,901,878,833,766,316,812,743,556,635,
+ 500,477,0,926,783,666,610,2088,392,1987,
+ 1454,2030,1387,0,333,376,1636,392,1717,1454,
+ 1546,1387,1965,1443,1877,1940,1519,0,316,658,
+ 1544,376,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1394,18 +1394,18 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public final static int
NUM_STATES = 291,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2650,
+ LA_STATE_OFFSET = 2655,
MAX_LA = 2147483647,
- NUM_RULES = 314,
+ NUM_RULES = 315,
NUM_NONTERMINALS = 125,
NUM_SYMBOLS = 218,
SEGMENT_SIZE = 8192,
- START_STATE = 1921,
+ START_STATE = 1922,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 73,
EOLT_SYMBOL = 73,
- ACCEPT_ACTION = 2314,
- ERROR_ACTION = 2336;
+ ACCEPT_ACTION = 2315,
+ ERROR_ACTION = 2340;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java
index 33df3a76cde..9ca38119a9b 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
index f3a0bd424f5..12dc1460eeb 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -678,595 +678,601 @@ public C99SizeofExpressionParser(ITokenStream stream, Map<String,String> propert
//
// Rule 117: iteration_statement ::= do statement while ( expression ) ;
//
- case 117: { action. consumeStatementDoLoop(); break;
+ case 117: { action. consumeStatementDoLoop(true); break;
}
//
- // Rule 118: iteration_statement ::= while ( expression ) statement
+ // Rule 118: iteration_statement ::= do statement
//
- case 118: { action. consumeStatementWhileLoop(); break;
+ case 118: { action. consumeStatementDoLoop(false); 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 * 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 * pointer_hook
+ // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
//
case 249: { action. consumePointer(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_hook * 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 * 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(true); break;
+ 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(true); 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 ::= ( )
+ //
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 280: initializer ::= assignment_expression
+ // Rule 281: initializer ::= assignment_expression
//
- case 280: { action. consumeInitializer(); break;
+ case 281: { action. consumeInitializer(); break;
}
//
- // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
+ // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 282: { action. consumeInitializerList(); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 283: initializer_list ::= { <openscope-ast> }
+ // Rule 284: initializer_list ::= { <openscope-ast> }
//
- case 283: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 284: start_initializer_list ::= $Empty
+ // Rule 285: start_initializer_list ::= $Empty
//
- case 284: { action. initializerListStart(); break;
+ case 285: { action. initializerListStart(); break;
}
//
- // Rule 285: end_initializer_list ::= $Empty
+ // Rule 286: end_initializer_list ::= $Empty
//
- case 285: { action. initializerListEnd(); break;
+ case 286: { action. initializerListEnd(); break;
}
//
- // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 290: { action. consumeInitializerDesignated(); break;
+ case 291: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 294: designator_base ::= [ constant_expression ]
+ // Rule 295: designator_base ::= [ constant_expression ]
//
- case 294: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 295: designator_base ::= . identifier_token
+ // Rule 296: designator_base ::= . identifier_token
//
- case 295: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorField(); break;
}
//
- // Rule 296: designator ::= [ constant_expression ]
+ // Rule 297: designator ::= [ constant_expression ]
//
- case 296: { action. consumeDesignatorArray(); break;
+ case 297: { action. consumeDesignatorArray(); break;
}
//
- // Rule 297: designator ::= . identifier_token
+ // Rule 298: designator ::= . identifier_token
//
- case 297: { action. consumeDesignatorField(); break;
+ case 298: { action. consumeDesignatorField(); break;
}
//
- // Rule 298: translation_unit ::= external_declaration_list
+ // Rule 299: translation_unit ::= external_declaration_list
//
- case 298: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 299: translation_unit ::= $Empty
+ // Rule 300: translation_unit ::= $Empty
//
- case 299: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 304: external_declaration ::= ;
+ // Rule 305: external_declaration ::= ;
//
- case 304: { action. consumeDeclarationEmpty(); break;
+ case 305: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 305: external_declaration ::= ERROR_TOKEN
+ // Rule 306: external_declaration ::= ERROR_TOKEN
//
- case 305: { action. consumeDeclarationProblem(); break;
+ case 306: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 309: { action. consumeFunctionDefinition(false); break;
+ case 310: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 310: { action. consumeFunctionDefinitionKnR(); break;
+ case 311: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 311: { action. consumeFunctionDefinition(true); break;
+ case 312: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 312: function_body ::= { }
+ // Rule 313: function_body ::= { }
//
- case 312: { action. consumeStatementCompoundStatement(false); break;
+ case 313: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 313: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 314: function_body ::= { <openscope-ast> block_item_list }
//
- case 313: { action. consumeStatementCompoundStatement(true); break;
+ case 314: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 315: no_sizeof_type_id_start ::= ERROR_TOKEN
+ // Rule 316: no_sizeof_type_id_start ::= ERROR_TOKEN
//
- case 315: { action. consumeEmpty(); break;
+ case 316: { action. consumeEmpty(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java
index 34a74ba272e..8088f65c433 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -45,171 +45,171 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
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,
+ 2,5,7,5,1,0,7,2,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,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,
- 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,1,3,6,
- 4,2,4,1,1,-36,0,0,0,0,
- 0,0,0,0,0,0,-2,0,0,0,
- 0,0,0,0,0,0,0,0,-4,-156,
- -115,0,-14,0,0,0,0,-72,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,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,1,3,
+ 6,4,2,4,1,1,-36,0,0,0,
+ 0,0,0,0,0,0,0,-2,0,0,
+ 0,0,0,0,0,0,0,0,0,-4,
+ -156,-115,0,-14,0,0,0,0,-72,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -167,0,-29,0,-104,0,0,0,0,-80,
- 0,0,-116,0,-16,0,-17,0,0,0,
- 0,0,0,0,-138,0,0,0,0,0,
+ 0,-167,0,-29,0,-104,0,0,0,0,
+ -80,0,0,-116,0,-16,0,-17,0,0,
+ 0,0,0,0,0,-138,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-174,0,0,0,0,
+ 0,0,0,0,0,0,-174,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-178,0,-128,-78,0,0,-48,0,0,
+ 0,0,-178,0,-128,-78,0,0,-48,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-30,0,0,0,-18,0,-42,0,
+ 0,0,0,-30,0,0,0,-18,0,-42,
0,0,0,0,0,0,0,0,0,0,
- 0,-6,0,0,0,0,0,0,0,0,
- -189,0,0,0,0,0,0,0,0,0,
+ 0,0,-6,0,0,0,0,0,0,0,
+ 0,-189,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-3,0,0,0,0,0,0,0,0,
- 0,0,-19,0,0,0,0,0,0,0,
- 0,0,0,0,-117,0,0,-118,0,-119,
- 0,0,0,-43,0,0,0,0,0,0,
- 0,0,0,0,0,-108,0,0,0,0,
+ 0,0,-3,0,0,0,0,0,0,0,
+ 0,0,0,-19,0,0,0,0,0,0,
+ 0,0,0,0,0,-117,0,0,-118,0,
+ -119,0,0,0,-43,0,0,0,0,0,
+ 0,0,0,0,0,0,-108,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-5,0,0,0,
- 0,0,0,0,-127,0,0,0,0,0,
- 0,0,0,0,0,-81,0,0,0,0,
- 0,0,0,0,0,-131,0,-158,0,-55,
+ 0,0,0,0,0,0,0,-5,0,0,
+ 0,0,0,0,0,-127,0,0,0,0,
+ 0,0,0,0,0,0,-81,0,0,0,
+ 0,0,0,0,0,0,-131,0,-158,0,
+ -55,0,0,0,0,0,0,0,0,0,
+ 0,-122,0,0,0,0,0,0,0,0,
+ 0,-20,0,-21,0,0,0,0,-27,0,
+ 0,0,0,0,0,0,0,0,0,-22,
0,0,0,0,0,0,0,0,0,0,
- -122,0,0,0,0,0,0,0,0,0,
- -20,0,-21,0,0,0,0,-27,0,0,
- 0,0,0,0,0,0,0,0,-22,0,
+ 0,-23,0,-188,0,-24,0,0,0,0,
+ -74,0,-12,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-56,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -23,0,-188,0,-24,0,0,0,0,-74,
- 0,-12,0,0,0,0,0,0,0,0,
- 0,0,0,0,-56,0,0,0,0,0,
+ 0,0,0,0,0,0,-57,0,0,0,
+ 0,0,0,0,0,0,0,-25,0,0,
+ 0,0,0,0,0,0,0,-58,0,0,
+ 0,0,0,0,0,0,0,0,-26,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,-57,0,0,0,0,
- 0,0,0,0,0,0,-25,0,0,0,
- 0,0,0,0,0,0,-58,0,0,0,
- 0,0,0,0,0,0,0,-26,0,0,
- 0,0,0,0,0,0,0,-59,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,-60,0,
- 0,0,0,0,0,0,0,0,0,-86,
- 0,0,0,0,0,0,0,0,0,-61,
+ -86,0,0,0,0,0,0,0,0,0,
+ -61,0,0,0,0,0,0,0,0,0,
+ 0,-87,0,0,0,0,0,0,0,0,
+ 0,-62,0,0,0,0,0,0,0,0,
+ 0,0,-88,0,0,0,0,0,0,0,
+ 0,0,-63,0,0,0,0,0,0,0,
+ 0,0,0,-89,0,0,0,0,0,0,
+ 0,0,0,-64,0,0,0,0,0,0,
+ 0,0,0,0,-90,0,0,0,0,0,
+ 0,0,0,0,-65,0,0,0,0,0,
+ 0,0,0,0,0,-91,0,0,0,0,
+ 0,0,0,0,0,-66,0,0,0,0,
+ 0,0,0,0,0,0,-92,0,0,0,
+ 0,0,0,0,0,0,-120,0,0,0,
+ 0,0,0,0,0,0,0,-93,0,0,
+ 0,0,0,0,0,0,0,-141,0,0,
+ 0,0,0,0,0,0,0,0,-94,0,
+ 0,0,0,0,0,0,0,0,-142,0,
+ 0,0,0,0,0,0,0,0,0,-95,
+ 0,0,0,0,0,0,0,0,0,-177,
0,0,0,0,0,0,0,0,0,0,
- -87,0,0,0,0,0,0,0,0,0,
- -62,0,0,0,0,0,0,0,0,0,
- 0,-88,0,0,0,0,0,0,0,0,
- 0,-63,0,0,0,0,0,0,0,0,
- 0,0,-89,0,0,0,0,0,0,0,
- 0,0,-64,0,0,0,0,0,0,0,
- 0,0,0,-90,0,0,0,0,0,0,
- 0,0,0,-65,0,0,0,0,0,0,
- 0,0,0,0,-91,0,0,0,0,0,
- 0,0,0,0,-66,0,0,0,0,0,
- 0,0,0,0,0,-92,0,0,0,0,
- 0,0,0,0,0,-120,0,0,0,0,
- 0,0,0,0,0,0,-93,0,0,0,
- 0,0,0,0,0,0,-141,0,0,0,
- 0,0,0,0,0,0,0,-94,0,0,
- 0,0,0,0,0,0,0,-142,0,0,
- 0,0,0,0,0,0,0,0,-95,0,
- 0,0,0,0,0,0,0,0,-177,0,
- 0,0,0,0,0,0,0,0,0,-134,
- 0,0,0,0,0,0,0,0,-186,0,
- 0,0,0,0,0,0,0,0,0,-197,
- 0,0,0,0,0,0,0,0,-13,0,
- 0,0,0,0,0,0,-7,0,0,0,
- 0,0,0,0,-192,0,0,0,0,0,
+ -134,0,0,0,0,0,0,0,0,-186,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-198,0,0,0,0,0,
- 0,0,0,0,0,-135,0,0,0,0,
- 0,0,0,0,-155,-96,0,-170,0,0,
- -97,0,-70,0,0,0,0,0,0,0,
- -206,0,0,0,0,0,0,0,0,0,
+ -197,0,0,0,0,0,0,0,0,-13,
+ 0,0,0,0,0,0,0,-7,0,0,
+ 0,0,0,0,0,-192,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -54,0,0,0,0,0,0,0,0,0,
- 0,-130,0,0,0,0,0,0,0,-180,
- -176,0,0,0,0,-75,0,0,-37,0,
- 0,0,0,0,0,0,0,0,-98,-145,
- 0,0,-110,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-200,-193,-124,0,
- -187,0,0,0,0,0,-99,0,-100,0,
- -146,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-31,0,-101,0,0,0,
- 0,0,0,0,0,0,0,0,0,-184,
- -102,-85,0,-33,0,0,-51,0,0,0,
- 0,0,0,0,0,0,0,-121,0,0,
- 0,0,0,0,0,-71,0,0,0,0,
- 0,0,0,-52,0,0,0,0,0,0,
- 0,0,0,0,-164,0,0,0,-137,-154,
- 0,-34,0,-105,0,0,0,-183,0,0,
- -67,0,0,0,0,-107,0,-123,0,-83,
- 0,0,0,-140,0,0,0,0,0,0,
+ 0,0,0,0,0,-198,0,0,0,0,
+ 0,0,0,0,0,0,-135,0,0,0,
+ 0,0,0,0,0,-155,-96,0,-170,0,
+ 0,-97,0,-70,0,0,0,0,0,0,
+ 0,-206,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-38,0,0,0,
- 0,0,0,0,0,0,-49,0,0,0,
- 0,0,0,0,0,0,0,0,0,-50,
+ 0,-54,0,0,0,0,0,0,0,0,
+ 0,0,-130,0,0,0,0,0,0,0,
+ -180,-176,0,0,0,0,-75,0,0,-37,
+ 0,0,0,0,0,0,0,0,0,-98,
+ -145,0,0,-110,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-200,-193,-124,
+ 0,-187,0,0,0,0,0,-99,0,-100,
+ 0,-146,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-31,0,-101,0,0,
0,0,0,0,0,0,0,0,0,0,
- -205,0,0,0,-153,0,-157,-68,0,0,
- -132,0,-191,0,-136,0,-151,0,0,-44,
+ -184,-102,-85,0,-33,0,0,-51,0,0,
+ 0,0,0,0,0,0,0,0,-121,0,
+ 0,0,0,0,0,0,-71,0,0,0,
+ 0,0,0,0,-52,0,0,0,0,0,
+ 0,0,0,0,0,-164,0,0,0,-137,
+ -154,0,-34,0,-105,0,0,0,-183,0,
+ 0,-67,0,0,0,0,-107,0,-123,0,
+ -83,0,0,0,-140,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-8,
- 0,0,0,0,0,0,0,-166,0,-45,
+ 0,0,0,0,0,0,0,-38,0,0,
+ 0,0,0,0,0,0,0,-49,0,0,
0,0,0,0,0,0,0,0,0,0,
- -46,0,0,0,0,0,0,0,0,0,
- -47,0,0,0,0,0,0,0,0,0,
- -73,0,0,-76,-69,-109,0,-112,-139,-165,
- -171,0,-111,0,0,0,0,0,0,0,
- 0,-172,-175,0,0,0,0,-207,0,0,
- 0,0,0,0,0,0,0,-199,-204,0,
- -147,0,0,0,0,-144,0,0,0,0,
+ -50,0,0,0,0,0,0,0,0,0,
+ 0,-205,0,0,0,-153,0,-157,-68,0,
+ 0,-132,0,-191,0,-136,0,-151,0,0,
+ -44,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -8,0,0,0,0,0,0,0,-166,0,
+ -45,0,0,0,0,0,0,0,0,0,
+ 0,-46,0,0,0,0,0,0,0,0,
+ 0,-47,0,0,0,0,0,0,0,0,
+ 0,-73,0,0,-76,-69,-109,0,-112,-139,
+ -165,-171,0,-111,0,0,0,0,0,0,
+ 0,0,-172,-175,0,0,0,0,-207,0,
+ 0,0,0,0,0,0,0,0,-199,-204,
+ 0,-147,0,0,0,0,-144,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -9,0,0,0,0,0,0,0,-10,0,
- 0,0,0,0,0,0,-11,0,0,0,
- 0,0,0,0,-35,-39,0,0,0,0,
- 0,0,0,0,-113,0,-40,0,0,0,
- 0,0,0,0,-173,0,-103,-126,-143,-162,
- 0,-41,0,0,0,0,0,0,0,0,
- 0,0,-15,-129,-159,0,0,0,0,-28,
- -32,0,0,0,0,-179,0,-160,-148,-190,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-185,0,-77,0,0,0,0,
- 0,0,0,0,0,0,0,0,-79,0,
- 0,0,-196,-82,0,0,0,0,0,-106,
- -169,0,0,0,0,0,0,-84,0,0,
+ 0,-9,0,0,0,0,0,0,0,-10,
+ 0,0,0,0,0,0,0,-11,0,0,
+ 0,0,0,0,0,-35,-39,0,0,0,
+ 0,0,0,0,0,-113,0,-40,0,0,
+ 0,0,0,0,0,-173,0,-103,-126,-143,
+ -162,0,-41,0,0,0,0,0,0,0,
+ 0,0,0,-15,-129,-159,0,0,0,0,
+ -28,-32,0,0,0,0,-179,0,-160,-148,
+ -190,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-185,0,-77,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-79,
+ 0,0,0,-196,-82,0,0,0,0,0,
+ -106,-169,0,0,0,0,0,0,-84,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -125,0,0,-152,-181,0,0,0,0,-182,
- 0,0,0,0,0,0,-133,0,0,-168,
- 0,0,0,-150,-1,-114,-163,0,0,0,
- 0,0,-53,0,0,0,0,0,0,-161,
- -149,0,-202,0,0,0,0,0,0,0,
- -203,0,0,0,0,0,0,-201,0,0,
+ 0,-125,0,0,-152,-181,0,0,0,0,
+ -182,0,0,0,0,0,0,-133,0,0,
+ -168,0,0,0,-150,-1,-114,-163,0,0,
+ 0,0,0,-53,0,0,0,0,0,0,
+ -161,-149,0,-202,0,0,0,0,0,0,
+ 0,-203,0,0,0,0,0,0,-201,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-194,0,0,-195,0,
+ 0,0,0,0,0,0,-194,0,0,-195,
0,0,0,0,0,0,0,0,0,0,
0,0,0,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;
@@ -231,171 +231,171 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
88,72,72,47,104,104,104,104,104,104,
104,105,105,105,106,106,111,111,112,112,
107,107,108,108,108,114,114,109,109,109,
- 109,110,110,110,110,110,113,113,25,25,
- 25,25,25,28,28,28,78,78,73,73,
- 73,73,74,74,74,75,75,75,76,76,
- 76,77,77,77,115,115,116,116,117,29,
- 31,31,31,31,31,53,54,54,54,54,
- 54,54,54,54,54,54,54,54,63,60,
- 60,89,90,65,65,61,61,61,66,79,
- 79,80,80,67,67,67,49,91,91,81,
- 82,82,82,62,62,92,83,83,84,84,
- 68,68,21,22,22,22,30,48,48,32,
- 32,32,32,35,35,37,33,33,34,38,
- 38,118,118,36,119,119,93,93,26,26,
- 26,26,26,26,26,26,26,85,50,50,
- 50,50,27,56,56,55,55,55,57,57,
- 51,51,94,94,71,71,58,58,58,41,
- 41,41,42,43,43,43,44,44,44,44,
- 64,64,46,46,52,96,95,95,95,95,
- 86,97,98,98,99,99,100,100,120,120,
- 121,121,122,122,122,122,124,124,123,123,
- 123,125,126,126,87,87,1,780,17,21,
- 18,343,738,44,387,385,523,31,467,633,
- 631,661,649,717,665,74,91,134,212,15,
- 668,329,990,607,136,133,135,159,275,20,
- 17,21,18,343,738,44,387,385,523,1153,
- 467,633,631,661,649,717,665,74,1426,138,
- 165,692,238,360,31,50,142,145,148,151,
- 421,445,1268,360,186,241,1228,194,339,1424,
- 1586,1599,1604,1618,1212,441,20,17,21,18,
- 343,738,44,387,385,523,340,467,633,631,
- 661,649,717,665,74,280,336,20,17,21,
- 18,343,738,44,387,385,523,340,467,633,
- 631,661,649,717,665,74,280,1443,442,292,
- 194,281,693,25,575,97,383,1264,489,20,
- 17,21,18,343,42,44,387,385,523,286,
- 467,969,281,360,31,254,212,12,1264,489,
- 20,17,21,18,343,42,44,387,385,843,
- 288,287,489,20,17,21,18,343,42,40,
- 1075,465,20,17,21,18,343,738,44,387,
- 385,523,289,467,633,631,661,649,717,665,
- 74,280,489,20,17,21,18,343,738,44,
- 387,385,523,30,467,633,631,661,649,717,
- 665,74,91,24,341,360,185,281,576,1355,
- 360,187,293,1264,489,20,17,21,18,343,
- 42,44,387,385,864,290,537,20,17,21,
- 18,343,738,44,387,385,523,1641,467,633,
- 631,661,649,717,665,74,1538,513,20,17,
- 21,18,343,41,339,299,20,17,21,18,
- 343,738,44,387,385,523,446,467,633,631,
- 661,649,717,665,74,1539,189,178,236,239,
- 489,20,17,21,18,343,42,44,387,385,
- 523,50,467,633,631,661,1211,134,212,253,
- 212,580,395,63,136,133,135,159,489,20,
- 17,21,18,343,738,44,387,385,523,219,
- 467,633,631,661,649,717,665,74,92,138,
- 165,313,535,282,1130,327,142,145,148,151,
- 323,445,513,20,17,21,18,343,34,1424,
- 1586,1599,1604,1618,1212,489,20,17,21,18,
- 343,738,44,387,385,523,274,467,633,631,
- 661,649,717,665,74,85,489,20,17,21,
- 18,343,738,44,387,385,523,413,467,633,
- 631,661,649,717,665,74,84,489,20,17,
- 21,18,343,738,44,387,385,523,524,467,
- 633,631,661,649,717,665,74,83,489,20,
- 17,21,18,343,738,44,387,385,523,282,
- 467,633,631,661,649,717,665,74,82,489,
- 20,17,21,18,343,738,44,387,385,523,
- 561,467,633,631,661,649,717,665,74,81,
- 489,20,17,21,18,343,738,44,387,385,
- 523,199,467,633,631,661,649,717,665,74,
- 80,489,20,17,21,18,343,738,44,387,
- 385,523,201,467,633,631,661,649,717,665,
- 74,79,489,20,17,21,18,343,738,44,
- 387,385,523,110,467,633,631,661,649,717,
- 665,74,78,489,20,17,21,18,343,738,
- 44,387,385,523,117,467,633,631,661,649,
- 717,665,74,77,489,20,17,21,18,343,
- 738,44,387,385,523,448,467,633,631,661,
- 649,717,665,74,76,489,20,17,21,18,
- 343,738,44,387,385,523,472,467,633,631,
- 661,649,717,665,74,75,489,20,17,21,
- 18,343,738,44,387,385,523,657,467,633,
- 631,661,649,717,665,74,73,489,20,17,
- 21,18,343,738,44,387,385,523,678,467,
- 633,631,661,649,717,665,74,1555,489,20,
- 17,21,18,343,738,44,387,385,523,200,
- 467,633,631,661,649,717,665,74,1568,489,
- 20,17,21,18,343,42,44,387,385,523,
- 191,467,633,631,661,649,717,665,93,489,
- 20,17,21,18,343,42,44,387,385,523,
- 685,467,633,631,661,649,717,665,93,513,
- 20,17,21,18,343,33,1570,489,20,17,
- 21,18,343,42,39,489,20,17,21,18,
- 343,42,44,387,385,523,211,467,633,631,
- 661,649,717,665,93,489,20,17,21,18,
- 343,42,44,387,385,523,50,467,633,631,
- 661,649,717,665,93,394,57,1644,696,193,
- 1357,104,1691,416,20,17,21,18,343,42,
- 43,489,20,17,21,18,343,42,44,387,
- 385,523,201,467,633,631,661,649,717,665,
- 93,489,20,17,21,18,343,42,44,387,
- 385,523,105,467,633,631,661,649,1197,28,
- 648,360,295,1569,1535,1264,562,1584,202,489,
- 20,17,21,18,343,42,44,801,273,650,
- 207,254,212,236,217,1181,220,1461,222,223,
- 228,1540,275,266,1136,670,271,701,676,59,
- 262,360,1431,276,253,212,273,711,1698,6,
- 263,718,217,1181,220,1461,222,223,228,254,
- 212,266,1136,670,271,373,1284,429,1680,217,
- 1181,220,1461,222,223,228,512,227,1428,444,
- 696,246,189,178,397,1680,260,489,20,17,
- 21,18,343,42,44,387,385,523,206,467,
- 633,631,1149,134,212,89,59,1083,585,209,
- 137,133,135,159,489,20,17,21,18,343,
- 42,44,387,385,523,152,467,633,1177,50,
- 542,1431,397,1276,400,139,165,283,305,1683,
- 1260,397,143,146,149,152,715,445,717,1698,
- 470,273,1278,1348,608,19,1610,218,1181,220,
- 1461,222,223,228,1537,608,268,1136,670,271,
- 217,1181,220,1461,222,223,228,489,20,17,
- 21,18,343,42,44,822,1458,489,20,17,
- 21,18,343,42,44,387,385,523,208,1076,
- 489,20,17,21,18,343,42,44,387,385,
- 523,305,1081,1078,1442,50,540,627,397,197,
- 199,333,1698,360,297,716,1611,722,1566,1010,
- 489,20,17,21,18,343,42,44,387,385,
- 885,23,538,217,1181,220,1461,222,223,228,
- 489,20,17,21,18,343,42,38,206,1458,
- 489,20,17,21,18,343,42,44,387,385,
- 906,489,20,17,21,18,343,42,44,387,
- 927,489,20,17,21,18,343,42,44,387,
- 948,675,198,199,232,281,281,179,397,59,
- 50,58,1525,365,20,17,21,18,343,42,
- 36,1650,698,144,276,134,212,273,706,22,
- 240,272,141,133,135,159,1347,245,151,171,
- 1764,689,266,1136,670,271,365,20,17,21,
- 18,343,42,36,1764,1278,1764,140,165,1428,
- 218,1181,220,1461,222,223,228,226,1764,1764,
- 246,489,20,17,21,18,343,42,37,489,
- 20,17,21,18,343,42,36,489,20,17,
- 21,18,343,42,35,60,489,20,17,21,
- 18,343,42,47,1764,544,1236,489,20,17,
- 21,18,343,42,46,206,606,52,281,281,
- 544,273,489,20,17,21,18,343,42,45,
- 1122,606,1276,50,397,281,266,1136,670,271,
- 50,50,242,241,316,1122,236,1276,281,59,
- 281,316,512,265,663,1610,258,278,196,243,
- 1554,1764,1351,28,206,196,604,253,212,1264,
- 1255,258,244,87,294,1554,1276,1351,1262,613,
- 87,87,1515,206,636,1262,1425,134,212,1515,
- 324,542,1431,1764,144,133,135,159,645,1255,
- 134,212,1168,203,1214,134,212,147,133,135,
- 159,1271,150,133,135,159,273,1278,1764,134,
- 212,236,180,1764,48,646,153,133,135,159,
- 142,268,1136,670,271,606,606,454,1764,1764,
- 95,606,253,212,397,389,497,497,606,196,
- 1122,606,1764,50,1764,196,512,1657,1645,208,
- 397,521,1122,206,512,196,1764,279,1764,277,
- 230,281,606,371,1210,1442,258,444,59,371,
- 1716,1764,1351,224,1764,87,1122,1764,258,371,
- 314,191,1664,87,1351,296,397,191,1179,342,
- 1764,1764,204,1388,1660,1276,937,192,1764,1603,
- 1660,1764,259,1764,1764,1764,1764,1764,1719,229,
- 1764,1764,233,1764,1764,1764,1764,1764,1448,1764,
- 1764,1764,327,1764,0,20,178,0,1,1989,
- 0,1,2000,0
+ 109,109,110,110,110,110,110,113,113,25,
+ 25,25,25,25,28,28,28,78,78,73,
+ 73,73,73,74,74,74,75,75,75,76,
+ 76,76,77,77,77,115,115,116,116,117,
+ 29,31,31,31,31,31,53,54,54,54,
+ 54,54,54,54,54,54,54,54,54,63,
+ 60,60,89,90,65,65,61,61,61,66,
+ 79,79,80,80,67,67,67,49,91,91,
+ 81,82,82,82,62,62,92,83,83,84,
+ 84,68,68,21,22,22,22,30,48,48,
+ 32,32,32,32,35,35,37,33,33,34,
+ 38,38,118,118,36,119,119,93,93,26,
+ 26,26,26,26,26,26,26,26,85,50,
+ 50,50,50,27,56,56,55,55,55,57,
+ 57,51,51,94,94,71,71,58,58,58,
+ 41,41,41,42,43,43,43,44,44,44,
+ 44,64,64,46,46,52,96,95,95,95,
+ 95,86,97,98,98,99,99,100,100,120,
+ 120,121,121,122,122,122,122,124,124,123,
+ 123,123,125,126,126,87,87,1,781,17,
+ 21,18,344,739,44,388,386,524,31,468,
+ 634,632,662,650,718,666,74,91,135,213,
+ 15,668,329,991,607,137,134,136,160,275,
+ 20,17,21,18,344,739,44,388,386,524,
+ 1154,468,634,632,662,650,718,666,74,1427,
+ 139,166,692,239,360,31,50,143,146,149,
+ 152,421,446,1269,360,187,241,1229,194,340,
+ 1425,1587,1600,1605,1619,1213,441,20,17,21,
+ 18,344,739,44,388,386,524,341,468,634,
+ 632,662,650,718,666,74,281,336,20,17,
+ 21,18,344,739,44,388,386,524,341,468,
+ 634,632,662,650,718,666,74,281,1444,443,
+ 293,195,282,693,25,575,97,384,1265,489,
+ 20,17,21,18,344,42,44,388,386,524,
+ 287,468,970,282,360,31,255,213,12,1265,
+ 489,20,17,21,18,344,42,44,388,386,
+ 844,289,288,489,20,17,21,18,344,42,
+ 40,1076,465,20,17,21,18,344,739,44,
+ 388,386,524,290,468,634,632,662,650,718,
+ 666,74,281,489,20,17,21,18,344,739,
+ 44,388,386,524,30,468,634,632,662,650,
+ 718,666,74,91,24,342,360,186,282,576,
+ 1356,360,188,294,1265,489,20,17,21,18,
+ 344,42,44,388,386,865,291,537,20,17,
+ 21,18,344,739,44,388,386,524,1642,468,
+ 634,632,662,650,718,666,74,1539,513,20,
+ 17,21,18,344,41,340,299,20,17,21,
+ 18,344,739,44,388,386,524,446,468,634,
+ 632,662,650,718,666,74,1540,189,179,236,
+ 240,489,20,17,21,18,344,42,44,388,
+ 386,524,50,468,634,632,662,1212,135,213,
+ 254,213,580,396,63,137,134,136,160,489,
+ 20,17,21,18,344,739,44,388,386,524,
+ 219,468,634,632,662,650,718,666,74,92,
+ 139,166,313,536,282,1131,327,143,146,149,
+ 152,323,446,513,20,17,21,18,344,34,
+ 1425,1587,1600,1605,1619,1213,489,20,17,21,
+ 18,344,739,44,388,386,524,275,468,634,
+ 632,662,650,718,666,74,85,489,20,17,
+ 21,18,344,739,44,388,386,524,413,468,
+ 634,632,662,650,718,666,74,84,489,20,
+ 17,21,18,344,739,44,388,386,524,524,
+ 468,634,632,662,650,718,666,74,83,489,
+ 20,17,21,18,344,739,44,388,386,524,
+ 283,468,634,632,662,650,718,666,74,82,
+ 489,20,17,21,18,344,739,44,388,386,
+ 524,561,468,634,632,662,650,718,666,74,
+ 81,489,20,17,21,18,344,739,44,388,
+ 386,524,199,468,634,632,662,650,718,666,
+ 74,80,489,20,17,21,18,344,739,44,
+ 388,386,524,201,468,634,632,662,650,718,
+ 666,74,79,489,20,17,21,18,344,739,
+ 44,388,386,524,110,468,634,632,662,650,
+ 718,666,74,78,489,20,17,21,18,344,
+ 739,44,388,386,524,117,468,634,632,662,
+ 650,718,666,74,77,489,20,17,21,18,
+ 344,739,44,388,386,524,448,468,634,632,
+ 662,650,718,666,74,76,489,20,17,21,
+ 18,344,739,44,388,386,524,472,468,634,
+ 632,662,650,718,666,74,75,489,20,17,
+ 21,18,344,739,44,388,386,524,657,468,
+ 634,632,662,650,718,666,74,73,489,20,
+ 17,21,18,344,739,44,388,386,524,678,
+ 468,634,632,662,650,718,666,74,1556,489,
+ 20,17,21,18,344,739,44,388,386,524,
+ 200,468,634,632,662,650,718,666,74,1569,
+ 489,20,17,21,18,344,42,44,388,386,
+ 524,191,468,634,632,662,650,718,666,93,
+ 489,20,17,21,18,344,42,44,388,386,
+ 524,685,468,634,632,662,650,718,666,93,
+ 513,20,17,21,18,344,33,1571,489,20,
+ 17,21,18,344,42,39,489,20,17,21,
+ 18,344,42,44,388,386,524,212,468,634,
+ 632,662,650,718,666,93,489,20,17,21,
+ 18,344,42,44,388,386,524,50,468,634,
+ 632,662,650,718,666,93,394,57,1645,696,
+ 194,1358,104,1692,416,20,17,21,18,344,
+ 42,43,489,20,17,21,18,344,42,44,
+ 388,386,524,202,468,634,632,662,650,718,
+ 666,93,489,20,17,21,18,344,42,44,
+ 388,386,524,105,468,634,632,662,650,1198,
+ 28,648,360,296,1570,1536,1265,562,1585,203,
+ 489,20,17,21,18,344,42,44,802,274,
+ 650,207,255,213,236,218,1182,221,1462,223,
+ 224,229,1541,276,267,1137,671,272,701,676,
+ 59,263,360,1432,277,254,213,274,711,1699,
+ 6,264,718,218,1182,221,1462,223,224,229,
+ 255,213,267,1137,671,272,373,1285,429,1681,
+ 218,1182,221,1462,223,224,229,513,228,1429,
+ 445,696,246,189,179,397,1681,261,489,20,
+ 17,21,18,344,42,44,388,386,524,206,
+ 468,634,632,1150,135,213,89,59,1084,586,
+ 210,138,134,136,160,489,20,17,21,18,
+ 344,42,44,388,386,524,152,468,634,1178,
+ 50,542,1432,397,1277,400,140,166,284,305,
+ 1684,1261,397,144,147,150,153,715,446,717,
+ 1699,470,274,1279,1349,608,19,1611,219,1182,
+ 221,1462,223,224,229,1538,609,269,1137,671,
+ 272,218,1182,221,1462,223,224,229,489,20,
+ 17,21,18,344,42,44,823,1459,489,20,
+ 17,21,18,344,42,44,388,386,524,209,
+ 1077,489,20,17,21,18,344,42,44,388,
+ 386,524,305,1082,1079,1443,50,541,627,397,
+ 198,200,333,1699,360,298,716,1612,722,1567,
+ 1011,489,20,17,21,18,344,42,44,388,
+ 386,886,23,539,218,1182,221,1462,223,224,
+ 229,489,20,17,21,18,344,42,38,206,
+ 1459,489,20,17,21,18,344,42,44,388,
+ 386,907,489,20,17,21,18,344,42,44,
+ 388,928,489,20,17,21,18,344,42,44,
+ 388,949,675,199,200,232,281,281,180,397,
+ 59,50,58,1526,365,20,17,21,18,344,
+ 42,36,1651,698,144,277,135,213,274,706,
+ 22,241,273,142,134,136,160,1348,246,151,
+ 171,1765,689,267,1137,671,272,365,20,17,
+ 21,18,344,42,36,1765,1279,1765,141,166,
+ 1429,219,1182,221,1462,223,224,229,227,1765,
+ 1765,247,489,20,17,21,18,344,42,37,
+ 489,20,17,21,18,344,42,36,489,20,
+ 17,21,18,344,42,35,60,489,20,17,
+ 21,18,344,42,47,1765,544,1237,489,20,
+ 17,21,18,344,42,46,206,607,52,281,
+ 281,544,274,489,20,17,21,18,344,42,
+ 45,1123,607,1277,50,397,281,267,1137,671,
+ 272,50,50,243,242,317,1123,236,1277,281,
+ 59,281,317,513,266,664,1611,259,279,197,
+ 244,1555,1765,1352,28,206,197,604,254,213,
+ 1265,1256,259,245,87,295,1555,1277,1352,1263,
+ 613,87,87,1516,206,636,1263,1426,135,213,
+ 1516,324,542,1432,1765,145,134,136,160,645,
+ 1256,135,213,1169,204,1215,135,213,148,134,
+ 136,160,1272,151,134,136,160,274,1279,1765,
+ 135,213,236,181,1765,48,646,154,134,136,
+ 160,142,269,1137,671,272,607,607,454,1765,
+ 1765,95,607,254,213,397,389,497,497,607,
+ 197,1123,607,1765,50,1765,197,513,1658,1646,
+ 209,397,521,1123,206,513,197,1765,280,1765,
+ 278,231,281,607,372,1211,1443,259,445,59,
+ 372,1717,1765,1352,225,1765,87,1123,1765,259,
+ 372,315,192,1665,87,1352,297,397,192,1180,
+ 342,1765,1765,205,1389,1661,1277,938,193,1765,
+ 1604,1661,1765,260,1765,1765,1765,1765,1765,1720,
+ 230,1765,1765,234,1765,1765,1765,1765,1765,1449,
+ 1765,1765,1765,328,1765,0,20,179,0,1,
+ 1991,0,1,2002,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -495,82 +495,82 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1764,1775,1553,1776,1499,1764,1977,1978,1979,1491,
- 1380,59,1507,1926,88,1019,672,577,1777,1778,
- 1779,1780,1027,482,1927,1925,1980,1928,1924,54,
- 1764,1931,1936,1935,1933,1934,1932,1937,1938,1930,
- 1939,1940,1941,638,1280,596,380,1764,1,1,
- 1,1764,190,1,1,1,61,210,252,264,
- 1,1421,62,1,916,2773,1390,1360,544,469,
- 348,1,1,1,1,1,1401,1411,1,1,
+ 1765,1776,1554,1777,1500,1765,1979,1980,1981,1492,
+ 1381,59,1508,1928,88,1020,673,578,1778,1779,
+ 1780,1781,1028,483,1929,1927,1982,1930,1926,54,
+ 1765,1933,1938,1937,1935,1936,1934,1939,1940,1932,
+ 1941,1942,1943,639,1281,597,381,1765,1,1,
+ 1,1765,191,1,1,1,61,211,253,265,
+ 1,1422,62,1,917,2775,1391,1361,545,470,
+ 349,1,1,1,1,1,1402,1412,1,1,
1,1,1,1,1,1,1,1,1,1,
- 190,1,1,1,1764,1,181,1,1959,189,
- 1,1,1,60,261,1989,1150,1,1,58,
- 1754,1390,1360,544,469,348,57,999,1,1,
- 1,1,1,1330,1317,1,1,1,1,1,
- 1,1,1,1,1,1,1,189,1,1,
- 1,1764,1,1764,1,1959,190,1,1,1,
- 200,267,1989,1150,1,252,1401,1411,1390,1360,
- 544,469,348,1401,1411,1,1,1,1,1,
- 1764,2001,1,1,1,1,1,1,1,1,
- 1,1,1,1,190,1,1,1,1764,1775,
- 182,1776,1959,48,1977,1978,1979,1542,50,63,
- 49,1926,1542,491,1542,1764,1,1758,1150,1091,
- 1772,1770,1927,1925,1980,1928,1924,348,68,1931,
- 1936,1935,1933,1934,1932,1937,1938,1930,1939,1940,
- 1941,128,1280,596,380,1764,1769,1977,1978,1979,
- 51,1977,1978,1979,1926,69,1527,1516,1771,1307,
- 1139,1527,1516,1527,1516,1927,1925,1980,1928,1924,
- 1330,1317,1931,1936,1935,1933,1934,1932,1937,1938,
- 1930,1939,1940,1941,1,1775,1553,1776,1433,1768,
- 1764,285,1217,1491,1380,1768,1507,556,1764,1019,
- 672,577,1777,1778,1779,1780,1027,482,1764,1775,
- 1553,1776,1466,1768,1,1989,1167,1491,1380,1217,
- 1507,958,66,1019,672,577,1777,1778,1779,1780,
- 1027,482,270,267,1767,1421,72,252,1764,1775,
- 1767,1776,255,348,348,1,1775,1553,1776,1499,
- 29,1764,1066,1764,1491,1380,1770,1507,1767,2773,
- 1019,672,577,1777,1778,1779,1780,1027,482,1764,
- 1775,1681,1776,1055,1764,1775,1553,1776,1499,1768,
- 1459,1769,1,1491,1380,1244,1507,90,29,1019,
- 672,577,1777,1778,1779,1780,1027,482,1764,1,
- 1,1,1,30,1111,1673,1764,1,1,1764,
- 1,1770,90,1,1,1,1,1,1,1,
- 1,1,70,621,1767,1764,1775,1553,1776,1499,
- 184,2803,416,2803,1491,1380,1769,1507,71,2773,
- 1019,672,577,1777,1778,1779,1780,1027,482,2079,
- 1,1775,1553,1776,1499,183,2805,56,2805,1491,
- 1380,1764,1507,1,2773,1019,672,577,1777,1778,
- 1779,1780,1027,482,1764,1775,1553,1776,1499,205,
- 2807,55,2807,1491,1380,1764,1507,610,2773,1019,
- 672,577,1777,1778,1779,1780,1027,482,1764,1775,
- 1553,1776,1499,610,1401,1411,1,1491,1380,1764,
- 1507,1770,2021,1019,672,577,1777,1778,1779,1780,
- 1027,482,1764,1775,1560,1776,1499,1764,1401,1411,
- 1,1491,1380,42,1507,1764,1769,1019,672,577,
- 1777,1778,1779,1780,1027,482,1,1775,1553,1776,
- 1499,207,1775,1,1776,1491,1380,252,1507,1764,
- 1764,1019,672,577,1777,1778,1779,1780,1027,482,
- 20,269,1755,1666,1755,1755,178,178,178,2020,
- 1764,1755,348,178,247,1764,1775,1764,1776,64,
- 1977,1978,1979,895,178,178,178,178,178,1259,
- 1755,448,2021,874,853,832,811,790,748,769,
- 727,706,685,129,1764,1764,32,248,1195,1977,
- 1978,1979,130,1,1,1,1926,1561,1977,1978,
- 1979,1790,1791,1764,1764,1926,249,1927,1925,1980,
- 1928,1924,1,1,1,131,1927,1925,1980,1928,
- 1924,1977,1978,1979,132,1,1761,250,1926,67,
- 1977,1978,1979,1977,1978,1979,53,1926,463,1927,
- 1925,1980,1928,1924,1764,1307,1139,1764,1927,1925,
- 1980,1928,1924,373,1,251,1421,52,979,1770,
- 1764,1977,1978,1979,1764,348,1307,1139,221,1774,
- 1667,1,291,284,2021,30,1774,206,375,348,
- 1,1989,1167,1035,1769,252,1989,1167,206,1171,
- 65,1171,1244,1341,1764,1764,1764,219,1169,1131,
- 1429,1764,448,188,1793,188,2788,188,348,1345,
- 1764,1764,1764,1764,1764,1430,375,184,1764,183,
- 1764,205,1764,1764,1353,1764,1764,1764,1764,1764,
- 1773,1764,1764,1764,1764,1764,1764,1773
+ 191,1,1,1,1765,1,182,1,1961,190,
+ 1,1,1,60,262,1991,1151,1,1,58,
+ 1755,1391,1361,545,470,349,57,1000,1,1,
+ 1,1,1,1331,1318,1,1,1,1,1,
+ 1,1,1,1,1,1,1,190,1,1,
+ 1,1765,1,1765,1,1961,191,1,1,1,
+ 201,268,1991,1151,1,253,1402,1412,1391,1361,
+ 545,470,349,1402,1412,1,1,1,1,1,
+ 1765,2003,1,1,1,1,1,1,1,1,
+ 1,1,1,1,191,1,1,1,1765,1776,
+ 183,1777,1961,48,1979,1980,1981,1543,50,63,
+ 49,1928,1543,492,1543,1765,1,1759,1151,1092,
+ 1773,1771,1929,1927,1982,1930,1926,349,68,1933,
+ 1938,1937,1935,1936,1934,1939,1940,1932,1941,1942,
+ 1943,129,1281,597,381,1765,1770,1979,1980,1981,
+ 51,1979,1980,1981,1928,69,1528,1517,1772,1308,
+ 1140,1528,1517,1528,1517,1929,1927,1982,1930,1926,
+ 1331,1318,1933,1938,1937,1935,1936,1934,1939,1940,
+ 1932,1941,1942,1943,1,1776,1554,1777,1434,1769,
+ 1765,286,1218,1492,1381,1769,1508,557,1765,1020,
+ 673,578,1778,1779,1780,1781,1028,483,1765,1776,
+ 1554,1777,1467,1769,1,1991,1168,1492,1381,1218,
+ 1508,959,66,1020,673,578,1778,1779,1780,1781,
+ 1028,483,271,268,1768,1422,72,253,1765,1776,
+ 1768,1777,256,349,349,1,1776,1554,1777,1500,
+ 29,1765,1067,1765,1492,1381,1771,1508,1768,2775,
+ 1020,673,578,1778,1779,1780,1781,1028,483,1765,
+ 1776,1682,1777,1056,1765,1776,1554,1777,1500,1769,
+ 1460,1770,1,1492,1381,1245,1508,90,29,1020,
+ 673,578,1778,1779,1780,1781,1028,483,1765,1,
+ 1,1,1,30,1112,1674,1765,1,1,1765,
+ 1,1771,90,1,1,1,1,1,1,1,
+ 1,1,70,622,1768,1765,1776,1554,1777,1500,
+ 185,2805,417,2805,1492,1381,1770,1508,71,2775,
+ 1020,673,578,1778,1779,1780,1781,1028,483,2081,
+ 1,1776,1554,1777,1500,184,2807,56,2807,1492,
+ 1381,1765,1508,1,2775,1020,673,578,1778,1779,
+ 1780,1781,1028,483,1765,1776,1554,1777,1500,206,
+ 2809,55,2809,1492,1381,1765,1508,611,2775,1020,
+ 673,578,1778,1779,1780,1781,1028,483,1765,1776,
+ 1554,1777,1500,611,1402,1412,1,1492,1381,1765,
+ 1508,1771,2023,1020,673,578,1778,1779,1780,1781,
+ 1028,483,1765,1776,1561,1777,1500,1765,1402,1412,
+ 1,1492,1381,42,1508,1765,1770,1020,673,578,
+ 1778,1779,1780,1781,1028,483,1,1776,1554,1777,
+ 1500,208,1776,1,1777,1492,1381,253,1508,1765,
+ 1765,1020,673,578,1778,1779,1780,1781,1028,483,
+ 20,270,1756,1667,1756,1756,179,179,179,2022,
+ 1765,1756,349,179,248,1765,1776,1765,1777,64,
+ 1979,1980,1981,896,179,179,179,179,179,1260,
+ 1756,449,2023,875,854,833,812,791,749,770,
+ 728,707,686,130,1765,1765,32,249,1196,1979,
+ 1980,1981,131,1,1,1,1928,1562,1979,1980,
+ 1981,1791,1792,1765,1765,1928,250,1929,1927,1982,
+ 1930,1926,1,1,1,132,1929,1927,1982,1930,
+ 1926,1979,1980,1981,133,1,1762,251,1928,67,
+ 1979,1980,1981,1979,1980,1981,53,1928,464,1929,
+ 1927,1982,1930,1926,1765,1308,1140,1765,1929,1927,
+ 1982,1930,1926,374,1,252,1422,52,980,1771,
+ 1765,1979,1980,1981,1765,349,1308,1140,222,1775,
+ 1668,1,292,285,2023,30,1775,207,376,349,
+ 1,1991,1168,1036,1770,253,1991,1168,207,1172,
+ 65,1172,1245,1342,1765,1765,1765,220,1170,1132,
+ 1430,1765,449,189,1794,189,2790,189,349,1346,
+ 1765,1765,1765,1765,1765,1431,376,185,1765,184,
+ 1765,206,1765,1765,1354,1765,1765,1765,1765,1765,
+ 1774,1765,1765,1765,1765,1765,1765,1774
};
};
public final static char termAction[] = TermAction.termAction;
@@ -818,16 +818,16 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 442,0,340,0,1650,1660,1644,0,1448,1341,
- 1167,1268,1255,1150,1122,0,491,416,395,1537,
- 1083,0,606,1212,316,0,1461,1181,1136,670,
- 1255,1150,1122,1610,1421,1515,0,1019,672,577,
- 1466,1433,1083,610,1111,1244,1217,1330,1317,448,
- 1411,1401,1390,1360,544,469,1542,1527,1516,1307,
- 1139,1507,1499,1491,1380,1027,482,1091,1055,1035,
- 491,999,979,958,937,585,916,556,348,895,
- 874,853,832,811,790,769,748,727,706,685,
- 316,638,512,416,395,0
+ 443,0,341,0,1651,1661,1645,0,1449,1342,
+ 1168,1269,1256,1151,1123,0,492,417,396,1538,
+ 1084,0,607,1213,317,0,1462,1182,1137,671,
+ 1256,1151,1123,1611,1422,1516,0,1020,673,578,
+ 1467,1434,1084,611,1112,1245,1218,1331,1318,449,
+ 1412,1402,1391,1361,545,470,1543,1528,1517,1308,
+ 1140,1508,1500,1492,1381,1028,483,1092,1056,1036,
+ 492,1000,980,959,938,586,917,557,349,896,
+ 875,854,833,812,791,770,749,728,707,686,
+ 317,639,513,417,396,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1053,18 +1053,18 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static int
NUM_STATES = 207,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2079,
+ LA_STATE_OFFSET = 2081,
MAX_LA = 2,
- NUM_RULES = 315,
+ NUM_RULES = 316,
NUM_NONTERMINALS = 126,
NUM_SYMBOLS = 219,
SEGMENT_SIZE = 8192,
- START_STATE = 1665,
+ START_STATE = 1666,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
- ACCEPT_ACTION = 1754,
- ERROR_ACTION = 1764;
+ ACCEPT_ACTION = 1755,
+ ERROR_ACTION = 1765;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java
index eefc6ac8588..835fb2ab217 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
index 76587bf2867..91134452ccf 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -1003,925 +1003,937 @@ public CPPExpressionParser(ITokenStream stream, Map<String,String> properties) {
//
// Rule 193: iteration_statement ::= do statement while ( expression ) ;
//
- case 193: { action. consumeStatementDoLoop(); break;
+ case 193: { action. consumeStatementDoLoop(true); break;
}
//
- // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 194: iteration_statement ::= do statement
//
- case 194: { action. consumeStatementForLoop(); break;
+ case 194: { action. consumeStatementDoLoop(false); break;
}
//
- // Rule 196: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 196: { action. consumeStatementDeclaration(); break;
+ case 195: { action. consumeStatementForLoop(); break;
}
//
- // Rule 197: jump_statement ::= break ;
+ // Rule 197: for_init_statement ::= simple_declaration_with_declspec
//
- case 197: { action. consumeStatementBreak(); break;
+ case 197: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 198: jump_statement ::= continue ;
+ // Rule 198: jump_statement ::= break ;
//
- case 198: { action. consumeStatementContinue(); break;
+ case 198: { action. consumeStatementBreak(); break;
}
//
- // Rule 199: jump_statement ::= return expression ;
+ // Rule 199: jump_statement ::= continue ;
//
- case 199: { action. consumeStatementReturn(true); break;
+ case 199: { action. consumeStatementContinue(); break;
}
//
- // Rule 200: jump_statement ::= return ;
+ // Rule 200: jump_statement ::= return expression ;
//
- case 200: { action. consumeStatementReturn(false); break;
+ case 200: { action. consumeStatementReturn(true); break;
}
//
- // Rule 201: jump_statement ::= goto identifier_token ;
+ // Rule 201: jump_statement ::= return ;
//
- case 201: { action. consumeStatementGoto(); break;
+ case 201: { action. consumeStatementReturn(false); break;
}
//
- // Rule 202: declaration_statement ::= block_declaration
+ // Rule 202: jump_statement ::= goto identifier_token ;
//
- case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 202: { action. consumeStatementGoto(); break;
}
//
- // Rule 203: declaration_statement ::= function_definition
+ // Rule 203: declaration_statement ::= block_declaration
//
- case 203: { action. consumeStatementDeclaration(); break;
+ case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 211: declaration ::= ERROR_TOKEN
+ // Rule 204: declaration_statement ::= function_definition
//
- case 211: { action. consumeDeclarationProblem(); break;
+ case 204: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 212: declaration ::= ERROR_TOKEN
//
- case 221: { action. consumeDeclarationSimple(true); break;
+ case 212: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
case 222: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 223: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 223: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 224: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 224: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 227: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 229: declaration_specifiers_opt ::= $Empty
+ // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 229: { action. consumeEmpty(); break;
+ case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 233: no_type_declaration_specifier ::= friend
+ // Rule 230: declaration_specifiers_opt ::= $Empty
//
- case 233: { action. consumeToken(); break;
+ case 230: { action. consumeEmpty(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= typedef
+ // Rule 234: no_type_declaration_specifier ::= friend
//
case 234: { action. consumeToken(); break;
}
//
- // Rule 254: storage_class_specifier ::= auto
+ // Rule 235: no_type_declaration_specifier ::= typedef
//
- case 254: { action. consumeToken(); break;
+ case 235: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= register
+ // Rule 255: storage_class_specifier ::= auto
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= static
+ // Rule 256: storage_class_specifier ::= register
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= extern
+ // Rule 257: storage_class_specifier ::= static
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: storage_class_specifier ::= mutable
+ // Rule 258: storage_class_specifier ::= extern
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: function_specifier ::= inline
+ // Rule 259: storage_class_specifier ::= mutable
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= virtual
+ // Rule 260: function_specifier ::= inline
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: function_specifier ::= explicit
+ // Rule 261: function_specifier ::= virtual
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 262: function_specifier ::= explicit
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 263: simple_type_specifier ::= simple_type_specifier_token
//
- case 276: { action. consumeQualifiedId(false); break;
+ case 263: { action. consumeToken(); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
case 277: { action. consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 278: { action. consumeQualifiedId(false); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 279: { action. consumeQualifiedId(true); break;
+ case 279: { action. consumeQualifiedId(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 281: { action. consumeTypeSpecifierElaborated(false); break;
+ case 280: { action. consumeQualifiedId(true); break;
}
//
- // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 282: { action. consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 283: { action. consumeTypeSpecifierElaborated(false); break;
+ case 283: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 287: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 284: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 288: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 288: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 294: enumerator_definition ::= identifier_token
+ // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 294: { action. consumeEnumerator(false); break;
+ case 289: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 295: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 295: enumerator_definition ::= identifier_token
//
- case 295: { action. consumeEnumerator(true); break;
+ case 295: { action. consumeEnumerator(false); break;
}
//
- // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ // Rule 296: enumerator_definition ::= identifier_token = constant_expression
//
- case 297: { action. consumeNamespaceDefinition(true); break;
+ case 296: { action. consumeEnumerator(true); break;
}
//
- // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
//
- case 298: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
//
- case 300: { action. consumeNamespaceAliasDefinition(); break;
+ case 299: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 301: { action. consumeUsingDeclaration(); break;
+ case 301: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 302: typename_opt ::= typename
+ // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 302: { action. consumePlaceHolder(); break;
+ case 302: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 303: typename_opt ::= $Empty
+ // Rule 303: typename_opt ::= typename
//
- case 303: { action. consumeEmpty(); break;
+ case 303: { action. consumePlaceHolder(); break;
}
//
- // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 304: typename_opt ::= $Empty
//
- case 304: { action. consumeUsingDirective(); break;
+ case 304: { action. consumeEmpty(); break;
}
//
- // Rule 305: asm_definition ::= asm ( stringlit ) ;
+ // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 305: { action. consumeDeclarationASM(); break;
+ case 305: { action. consumeUsingDirective(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 306: asm_definition ::= asm ( stringlit ) ;
//
- case 306: { action. consumeLinkageSpecification(); break;
+ case 306: { action. consumeDeclarationASM(); break;
}
//
- // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
case 307: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 312: init_declarator_complete ::= init_declarator
+ // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 312: { action. consumeInitDeclaratorComplete(); break;
+ case 308: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 314: init_declarator ::= complete_declarator initializer
+ // Rule 313: init_declarator_complete ::= init_declarator
//
- case 314: { action. consumeDeclaratorWithInitializer(true); break;
+ case 313: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 315: init_declarator ::= complete_declarator initializer
//
- case 317: { action. consumeDeclaratorWithPointer(true); break;
+ case 315: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 318: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 319: { action. consumeDeclaratorWithPointer(true); break;
+ case 318: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 323: basic_direct_declarator ::= declarator_id_name
+ // Rule 320: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 323: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 320: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 324: basic_direct_declarator ::= ( declarator )
+ // Rule 324: basic_direct_declarator ::= declarator_id_name
//
- case 324: { action. consumeDirectDeclaratorBracketed(); break;
+ case 324: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 325: basic_direct_declarator ::= ( declarator )
//
- case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 325: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 326: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 326: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier
//
case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 328: array_modifier ::= [ constant_expression ]
+ // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 328: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 328: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 329: array_modifier ::= [ ]
+ // Rule 329: array_modifier ::= [ constant_expression ]
//
- case 329: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 329: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ // Rule 330: array_modifier ::= [ ]
//
- case 330: { action. consumePointer(); break;
+ case 330: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 331: ptr_operator ::= pointer_hook & pointer_hook
+ // Rule 331: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
//
- case 331: { action. consumeReferenceOperator(); break;
+ case 331: { action. consumePointer(); break;
}
//
- // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ // Rule 332: ptr_operator ::= pointer_hook & pointer_hook
//
- case 332: { action. consumePointerToMember(); break;
+ case 332: { action. consumeReferenceOperator(); break;
}
//
- // Rule 339: cv_qualifier ::= const
+ // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
//
- case 339: { action. consumeToken(); break;
+ case 333: { action. consumePointerToMember(); break;
}
//
- // Rule 340: cv_qualifier ::= volatile
+ // Rule 340: cv_qualifier ::= const
//
case 340: { action. consumeToken(); break;
}
//
- // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 341: cv_qualifier ::= volatile
//
- case 342: { action. consumeQualifiedId(false); break;
+ case 341: { action. consumeToken(); break;
}
//
- // Rule 343: type_id ::= type_specifier_seq
+ // Rule 343: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 343: { action. consumeTypeId(false); break;
+ case 343: { action. consumeQualifiedId(false); break;
}
//
- // Rule 344: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 344: type_id ::= type_specifier_seq
//
- case 344: { action. consumeTypeId(true); break;
+ case 344: { action. consumeTypeId(false); break;
}
//
- // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 345: type_id ::= type_specifier_seq abstract_declarator
//
- case 347: { action. consumeDeclaratorWithPointer(false); break;
+ case 345: { action. consumeTypeId(true); break;
}
//
- // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 348: { action. consumeDeclaratorWithPointer(true); break;
+ case 348: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 349: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 352: { action. consumeDirectDeclaratorBracketed(); break;
+ case 349: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 353: basic_direct_abstract_declarator ::= ( )
+ // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 353: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 353: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 354: array_direct_abstract_declarator ::= array_modifier
+ // Rule 354: basic_direct_abstract_declarator ::= ( )
//
- case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 354: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 355: array_direct_abstract_declarator ::= array_modifier
//
- case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 355: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 356: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 357: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 357: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 357: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 358: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 359: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 359: { action. consumePlaceHolder(); break;
+ case 359: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 360: { action. consumeEmpty(); break;
+ case 360: { action. consumePlaceHolder(); break;
}
//
- // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 361: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 361: { action. consumePlaceHolder(); break;
+ case 361: { action. consumeEmpty(); break;
}
//
- // Rule 367: abstract_declarator_opt ::= $Empty
+ // Rule 362: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 367: { action. consumeEmpty(); break;
+ case 362: { action. consumePlaceHolder(); break;
}
//
- // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 368: abstract_declarator_opt ::= $Empty
//
- case 368: { action. consumeParameterDeclaration(); break;
+ case 368: { action. consumeEmpty(); break;
}
//
- // Rule 369: parameter_declaration ::= declaration_specifiers
+ // Rule 369: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 369: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 370: parameter_declaration ::= declaration_specifiers
//
- case 371: { action. consumeDeclaratorWithInitializer(true); break;
+ case 370: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 372: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 373: { action. consumeDeclaratorWithInitializer(true); break;
+ case 372: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 374: parameter_init_declarator ::= = parameter_initializer
+ // Rule 374: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 374: { action. consumeDeclaratorWithInitializer(false); break;
+ case 374: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 375: parameter_initializer ::= assignment_expression
+ // Rule 375: parameter_init_declarator ::= = parameter_initializer
//
- case 375: { action. consumeInitializer(); break;
+ case 375: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 376: parameter_initializer ::= assignment_expression
//
- case 376: { action. consumeFunctionDefinition(false); break;
+ case 376: { action. consumeInitializer(); break;
}
//
- // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 377: { action. consumeFunctionDefinition(true); break;
+ case 377: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 380: initializer ::= ( expression_list )
+ // Rule 378: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 380: { action. consumeInitializerConstructor(); break;
+ case 378: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 381: initializer_clause ::= assignment_expression
+ // Rule 381: initializer ::= ( expression_list )
//
- case 381: { action. consumeInitializer(); break;
+ case 381: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
+ // Rule 382: initializer_clause ::= assignment_expression
//
- case 383: { action. consumeInitializerList(); break;
+ case 382: { action. consumeInitializer(); break;
}
//
- // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
+ // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
//
case 384: { action. consumeInitializerList(); break;
}
//
- // Rule 385: initializer_list ::= { <openscope-ast> }
+ // Rule 385: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
//
case 385: { action. consumeInitializerList(); break;
}
//
- // Rule 386: start_initializer_list ::= $Empty
+ // Rule 386: initializer_list ::= { <openscope-ast> }
//
- case 386: { action. initializerListStart(); break;
+ case 386: { action. consumeInitializerList(); break;
}
//
- // Rule 387: end_initializer_list ::= $Empty
+ // Rule 387: start_initializer_list ::= $Empty
//
- case 387: { action. initializerListEnd(); break;
+ case 387: { action. initializerListStart(); break;
}
//
- // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 388: end_initializer_list ::= $Empty
//
- case 392: { action. consumeClassSpecifier(); break;
+ case 388: { action. initializerListEnd(); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 393: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 393: { action. consumeClassHead(false); break;
+ case 393: { action. consumeClassSpecifier(); break;
}
//
- // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 394: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 394: { action. consumeClassHead(false); break;
}
//
- // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 395: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 395: { action. consumeClassHead(true); break;
+ case 395: { action. consumeClassHead(false); break;
}
//
- // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 396: { action. consumeClassHead(true); break;
}
//
- // Rule 400: identifier_name_opt ::= $Empty
+ // Rule 397: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 400: { action. consumeEmpty(); break;
- }
+ case 397: { action. consumeClassHead(true); break;
+ }
//
- // Rule 404: visibility_label ::= access_specifier_keyword :
+ // Rule 401: identifier_name_opt ::= $Empty
//
- case 404: { action. consumeVisibilityLabel(); break;
- }
+ case 401: { action. consumeEmpty(); break;
+ }
//
- // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 405: visibility_label ::= access_specifier_keyword :
//
- case 405: { action. consumeDeclarationSimple(true); break;
+ case 405: { action. consumeVisibilityLabel(); break;
}
//
- // Rule 406: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 406: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 406: { action. consumeDeclarationSimple(false); break;
+ case 406: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 407: member_declaration ::= declaration_specifiers_opt ;
//
- case 409: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 407: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 415: member_declaration ::= ERROR_TOKEN
+ // Rule 410: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 415: { action. consumeDeclarationProblem(); break;
+ case 410: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 424: member_declarator ::= declarator constant_initializer
+ // Rule 416: member_declaration ::= ERROR_TOKEN
//
- case 424: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 416: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 425: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 425: member_declarator ::= declarator constant_initializer
//
- case 425: { action. consumeBitField(true); break;
+ case 425: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 426: member_declarator ::= : constant_expression
+ // Rule 426: member_declarator ::= bit_field_declarator : constant_expression
//
- case 426: { action. consumeBitField(false); break;
+ case 426: { action. consumeBitField(true); break;
}
//
- // Rule 427: bit_field_declarator ::= identifier_name
+ // Rule 427: member_declarator ::= : constant_expression
//
- case 427: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 427: { action. consumeBitField(false); break;
}
//
- // Rule 428: constant_initializer ::= = constant_expression
+ // Rule 428: bit_field_declarator ::= identifier_name
//
- case 428: { action. consumeInitializer(); break;
+ case 428: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 429: constant_initializer ::= = constant_expression
//
- case 434: { action. consumeBaseSpecifier(false, false); break;
+ case 429: { action. consumeInitializer(); break;
}
//
- // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 435: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 435: { action. consumeBaseSpecifier(true, true); break;
+ case 435: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 436: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
case 436: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 437: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 437: { action. consumeBaseSpecifier(true, false); break;
+ case 437: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 438: access_specifier_keyword ::= private
+ // Rule 438: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 438: { action. consumeToken(); break;
+ case 438: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 439: access_specifier_keyword ::= protected
+ // Rule 439: access_specifier_keyword ::= private
//
case 439: { action. consumeToken(); break;
}
//
- // Rule 440: access_specifier_keyword ::= public
+ // Rule 440: access_specifier_keyword ::= protected
//
case 440: { action. consumeToken(); break;
}
//
- // Rule 442: access_specifier_keyword_opt ::= $Empty
+ // Rule 441: access_specifier_keyword ::= public
+ //
+ case 441: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 443: access_specifier_keyword_opt ::= $Empty
+ //
+ case 443: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 445: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 442: { action. consumeEmpty(); break;
+ case 445: { action. consumeTemplateId(); break;
}
//
- // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 446: conversion_function_id ::= operator conversion_type_id
//
- case 444: { action. consumeTemplateId(); break;
+ case 446: { action. consumeConversionName(); break;
}
//
- // Rule 445: conversion_function_id ::= operator conversion_type_id
+ // Rule 447: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 445: { action. consumeConversionName(); break;
+ case 447: { action. consumeTypeId(true); break;
}
//
- // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 448: conversion_type_id ::= type_specifier_seq
//
- case 446: { action. consumeTypeId(true); break;
+ case 448: { action. consumeTypeId(false); break;
}
//
- // Rule 447: conversion_type_id ::= type_specifier_seq
+ // Rule 449: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 447: { action. consumeTypeId(false); break;
+ case 449: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 455: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 448: { action. consumeDeclaratorWithPointer(false); break;
+ case 455: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 456: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 454: { action. consumeConstructorChainInitializer(); break;
+ case 456: { action. consumeQualifiedId(false); break;
}
//
- // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 459: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 455: { action. consumeQualifiedId(false); break;
+ case 459: { action. consumeTemplateId(); break;
}
//
- // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 460: operator_id_name ::= operator overloadable_operator
//
- case 458: { action. consumeTemplateId(); break;
+ case 460: { action. consumeOperatorName(); break;
}
//
- // Rule 459: operator_id_name ::= operator overloadable_operator
+ // Rule 503: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 459: { action. consumeOperatorName(); break;
+ case 503: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 504: export_opt ::= export
//
- case 502: { action. consumeTemplateDeclaration(); break;
+ case 504: { action. consumePlaceHolder(); break;
}
//
- // Rule 503: export_opt ::= export
+ // Rule 505: export_opt ::= $Empty
//
- case 503: { action. consumePlaceHolder(); break;
+ case 505: { action. consumeEmpty(); break;
}
//
- // Rule 504: export_opt ::= $Empty
+ // Rule 509: template_parameter ::= parameter_declaration
//
- case 504: { action. consumeEmpty(); break;
+ case 509: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 508: template_parameter ::= parameter_declaration
+ // Rule 510: type_parameter ::= class identifier_name_opt
//
- case 508: { action. consumeTemplateParamterDeclaration(); break;
+ case 510: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 509: type_parameter ::= class identifier_name_opt
+ // Rule 511: type_parameter ::= class identifier_name_opt = type_id
//
- case 509: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 511: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 510: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 512: type_parameter ::= typename identifier_name_opt
//
- case 510: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 512: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 511: type_parameter ::= typename identifier_name_opt
+ // Rule 513: type_parameter ::= typename identifier_name_opt = type_id
//
- case 511: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 513: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 512: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 512: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 514: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 515: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 513: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 515: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 516: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 514: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 516: { action. consumeTemplateId(); break;
}
//
- // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 521: template_argument ::= assignment_expression
//
- case 515: { action. consumeTemplateId(); break;
+ case 521: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 520: template_argument ::= assignment_expression
+ // Rule 522: template_argument ::= type_id
//
- case 520: { action. consumeTemplateArgumentExpression(); break;
+ case 522: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 521: template_argument ::= type_id
+ // Rule 523: explicit_instantiation ::= template declaration
//
- case 521: { action. consumeTemplateArgumentTypeId(); break;
+ case 523: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 522: explicit_instantiation ::= template declaration
+ // Rule 524: explicit_specialization ::= template < > declaration
//
- case 522: { action. consumeTemplateExplicitInstantiation(); break;
+ case 524: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 523: explicit_specialization ::= template < > declaration
+ // Rule 525: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 523: { action. consumeTemplateExplicitSpecialization(); break;
+ case 525: { action. consumeStatementTryBlock(true); break;
}
//
- // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 526: try_block ::= try compound_statement
//
- case 524: { action. consumeStatementTryBlock(); break;
+ case 526: { action. consumeStatementTryBlock(false); break;
}
//
- // Rule 527: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 529: handler ::= catch ( exception_declaration ) compound_statement
//
- case 527: { action. consumeStatementCatchHandler(false); break;
+ case 529: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 528: handler ::= catch ( ... ) compound_statement
+ // Rule 530: handler ::= catch ( ... ) compound_statement
//
- case 528: { action. consumeStatementCatchHandler(true); break;
+ case 530: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 529: { action. consumeDeclarationSimple(true); break;
+ case 531: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ // Rule 532: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 530: { action. consumeDeclarationSimple(true); break;
+ case 532: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 531: exception_declaration ::= type_specifier_seq
+ // Rule 533: exception_declaration ::= type_specifier_seq
//
- case 531: { action. consumeDeclarationSimple(false); break;
+ case 533: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 533: exception_specification ::= throw ( )
+ // Rule 535: exception_specification ::= throw ( )
//
- case 533: { action. consumePlaceHolder(); break;
+ case 535: { action. consumePlaceHolder(); break;
}
//
- // Rule 539: expression_parser_start ::= ERROR_TOKEN
+ // Rule 541: expression_parser_start ::= ERROR_TOKEN
//
- case 539: { action. consumeEmpty(); break;
+ case 541: { action. consumeEmpty(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
index ec1f1bc4f37..da47ac3a6a7 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -56,477 +56,477 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
0,1,0,1,1,0,1,1,1,1,
1,1,1,1,1,3,4,3,2,1,
4,2,1,2,5,7,5,1,4,1,
- 0,5,7,8,1,1,2,2,3,2,
- 3,1,1,1,1,1,1,1,1,1,
+ 0,5,7,2,8,1,1,2,2,3,
+ 2,3,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,2,1,
+ 0,4,4,2,2,2,2,2,1,0,
+ 1,1,1,1,1,1,2,1,2,2,
+ 2,1,1,2,2,1,2,2,1,2,
+ 2,1,2,2,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3,4,4,5,
+ 2,5,6,5,0,1,0,7,8,0,
+ 1,3,1,0,1,3,1,7,6,0,
+ 7,6,1,0,6,5,6,4,1,3,
+ 1,0,1,1,2,1,1,3,1,3,
+ 1,1,1,1,3,9,2,2,3,2,
+ 5,3,7,0,1,2,2,1,0,1,
+ 1,1,3,1,2,1,1,2,3,1,
+ 1,1,3,2,1,2,2,9,8,2,
+ 1,3,1,3,1,0,1,0,2,1,
+ 1,3,1,3,2,1,5,8,1,2,
+ 3,1,1,7,6,3,0,0,1,3,
+ 1,1,5,6,6,7,7,0,0,1,
+ 0,1,1,1,2,4,2,2,1,5,
1,1,1,1,1,1,1,2,1,0,
- 4,4,2,2,2,2,2,1,0,1,
- 1,1,1,1,1,2,1,2,2,2,
- 1,1,2,2,1,2,2,1,2,2,
- 1,2,2,1,1,1,1,1,1,1,
+ 1,3,1,1,2,3,2,1,2,2,
+ 1,0,1,3,3,5,5,4,1,1,
+ 1,1,0,1,5,2,2,1,2,2,
+ 1,0,1,3,4,3,1,1,5,2,
+ 1,1,3,3,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,4,4,5,2,
- 5,6,5,0,1,0,7,8,0,1,
- 3,1,0,1,3,1,7,6,0,7,
- 6,1,0,6,5,6,4,1,3,1,
- 0,1,1,2,1,1,3,1,3,1,
- 1,1,1,3,9,2,2,3,2,5,
- 3,7,0,1,2,2,1,0,1,1,
- 1,3,1,2,1,1,2,3,1,1,
- 1,3,2,1,2,2,9,8,2,1,
- 3,1,3,1,0,1,0,2,1,1,
- 3,1,3,2,1,5,8,1,2,3,
- 1,1,7,6,3,0,0,1,3,1,
- 1,5,6,6,7,7,0,0,1,0,
- 1,1,1,2,4,2,2,1,5,1,
- 1,1,1,1,1,1,2,1,0,1,
- 3,1,1,2,3,2,1,2,2,1,
- 0,1,3,3,5,5,4,1,1,1,
- 1,0,1,5,2,2,1,2,2,1,
- 0,1,3,4,3,1,1,5,2,1,
- 1,3,3,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,2,
- 2,7,1,0,1,3,1,1,2,4,
- 2,4,7,9,5,1,3,1,0,1,
- 1,2,4,4,1,2,5,5,3,3,
- 1,4,3,1,0,1,3,1,1,-62,
- 0,0,0,-2,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-4,0,0,0,0,0,0,-384,
- 0,0,-5,0,0,0,0,0,-6,-408,
- 0,0,-243,0,-283,0,0,0,0,0,
- 0,0,0,0,0,0,0,-442,-466,0,
- -113,0,0,-308,0,0,0,0,0,0,
- 0,0,0,0,0,0,-64,0,-293,0,
- 0,-58,0,0,0,0,0,0,-189,0,
- 0,-16,0,0,0,0,0,0,0,0,
- 0,0,-54,0,0,0,0,0,0,0,
- -179,0,0,0,-330,0,0,0,0,0,
- 0,0,-53,0,0,0,0,0,0,-334,
- 0,0,-65,-273,0,0,0,0,0,0,
- 0,-127,0,0,0,0,0,0,0,0,
- 0,0,0,-115,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,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,-119,0,0,0,
- -178,0,0,0,0,-128,0,0,0,0,
- -116,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ 2,2,7,1,0,1,3,1,1,2,
+ 4,2,4,7,9,5,1,3,1,0,
+ 1,1,2,4,4,2,1,2,5,5,
+ 3,3,1,4,3,1,0,1,3,1,
+ 1,-62,0,0,0,-2,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-264,0,0,0,0,
+ 0,0,0,0,-4,0,0,0,0,0,
+ 0,-384,0,0,-5,0,0,0,0,0,
+ -6,-408,0,0,-243,0,-283,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-442,
+ -466,0,-113,0,0,-308,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-64,0,
+ -293,0,0,-58,0,0,0,0,0,0,
+ -189,0,0,-16,0,0,0,0,0,0,
+ 0,0,0,0,-54,0,0,0,0,0,
+ 0,0,-179,0,0,0,-330,0,0,0,
+ 0,0,0,0,-53,0,0,0,0,0,
+ 0,-334,0,0,-65,-273,0,0,0,0,
+ 0,0,0,-127,0,0,0,0,0,0,
+ 0,0,0,0,0,-115,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -142,0,0,0,0,0,0,-71,0,0,
- 0,-349,0,0,0,0,0,0,0,0,
- -289,-244,0,0,0,0,0,-259,0,0,
- 0,-131,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-129,0,0,0,0,0,
- -148,0,0,0,-274,0,0,0,-117,-188,
- 0,-190,0,0,0,0,0,0,-220,0,
+ -10,0,0,0,0,0,0,0,-119,0,
+ 0,0,-178,0,0,0,0,-128,0,0,
+ 0,0,-116,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-120,0,
- 0,-302,0,-7,0,0,0,-51,0,0,
- 0,0,-359,0,0,-59,0,0,-416,0,
- 0,0,0,0,0,-424,0,0,-72,0,
- 0,0,-8,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-515,
+ 0,0,0,0,0,0,0,-264,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-142,0,0,0,0,0,0,-71,
+ 0,0,0,-349,0,0,0,0,0,0,
+ 0,0,-289,-244,0,0,0,0,0,-259,
+ 0,0,0,-131,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-9,0,0,0,0,0,0,0,
- 0,0,-363,0,0,0,0,0,0,0,
- 0,0,0,-539,0,0,0,-137,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-11,0,0,0,
- 0,0,0,0,0,0,-12,0,-206,0,
- 0,0,0,0,0,0,0,-391,-135,0,
- 0,0,-13,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-129,0,0,0,
+ 0,0,-148,0,0,0,-274,0,0,0,
+ -117,-188,0,-190,0,0,0,0,0,0,
+ -220,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-471,0,0,0,0,0,0,0,0,
- -412,-332,0,0,0,0,0,0,0,0,
+ -120,0,0,-302,0,-7,0,0,0,-51,
+ 0,0,0,0,-359,0,0,-59,0,0,
+ -416,0,0,0,0,0,0,-424,0,0,
+ -72,0,0,0,-8,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-515,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-226,0,0,0,
- 0,0,0,0,0,-230,-74,0,0,0,
- 0,-454,-257,-446,0,0,0,0,0,0,
+ 0,0,0,0,-9,0,0,0,0,0,
+ 0,0,0,0,-363,0,0,0,0,0,
+ 0,0,0,0,0,-539,0,0,0,-137,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-11,0,
+ 0,0,0,0,0,0,0,0,-12,0,
+ -206,0,0,0,0,0,0,0,0,-391,
+ -135,0,0,0,-13,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-3,0,0,
+ 0,0,0,-471,0,0,0,0,0,0,
+ 0,0,-412,-332,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-226,0,
+ 0,0,0,0,0,0,0,-230,-74,0,
+ 0,0,0,-454,-257,-446,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -15,0,-397,0,0,0,0,-316,0,0,
- -347,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-221,0,0,0,0,0,-28,
- -130,0,0,0,-277,0,0,0,-29,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,0,0,-30,0,0,
- 0,0,0,0,0,0,0,-31,0,-183,
- 0,0,0,0,0,0,0,-147,0,0,
- 0,0,-222,0,0,0,0,0,-419,-320,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-15,0,-397,0,0,0,0,-316,
+ 0,0,-347,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-299,0,-32,0,0,0,0,-144,
- 0,0,0,-18,0,0,0,-344,-321,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-221,0,0,0,0,
+ 0,-28,-130,0,0,0,-277,0,0,0,
+ -29,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-30,
+ 0,0,0,0,0,0,0,0,0,-31,
+ 0,-183,0,0,0,0,0,0,0,-147,
+ 0,0,0,0,-222,0,0,0,0,0,
+ -419,-320,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-33,0,-154,0,0,0,0,0,0,
- 0,-39,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-299,0,-32,0,0,0,
+ 0,-144,0,0,0,-18,0,0,0,-344,
+ -321,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-122,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-41,0,0,0,-301,
+ 0,0,0,-33,0,-154,0,0,0,0,
+ 0,0,0,-39,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-34,0,
- 0,0,0,0,0,0,0,0,-379,0,
- -49,0,0,0,0,0,0,0,-94,0,
+ 0,0,0,0,0,0,-122,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-41,0,0,
+ 0,-301,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-223,0,0,0,0,0,0,0,0,
- 0,0,0,-50,0,0,0,0,0,0,
- 0,-95,0,0,0,0,0,0,0,0,
+ -34,0,0,0,0,0,0,0,0,0,
+ -379,0,-49,0,0,0,0,0,0,0,
+ -94,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-35,0,0,0,0,0,
- 0,0,0,0,-407,0,-57,0,0,0,
- 0,-60,0,0,-96,0,0,0,0,0,
+ 0,0,0,-223,0,0,0,0,0,0,
+ 0,0,0,0,0,-50,0,0,0,0,
+ 0,0,0,-95,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-298,0,0,
- 0,0,0,0,0,0,0,0,0,-186,
- 0,0,0,0,0,0,0,-97,0,0,
+ 0,0,0,0,0,0,-35,0,0,0,
+ 0,0,0,0,0,0,-407,0,-57,0,
+ 0,0,0,-60,0,0,-96,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-298,
0,0,0,0,0,0,0,0,0,0,
+ 0,-186,0,0,0,0,0,0,0,-97,
0,0,0,0,0,0,0,0,0,0,
- -500,0,-36,0,0,0,-196,-107,0,0,
- -98,0,0,0,-339,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-37,0,0,0,0,0,0,
- 0,0,0,-530,0,-200,0,0,0,0,
- -108,0,0,-99,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-500,0,-36,0,0,0,-196,-107,
+ 0,0,-98,0,0,0,-339,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-37,0,0,0,0,
+ 0,0,0,0,0,-530,0,-200,0,0,
+ 0,0,-108,0,0,-99,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-38,-138,0,0,-100,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-480,
- 0,0,0,0,0,0,0,0,0,-531,
- 0,-205,0,0,0,0,0,0,0,-101,
- 0,0,0,-40,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-38,-138,0,0,-100,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-231,0,0,0,0,-114,
- 0,0,-102,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-55,0,0,0,0,
- 0,0,0,0,0,-149,0,-256,0,0,
- 0,0,-153,0,0,-103,0,0,0,-375,
+ 0,-480,0,0,0,0,0,0,0,0,
+ 0,-531,0,-205,0,0,0,0,0,0,
+ 0,-101,0,0,0,-40,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-198,0,
- -269,0,0,0,0,-280,0,0,-104,0,
- 0,0,-56,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-231,0,0,0,
+ 0,-114,0,0,-102,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,-207,0,-270,0,0,0,0,-514,0,
- 0,-213,0,0,0,-66,0,0,0,0,
+ 0,0,0,0,0,0,0,-55,0,0,
+ 0,0,0,0,0,0,0,-149,0,-256,
+ 0,0,0,0,-153,0,0,-103,0,0,
+ 0,-375,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-235,0,-272,0,0,0,
- 0,-242,0,0,-533,0,0,0,-227,0,
+ -198,0,-269,0,0,0,0,-280,0,0,
+ -104,0,0,0,-56,0,0,0,0,0,
0,0,0,0,0,0,0,0,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,-249,0,0,-358,0,0,
- 0,-333,0,0,0,0,0,0,0,0,
+ -378,0,0,-207,0,-270,0,0,0,0,
+ -514,0,0,-213,0,0,0,-66,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -67,0,-69,0,0,0,-382,0,0,0,
- -70,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-235,0,-272,0,
+ 0,0,0,-242,0,0,-533,0,0,0,
+ -227,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-225,0,0,0,-437,
- 0,0,0,0,-383,0,0,0,0,0,
+ 0,-276,0,0,0,0,-249,0,0,-358,
+ 0,0,0,-333,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-346,0,0,
- 0,0,0,0,0,0,0,-367,0,-109,
- 0,0,0,-457,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-67,0,-69,0,0,0,-382,0,
+ 0,0,-70,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-305,0,0,0,0,0,0,
- 0,0,-234,0,0,0,-439,0,0,0,
- -110,-106,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-406,0,0,0,0,0,
- 0,0,0,0,-288,0,-267,0,0,-202,
- -93,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-225,0,0,
+ 0,-437,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,-346,
+ 0,0,0,0,0,0,0,0,0,-367,
+ 0,-109,0,0,0,-457,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -357,0,0,-111,0,-91,0,0,0,-250,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-251,0,
- 0,0,0,0,0,0,0,0,-92,0,
+ 0,0,0,0,0,-305,0,0,0,0,
+ 0,0,0,0,-234,0,0,0,-439,0,
+ 0,0,-110,-106,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-406,0,0,0,
+ 0,0,0,0,0,0,-288,0,-267,0,
+ 0,-202,-93,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,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,-357,0,0,-111,0,-91,0,0,
+ 0,-250,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-388,0,0,0,0,0,0,
- -89,0,0,0,-112,0,0,0,0,0,
+ -251,0,0,0,0,0,0,0,0,0,
+ -92,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-132,0,0,0,0,0,-90,
- 0,0,0,-139,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-140,0,0,0,0,0,-398,0,
+ 0,0,-88,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-82,0,0,0,-141,0,0,0,0,
+ 0,0,0,0,0,-388,0,0,0,0,
+ 0,0,-89,0,0,0,-112,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-105,
- -233,0,0,0,-150,0,0,0,0,0,
+ 0,0,0,0,0,-132,0,0,0,0,
+ 0,-90,0,0,0,-139,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-281,0,0,-337,0,0,0,-268,0,
- 0,0,0,0,0,0,-380,0,0,0,
- -155,0,-252,-83,0,0,0,0,0,0,
+ 0,0,0,0,-140,0,0,0,0,0,
+ -398,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-82,0,0,0,-141,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-241,0,0,0,0,-473,0,0,0,
- -156,0,0,0,-540,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-212,0,
- -377,0,0,0,-157,0,0,0,0,0,
- 0,0,-286,-84,0,0,0,0,0,0,
+ 0,-105,-233,0,0,0,-150,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-281,0,0,-337,0,0,0,
+ -268,0,0,0,0,0,0,0,-380,0,
+ 0,0,-155,0,-252,-83,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-85,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-237,
+ 0,0,0,-241,0,0,0,0,-473,0,
+ 0,0,-156,0,0,0,-540,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-124,-143,0,0,0,-271,0,0,
- -307,0,0,0,0,0,0,0,0,0,
- 0,0,0,-423,-192,0,0,0,0,0,
- 0,-300,-52,0,0,0,-245,0,0,-470,
- 0,-47,0,0,0,0,0,0,0,0,
- 0,0,-158,0,0,-296,-240,0,0,0,
- 0,0,0,-159,-467,0,0,0,0,0,
- 0,0,0,0,0,0,0,-247,0,0,
+ -212,0,-377,0,0,0,-157,0,0,0,
+ 0,0,0,0,-286,-84,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -248,0,0,0,0,0,-61,0,-160,0,
- 0,-161,0,0,0,-345,0,0,0,-162,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-356,-297,-20,0,0,0,0,
+ 0,0,0,-85,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-315,0,0,0,0,-163,-211,
- 0,0,0,0,0,0,0,0,-164,0,
- 0,-165,0,-312,0,0,0,0,0,0,
- 0,0,0,0,0,0,-166,0,0,0,
- 0,0,-167,0,0,-325,0,-86,0,0,
+ 0,-237,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-124,-143,0,0,0,-271,
+ 0,0,-307,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-423,-192,0,0,0,
+ 0,0,0,-300,-52,0,0,0,-245,0,
+ 0,-470,0,-47,0,0,0,0,0,0,
+ 0,0,0,0,-158,0,0,-296,-240,0,
+ 0,0,0,0,0,-159,-467,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-247,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-248,0,0,0,0,0,-61,0,
+ -160,0,0,-161,0,0,0,-345,0,0,
+ 0,-162,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-356,-297,-20,0,0,
0,0,0,0,0,0,0,0,0,0,
- -168,0,0,0,-87,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-435,0,0,
- 0,0,-152,0,0,0,0,0,0,0,
- 0,0,0,0,0,-275,0,0,0,-365,
- 0,-169,-170,0,0,-146,-292,0,0,0,
- -306,0,0,0,0,-455,0,0,-310,0,
- 0,-313,0,-445,0,0,0,0,0,0,
- 0,0,0,-171,0,0,-353,-239,0,0,
- 0,0,-324,-172,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-361,0,-173,
+ 0,0,0,0,0,-315,0,0,0,0,
+ -163,-211,0,0,0,0,0,0,0,0,
+ -164,0,0,-165,0,-312,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-166,0,
+ 0,0,0,0,-167,0,0,-325,0,-86,
0,0,0,0,0,0,0,0,0,0,
- 0,-390,0,-311,-436,0,0,0,-174,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-532,0,0,0,0,0,0,0,0,
- 0,0,0,0,-77,0,0,0,0,0,
+ 0,0,-168,0,0,0,-87,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-435,
+ 0,0,0,0,-152,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-275,0,0,
+ 0,-365,0,-169,-170,0,0,-146,-292,0,
+ 0,0,-306,0,0,0,0,-455,0,0,
+ -310,0,0,-313,0,-445,0,0,0,0,
+ 0,0,0,0,0,-171,0,0,-353,-239,
+ 0,0,0,0,-324,-172,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-361,
+ 0,-173,0,0,0,0,0,0,0,0,
+ 0,0,0,-390,0,-311,-436,0,0,0,
+ -174,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-532,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-77,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-387,-261,0,0,-145,0,-175,0,
- 0,0,0,0,-322,0,0,0,0,0,
- -176,0,0,0,-121,0,0,-484,0,0,
- -177,0,0,0,-404,0,0,0,0,-327,
- 0,0,0,-180,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-78,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-387,-261,0,0,-145,0,
+ -175,0,0,0,0,0,-322,0,0,0,
+ 0,0,-176,0,0,0,-121,0,0,-484,
+ 0,0,-177,0,0,0,-404,0,0,0,
+ 0,-327,0,0,0,-180,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-78,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-364,0,0,-118,-17,-181,-328,0,
+ 0,0,0,-182,-151,0,0,0,0,0,
+ 0,0,0,0,-185,0,0,-464,0,0,
+ -193,0,0,0,0,0,0,0,0,0,
+ 0,-394,-187,0,0,0,0,0,-194,0,
+ 0,-197,0,0,0,0,0,0,0,0,
+ -335,0,0,0,0,-487,0,0,0,0,
+ 0,-448,0,-527,0,0,0,0,0,0,
+ 0,0,0,-208,0,-338,0,0,0,0,
+ -354,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-489,0,0,0,0,0,0,
+ 0,-341,0,0,0,0,0,0,0,0,
+ 0,-14,0,-218,-219,0,0,-323,0,0,
+ 0,-228,0,0,0,0,0,0,0,0,
+ 0,-506,0,0,0,0,0,-236,-401,0,
+ 0,0,0,0,0,0,0,0,0,-343,
+ 0,-214,0,0,0,0,-238,0,-246,-420,
+ 0,0,0,0,0,0,0,0,0,-520,
+ 0,0,-360,0,0,0,0,-392,0,0,
+ 0,0,0,0,0,0,0,-255,0,0,
+ 0,0,0,-260,-262,-374,0,0,0,0,
+ 0,0,0,0,0,0,0,-522,0,0,
+ 0,0,0,-459,0,-369,0,0,0,0,
+ 0,0,0,0,0,-505,0,0,-263,0,
+ 0,-209,0,0,0,-278,0,0,0,0,
+ 0,0,0,0,0,-279,0,0,0,-285,
+ 0,-290,0,0,0,0,0,-319,0,0,
+ 0,0,0,-294,0,-295,0,-229,0,0,
+ 0,0,0,-426,0,0,0,0,0,0,
+ 0,0,0,-524,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-136,-303,0,-393,
+ 0,-1,0,0,-429,0,0,0,0,0,
+ -526,0,0,-123,0,-468,-134,0,-418,-376,
+ 0,0,0,0,-422,0,-431,0,0,0,
+ 0,0,-125,0,-474,0,0,0,-304,0,
+ 0,0,0,0,0,0,-414,0,0,0,
+ 0,0,-336,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-415,0,
+ -362,-469,0,0,-541,0,0,0,0,0,
+ 0,0,0,0,0,0,-309,-427,0,0,
+ 0,0,0,-317,0,0,0,0,-434,0,
+ 0,0,0,-318,0,0,0,0,0,0,
+ 0,-329,-340,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-546,0,-348,0,0,0,0,-482,
+ -472,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-476,0,-350,-370,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -479,0,0,0,0,0,-373,0,0,0,
+ 0,0,-386,0,0,0,0,0,-477,0,
+ 0,0,0,0,0,0,0,0,-475,0,
+ -399,0,0,0,0,0,0,0,-79,0,
+ 0,0,-400,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-80,0,0,0,-402,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-81,0,
+ 0,0,-403,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-409,0,-21,0,0,0,-411,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-22,0,0,0,
+ -417,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-23,
+ 0,0,0,-425,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-24,0,0,0,-432,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-25,0,0,0,-433,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-26,0,
+ 0,0,-456,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-27,0,0,0,-458,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-63,0,0,0,-460,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-75,0,0,
+ 0,-461,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -76,0,0,0,-462,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-133,0,0,0,-463,0,0,
0,0,0,0,0,0,0,0,0,0,
- -364,0,0,-118,-17,-181,-328,0,0,0,
- 0,-182,-151,0,0,0,0,0,0,0,
- 0,0,-185,0,0,-464,0,0,-193,0,
- 0,0,0,0,0,0,0,0,0,-394,
- -187,0,0,0,0,0,-194,0,0,-197,
- 0,0,0,0,0,0,0,0,-335,0,
- 0,0,0,-487,0,0,0,0,0,-448,
- 0,-527,0,0,0,0,0,0,0,0,
- 0,-208,0,-338,0,0,0,0,-354,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-489,0,0,0,0,0,0,0,-341,
- 0,0,0,0,0,0,0,0,0,-14,
- 0,-218,-219,0,0,-323,0,0,0,-228,
- 0,0,0,0,0,0,0,0,0,-506,
- 0,0,0,0,0,-236,-401,0,0,0,
- 0,0,0,0,0,0,0,-343,0,-214,
- 0,0,0,0,-238,0,-246,-420,0,0,
- 0,0,0,0,0,0,0,-520,0,0,
- -360,0,0,0,0,-392,0,0,0,0,
- 0,0,0,0,0,-255,0,0,0,0,
- 0,-260,-262,-374,0,0,0,0,0,0,
- 0,0,0,0,0,-522,0,0,0,0,
- 0,-459,0,-369,0,0,0,0,0,0,
- 0,0,0,-505,0,0,-263,0,0,-209,
- 0,0,0,-278,0,0,0,0,0,0,
- 0,0,0,-279,0,0,0,-285,0,-290,
- 0,0,0,0,0,-319,0,0,0,0,
- 0,-294,0,-295,0,-229,0,0,0,0,
- 0,-426,0,0,0,0,0,0,0,0,
- 0,-524,0,0,0,0,0,0,0,0,
- 0,0,0,0,-136,-303,0,-393,0,-1,
- 0,0,-429,0,0,0,0,0,-526,0,
- 0,-123,0,-468,-134,0,-418,-376,0,0,
- 0,0,-422,0,-431,0,0,0,0,0,
- -125,0,-474,0,0,0,-304,0,0,0,
- 0,0,0,0,-414,0,0,0,0,0,
- -336,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-415,0,-362,-469,
- 0,0,-541,0,0,0,0,0,0,0,
- 0,0,0,0,-309,-427,0,0,0,0,
- 0,-317,0,0,0,0,-434,0,0,0,
- 0,-318,0,0,0,0,0,0,0,-329,
- -340,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -546,0,-348,0,0,0,0,-482,-472,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-476,0,-350,-370,0,0,0,0,
- 0,0,0,0,0,0,0,0,-479,0,
- 0,0,0,0,-373,0,0,0,0,0,
- -386,0,0,0,0,0,-477,0,0,0,
- 0,0,0,0,0,0,-475,0,-399,0,
- 0,0,0,0,0,0,-79,0,0,0,
- -400,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-80,0,0,0,-402,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-81,0,0,0,
- -403,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-409,
- 0,-21,0,0,0,-411,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-22,0,0,0,-417,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-23,0,0,
- 0,-425,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -24,0,0,0,-432,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-25,0,0,0,-433,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-26,0,0,0,
- -456,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-27,
- 0,0,0,-458,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-63,0,0,0,-460,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-75,0,0,0,-461,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-76,0,
- 0,0,-462,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-133,0,0,0,-463,0,0,0,0,
+ 0,0,0,0,0,0,-203,0,0,0,
+ -538,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-381,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-203,0,0,0,-538,0,
+ 0,0,-501,-447,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-19,0,0,0,
+ -495,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-368,-478,
+ -465,-215,0,-48,-73,0,-528,0,0,0,
+ 0,0,-396,0,0,-483,0,-485,-216,0,
+ -486,0,0,0,0,0,0,0,0,-496,
+ 0,0,0,0,0,0,-503,-544,-498,-253,
+ 0,0,0,0,-488,0,0,0,0,0,
+ 0,0,0,0,-287,0,0,0,0,0,
+ 0,0,-523,0,0,0,0,0,0,0,
+ -232,0,0,0,0,0,0,0,0,0,
+ -502,0,0,0,0,-444,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-507,0,
+ 0,0,-493,-43,-366,0,-44,0,0,-536,
+ 0,0,-509,0,0,0,0,0,0,-511,
+ -217,-497,-543,0,0,0,0,0,0,0,
+ -504,0,0,0,0,0,0,0,0,0,
+ 0,-126,0,0,0,0,0,-519,0,0,
+ 0,0,0,-512,0,0,-405,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-381,0,0,
+ 0,-521,-385,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-508,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-529,
+ 0,0,0,0,0,-265,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-534,-199,
+ -513,-517,0,0,0,-284,-545,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -501,-447,0,0,0,0,0,0,0,0,
- 0,0,0,0,-19,0,0,0,-495,0,
+ -518,-537,0,0,0,0,0,0,-371,0,
+ 0,-355,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-395,0,0,0,0,0,
+ 0,0,0,0,0,0,-254,-331,0,0,
+ 0,0,0,0,0,0,0,0,-314,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-368,-478,-465,-215,
- 0,-48,-73,0,-528,0,0,0,0,0,
- -396,0,0,-483,0,-485,-216,0,-486,0,
- 0,0,0,0,0,0,0,-496,0,0,
- 0,0,0,0,-503,-544,-498,-253,0,0,
- 0,0,-488,0,0,0,0,0,0,0,
- 0,0,-287,0,0,0,0,0,0,0,
- -523,0,0,0,0,0,0,0,-232,0,
- 0,0,0,0,0,0,0,0,-502,0,
- 0,0,0,-444,0,0,0,0,0,0,
- 0,0,0,0,0,0,-507,0,0,0,
- -493,-43,-366,0,-44,0,0,-536,0,0,
- -509,0,0,0,0,0,0,-511,-217,-497,
- -543,0,0,0,0,0,0,0,-504,0,
- 0,0,0,0,0,0,0,0,0,-126,
- 0,0,0,0,0,-519,0,0,0,0,
- 0,-512,0,0,-405,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-521,
- -385,0,0,0,0,0,0,0,0,0,
- 0,0,0,-508,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-529,0,0,
- 0,0,0,-265,0,0,0,0,0,0,
- 0,0,0,0,0,0,-534,-199,-513,-517,
- 0,0,0,-284,-545,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-518,-537,
- 0,0,0,0,0,0,-371,0,0,-355,
+ 0,0,0,0,-542,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-395,0,0,0,0,0,0,0,
- 0,0,0,0,-254,-331,0,0,0,0,
- 0,0,0,0,0,0,-314,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-542,0,0,0,0,0,0,0,
+ -421,0,0,0,0,0,-492,0,0,0,
+ 0,0,0,0,0,0,-430,0,0,0,
+ 0,0,0,0,0,0,-291,-326,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-421,0,
- 0,0,0,0,-492,0,0,0,0,0,
- 0,0,0,0,-430,0,0,0,0,0,
- 0,0,0,0,-291,-326,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-438,0,0,
+ 0,0,-443,0,0,0,0,0,0,0,
+ 0,0,0,0,-450,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-516,0,
+ 0,0,0,-195,0,0,0,0,0,0,
+ 0,0,-372,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-224,0,
+ 0,0,0,0,-266,0,0,0,0,0,
+ 0,0,0,0,0,-282,0,0,0,0,
+ 0,0,0,0,-481,0,0,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,-438,0,0,0,0,
- -443,0,0,0,0,0,0,0,0,0,
- 0,0,-450,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-516,0,0,0,
- 0,-195,0,0,0,0,0,0,0,0,
- -372,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-224,0,0,0,
- 0,0,-266,0,0,0,0,0,0,0,
- 0,0,0,-282,0,0,0,0,0,0,
- 0,0,-481,0,0,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,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-351,0,0,0,
+ -389,0,0,0,0,0,0,0,0,0,
+ 0,-410,0,0,0,0,0,0,-413,0,
+ 0,0,0,0,0,0,-428,0,0,0,
+ 0,0,0,0,0,0,0,0,-525,0,
+ 0,0,0,0,0,0,0,-440,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-351,0,0,0,-389,0,
- 0,0,0,0,0,0,0,0,0,-410,
- 0,0,0,0,0,0,-413,0,0,0,
- 0,0,0,0,-428,0,0,0,0,0,
- 0,0,0,0,0,0,-525,0,0,0,
- 0,0,0,0,0,-440,0,0,0,0,
+ 0,0,0,0,-441,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-441,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-449,0,0,0,0,
+ 0,0,0,0,-510,0,0,0,0,0,
+ 0,0,-42,0,0,0,0,0,0,0,
+ 0,0,-451,0,-68,-45,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-449,0,0,0,0,0,0,
- 0,0,-510,0,0,0,0,0,0,0,
- -42,0,0,0,0,0,0,0,0,0,
- -451,0,-68,-45,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-352,
- 0,0,0,0,0,0,0,-184,0,0,
+ 0,-352,0,0,0,0,0,0,0,-184,
0,0,0,0,0,0,0,0,0,0,
- -191,0,0,0,-201,0,0,0,0,0,
- 0,-210,0,0,0,-258,0,0,0,-46,
- 0,0,0,0,-490,0,0,0,0,0,
+ 0,0,-191,0,0,0,-201,0,0,0,
+ 0,0,0,-210,0,0,0,-258,0,0,
+ 0,-46,0,0,0,0,-490,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-491,-494,0,
- 0,0,0,-204,0,0,0,0,0,0,
- 0,0,-452,0,0,0,0,0,-453,0,
- 0,0,0,0,0,-499,0,0,0,0,
- -535,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-491,
+ -494,0,0,0,0,-204,0,0,0,0,
+ 0,0,0,0,-452,0,0,0,0,0,
+ -453,0,0,0,0,0,0,-499,0,0,
+ 0,0,-535,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -544,7 +544,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
0,0,0,0,0,0,0,0,0,0,
0,0,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;
@@ -573,531 +573,532 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
96,96,180,180,91,203,203,69,69,69,
69,69,69,69,69,69,70,70,70,67,
67,57,57,181,181,71,71,71,102,102,
- 182,182,72,72,72,183,183,73,73,73,
- 73,73,74,74,83,83,83,83,83,83,
- 83,83,51,51,51,51,51,115,115,113,
- 113,52,184,23,23,23,23,23,49,49,
- 86,86,86,86,86,153,153,148,148,148,
- 148,148,149,149,149,150,150,150,151,151,
- 151,152,152,152,87,87,87,87,87,88,
- 88,88,13,14,14,14,14,14,14,14,
- 14,14,14,14,97,119,119,119,119,119,
- 119,117,117,117,154,155,155,118,118,185,
- 157,157,156,156,121,121,103,80,80,122,
- 54,48,158,158,55,53,85,85,159,159,
- 147,147,123,124,124,125,77,77,160,160,
- 64,64,64,61,61,60,65,65,76,76,
- 59,59,59,50,89,89,99,98,98,63,
- 63,62,62,56,56,46,100,100,100,92,
- 92,92,93,93,94,94,94,95,95,104,
- 104,104,106,106,105,105,204,204,90,90,
- 187,187,187,187,187,127,47,47,162,186,
- 186,128,128,129,129,129,130,164,188,188,
- 35,35,116,131,131,131,131,190,108,107,
- 107,120,120,120,165,166,166,166,166,166,
- 166,166,166,166,166,166,192,192,189,189,
- 191,191,167,168,168,168,168,169,193,110,
- 109,109,194,194,170,170,170,170,101,101,
- 101,195,195,8,8,9,196,196,197,171,
- 161,161,172,172,173,174,174,7,7,10,
+ 182,182,72,72,72,72,183,183,73,73,
+ 73,73,73,74,74,83,83,83,83,83,
+ 83,83,83,51,51,51,51,51,115,115,
+ 113,113,52,184,23,23,23,23,23,49,
+ 49,86,86,86,86,86,153,153,148,148,
+ 148,148,148,149,149,149,150,150,150,151,
+ 151,151,152,152,152,87,87,87,87,87,
+ 88,88,88,13,14,14,14,14,14,14,
+ 14,14,14,14,14,97,119,119,119,119,
+ 119,119,117,117,117,154,155,155,118,118,
+ 185,157,157,156,156,121,121,103,80,80,
+ 122,54,48,158,158,55,53,85,85,159,
+ 159,147,147,123,124,124,125,77,77,160,
+ 160,64,64,64,61,61,60,65,65,76,
+ 76,59,59,59,50,89,89,99,98,98,
+ 63,63,62,62,56,56,46,100,100,100,
+ 92,92,92,93,93,94,94,94,95,95,
+ 104,104,104,106,106,105,105,204,204,90,
+ 90,187,187,187,187,187,127,47,47,162,
+ 186,186,128,128,129,129,129,130,164,188,
+ 188,35,35,116,131,131,131,131,190,108,
+ 107,107,120,120,120,165,166,166,166,166,
+ 166,166,166,166,166,166,166,192,192,189,
+ 189,191,191,167,168,168,168,168,169,193,
+ 110,109,109,194,194,170,170,170,170,101,
+ 101,101,195,195,8,8,9,196,196,197,
+ 171,161,161,172,172,173,174,174,7,7,
+ 10,198,198,198,198,198,198,198,198,198,
198,198,198,198,198,198,198,198,198,198,
198,198,198,198,198,198,198,198,198,198,
198,198,198,198,198,198,198,198,198,198,
- 198,198,198,198,198,198,198,198,198,198,
- 198,198,78,81,81,175,175,133,133,134,
- 134,134,134,134,134,3,135,135,132,132,
- 111,111,84,79,75,163,163,112,112,199,
- 199,199,136,136,126,126,200,200,176,176,
- 1119,35,2496,2473,1278,2704,27,30,31,1063,
- 1231,26,28,2454,262,25,23,50,1280,106,
- 76,77,108,73,1289,1318,1308,1422,1375,1585,
- 1773,1499,1714,71,1683,274,1773,1824,143,1267,
- 838,158,144,1994,2948,1888,35,1047,32,4456,
- 4564,27,30,31,1063,1231,341,28,1617,588,
- 4079,1279,2733,232,1952,35,1047,32,4780,4564,
- 27,30,31,1063,1231,341,28,1017,353,1227,
- 3376,345,588,2113,2444,34,235,230,231,2484,
- 1146,533,1500,35,1047,32,1328,275,41,30,
- 31,1063,1231,1614,2797,321,2542,323,182,316,
- 1946,588,35,3303,536,1994,242,245,248,251,
- 1455,354,2896,1010,321,2542,323,741,316,1946,
- 1227,919,1855,1425,2078,3582,500,346,1774,1018,
- 351,2896,327,35,280,1939,563,4801,3184,737,
- 3125,3502,3521,4240,2316,35,1047,32,2733,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,108,345,1289,1318,
- 1308,1422,1375,1585,821,1499,1714,3440,1683,499,
- 1773,1824,143,70,2742,520,144,1225,651,1328,
- 2797,588,35,2444,3302,501,929,35,2111,391,
- 521,2316,35,1047,32,2733,1384,27,30,31,
- 1063,1231,26,28,1037,262,25,23,50,1280,
- 106,76,77,108,345,1289,1318,1308,1422,1375,
- 1585,49,1499,1714,71,1683,236,1773,1824,143,
- 1996,3209,520,144,3107,290,1003,2797,3687,3440,
- 232,327,35,280,2725,516,4805,521,1217,35,
- 1047,32,2729,3193,27,30,31,1063,1231,57,
- 28,2579,2042,244,230,231,3144,4788,2556,3186,
- 1238,3592,2316,35,1047,32,2733,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,345,1289,1318,1308,1422,
- 1375,1585,516,1499,1714,1010,1683,407,1773,1824,
- 143,1351,3203,520,144,588,35,283,2797,2042,
- 499,2977,499,3192,4788,3456,3186,4169,521,2524,
- 35,1047,32,2733,1384,27,30,31,1063,1231,
- 26,28,1037,262,25,23,50,1280,106,76,
- 77,108,345,1289,1318,1308,1422,1375,1585,1330,
- 1499,1714,307,1683,1390,1773,1824,143,1599,3203,
- 520,144,879,588,3582,2797,1614,3420,334,588,
- 35,2111,391,516,2234,521,2243,463,61,1860,
- 35,1047,32,2218,3193,27,30,31,1063,1231,
- 56,28,1640,88,3227,94,102,3186,1320,4002,
- 2659,35,1047,32,434,1384,27,30,31,1063,
- 1231,26,28,1037,262,25,23,50,1280,106,
- 76,77,108,2226,1289,1318,1308,1422,1375,1585,
- 517,1499,1714,2579,1683,424,1773,1824,143,42,
- 3262,381,144,3659,2385,35,1047,32,1987,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,108,1016,1289,1318,
- 1308,1422,1375,1585,1695,1499,1714,2234,1683,2034,
- 1773,1824,143,822,291,381,144,3659,1876,2832,
- 35,1047,32,2532,1384,27,30,31,1063,1231,
- 26,28,1037,262,25,23,50,1280,106,76,
- 77,108,4136,1289,1318,1308,1422,1375,1585,60,
- 1499,1714,1330,1683,355,1773,3230,164,388,382,
- 1800,2135,3121,35,1047,32,4639,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,446,1289,1318,1308,1422,
- 1375,1585,314,1499,1714,580,1683,221,1773,3230,
- 164,329,389,382,1800,89,1330,56,102,4137,
- 1687,1198,1817,322,2591,35,1047,32,4105,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,108,156,1289,1318,
- 1308,1422,1375,1585,358,1499,1714,1424,1683,2027,
- 1773,1824,143,2970,534,381,144,3659,2887,35,
- 1047,32,3103,1384,27,30,31,1063,1231,26,
- 28,1037,262,25,23,50,1280,106,76,77,
- 108,392,1289,1318,1308,1422,1375,1585,93,1499,
- 1714,2558,1683,2479,1773,1824,143,4429,2580,158,
- 144,3121,35,1047,32,1941,1384,27,30,31,
- 1063,1231,26,28,1037,262,25,23,50,1280,
- 106,76,77,108,525,1289,1318,1308,1422,1375,
- 1585,433,1499,1714,135,1683,3513,1773,3230,164,
- 2245,1010,379,382,1800,2887,35,1047,32,413,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,108,1446,1289,
- 1318,1308,1422,1375,1585,3128,1499,1714,64,1683,
- 1868,1773,1824,143,3376,4788,375,144,1714,35,
- 1047,32,426,135,40,30,31,1063,1231,1876,
- 2887,35,1047,32,563,1384,27,30,31,1063,
- 1231,26,28,1037,262,25,23,50,1280,106,
- 76,77,108,462,1289,1318,1308,1422,1375,1585,
- 3203,1499,1714,737,1683,2217,1773,1824,143,335,
- 1010,375,144,331,2212,35,2111,391,2690,2887,
- 35,1047,32,2321,1384,27,30,31,1063,1231,
- 26,28,1037,262,25,23,50,1280,106,76,
- 77,108,374,1289,1318,1308,1422,1375,1585,49,
- 1499,1714,587,1683,1010,1773,1824,143,1996,673,
- 375,144,2457,35,1047,32,3541,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,1229,1289,1318,1308,1422,
- 1375,1585,4025,1499,1714,357,1683,373,1773,1824,
- 143,330,337,142,144,534,2887,35,1047,32,
- 1330,1384,27,30,31,1063,1231,26,28,1037,
- 262,25,23,50,1280,106,76,77,108,1226,
- 1289,1318,1308,1422,1375,1585,51,1499,1714,1330,
- 1683,56,1773,1824,143,694,371,159,144,2887,
- 35,1047,32,3264,1384,27,30,31,1063,1231,
- 26,28,1037,262,25,23,50,1280,106,76,
- 77,108,135,1289,1318,1308,1422,1375,1585,1509,
- 1499,1714,580,1683,56,1773,1824,143,751,450,
- 155,144,2887,35,1047,32,378,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,1355,1289,1318,1308,1422,
- 1375,1585,1898,1499,1714,1330,1683,56,1773,1824,
- 143,832,1614,154,144,2887,35,1047,32,880,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,108,135,1289,
- 1318,1308,1422,1375,1585,24,1499,1714,580,1683,
- 56,1773,1824,143,4547,3221,153,144,2887,35,
- 1047,32,378,1384,27,30,31,1063,1231,26,
- 28,1037,262,25,23,50,1280,106,76,77,
- 108,376,1289,1318,1308,1422,1375,1585,3239,1499,
- 1714,1876,1683,486,1773,1824,143,1010,1614,152,
- 144,2887,35,1047,32,1330,1384,27,30,31,
- 1063,1231,26,28,1037,262,25,23,50,1280,
- 106,76,77,108,1506,1289,1318,1308,1422,1375,
- 1585,69,1499,1714,1330,1683,56,1773,1824,143,
- 3008,1614,151,144,2887,35,1047,32,3404,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,108,3587,1289,1318,
- 1308,1422,1375,1585,68,1499,1714,580,1683,328,
- 1773,1824,143,1146,1612,150,144,2887,35,1047,
- 32,528,1384,27,30,31,1063,1231,26,28,
- 1037,262,25,23,50,1280,106,76,77,108,
- 1330,1289,1318,1308,1422,1375,1585,325,1499,1714,
- 1330,1683,56,1773,1824,143,583,534,149,144,
- 2887,35,1047,32,1616,1384,27,30,31,1063,
- 1231,26,28,1037,262,25,23,50,1280,106,
- 76,77,108,4179,1289,1318,1308,1422,1375,1585,
- 356,1499,1714,580,1683,56,1773,1824,143,674,
- 1614,148,144,2887,35,1047,32,527,1384,27,
- 30,31,1063,1231,26,28,1037,262,25,23,
- 50,1280,106,76,77,108,1733,1289,1318,1308,
- 1422,1375,1585,53,1499,1714,1614,1683,56,1773,
- 1824,143,1373,1614,147,144,2887,35,1047,32,
- 2297,1384,27,30,31,1063,1231,26,28,1037,
- 262,25,23,50,1280,106,76,77,108,87,
- 1289,1318,1308,1422,1375,1585,52,1499,1714,1614,
- 1683,56,1773,1824,143,2874,2557,146,144,2887,
- 35,1047,32,1984,1384,27,30,31,1063,1231,
- 26,28,1037,262,25,23,50,1280,106,76,
- 77,108,352,1289,1318,1308,1422,1375,1585,2690,
- 1499,1714,1614,1683,56,1773,1824,143,2992,1817,
- 145,144,2887,35,1047,32,1174,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,90,1289,1318,1308,1422,
- 1375,1585,326,1499,1714,1614,1683,56,1773,1824,
- 143,2854,1614,140,144,3005,35,1047,32,1499,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,108,2070,1289,
- 1318,1308,1422,1375,1585,2285,1499,1714,2234,1683,
- 56,1773,1824,143,3446,1614,189,144,3121,35,
- 1047,32,1010,1384,27,30,31,1063,1231,26,
- 28,1037,262,25,23,50,1280,106,76,77,
- 108,525,1289,1318,1308,1422,1375,1585,67,1499,
- 1714,2559,1683,1323,1773,3230,164,3121,35,1047,
- 32,1441,1384,27,30,31,1063,1231,26,28,
- 1037,262,25,23,50,1280,106,76,77,108,
- 1595,1289,1318,1308,1422,1375,1585,1984,1499,1714,
- 450,1683,3252,1773,3230,164,588,35,2549,2287,
- 588,35,2111,391,97,3121,35,1047,32,295,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,108,2041,1289,
- 1318,1308,1422,1375,1585,455,1499,1714,2717,1683,
- 160,1773,3230,164,3176,35,1047,32,425,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,108,405,1289,1318,
- 1308,1422,1375,1585,499,1499,1714,409,1683,4585,
- 1773,3230,164,588,35,2444,277,588,35,2111,
- 391,332,3121,35,1047,32,428,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,2717,1289,1318,1308,1422,
- 1375,1585,437,1499,1714,56,1683,221,3030,655,
- 1818,3121,35,1047,32,4143,1384,27,30,31,
- 1063,1231,26,28,1037,262,25,23,50,1280,
- 106,76,77,108,301,1289,1318,1308,1422,1375,
- 1585,322,1499,1714,676,3004,3121,35,1047,32,
- 1614,1384,27,30,31,1063,1231,26,28,1037,
- 262,25,23,50,1280,106,76,77,108,1614,
- 1289,1318,1308,1422,1375,1585,1328,1499,2972,3121,
- 35,1047,32,66,1384,27,30,31,1063,1231,
- 26,28,1037,262,25,23,50,1280,106,76,
- 77,108,65,1289,1318,1308,1422,1375,1585,287,
- 2973,3121,35,1047,32,2989,1384,27,30,31,
- 1063,1231,26,28,1037,262,25,23,50,1280,
- 106,76,77,108,314,1289,1318,1308,1422,1375,
- 2887,3121,35,1047,32,848,1384,27,30,31,
- 1063,1231,26,28,1037,262,25,23,50,1280,
- 106,76,77,108,2626,1289,1318,1308,1422,2893,
- 3121,35,1047,32,1983,1384,27,30,31,1063,
- 1231,26,28,1037,262,25,23,50,1280,106,
- 76,77,108,3321,1289,1318,1308,1422,2921,1518,
- 35,1047,32,4780,4635,27,30,31,1063,1231,
- 341,28,3121,35,1047,32,1453,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,441,1289,1318,1308,2799,
- 56,2223,35,278,1198,1781,35,1047,32,3203,
- 4812,27,30,31,1063,1231,59,28,334,321,
- 2542,323,1960,316,1946,1714,35,1047,32,2691,
- 156,2198,30,31,1063,1231,315,327,35,456,
- 3014,408,4650,1614,3121,35,1047,32,2806,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,108,2966,1289,1318,
- 1308,2802,1643,35,2444,277,64,588,35,2111,
- 391,580,308,312,946,2162,35,1047,32,3557,
- 4812,27,30,31,1063,1231,26,28,327,1334,
- 514,1714,35,1047,32,1015,2724,2275,30,31,
- 1063,1231,436,1614,3121,35,1047,32,3822,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,108,3044,1289,1318,
- 1308,2810,3121,35,1047,32,3187,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,1328,1289,1318,1308,2859,
- 1400,35,1047,32,4324,4564,27,30,31,1063,
- 1231,341,28,241,2240,35,2111,391,2449,35,
- 281,1898,35,3645,32,4780,4635,27,30,31,
- 1063,1231,341,28,2717,588,35,2111,391,449,
- 3770,3776,1425,3231,35,2111,391,2440,746,49,
- 588,4220,588,35,2111,391,237,262,1996,2290,
- 321,2542,323,1611,316,1946,1614,2371,35,278,
- 274,3203,2725,221,1873,2722,354,3434,274,1198,
- 334,321,2542,323,4387,316,1946,49,588,3452,
- 2444,74,346,1774,1018,351,1996,601,812,55,
- 3424,1643,35,2444,3454,156,232,2147,2545,1223,
- 2806,3505,1544,3420,200,4128,2070,35,1047,32,
- 1559,4635,27,30,31,1063,1231,341,28,235,
- 230,231,276,4153,2580,1614,3121,35,1047,32,
- 275,1384,27,30,31,1063,1231,26,28,1037,
- 262,25,23,50,1280,106,76,77,85,242,
- 245,248,251,1455,2078,3582,3203,882,54,1674,
- 757,35,2111,391,919,335,321,2542,323,2134,
- 319,1946,2196,354,2581,44,3262,368,420,422,
- 3623,3184,737,3125,3502,3521,4240,1709,629,346,
- 1774,1018,351,2352,651,274,1614,344,3121,35,
- 1047,32,2188,1384,27,30,31,1063,1231,26,
- 28,1037,262,25,23,50,1280,106,76,77,
- 108,2425,1289,1318,2869,3121,35,1047,32,324,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,108,259,1289,
- 1318,2872,540,1781,35,1047,32,3347,4812,27,
- 30,31,1063,1231,58,28,588,35,2444,279,
- 1010,228,1515,1703,72,290,56,2152,156,3042,
- 1198,1469,4788,393,430,1388,1,180,3402,56,
- 540,580,2581,3007,56,203,215,4531,1198,202,
- 212,213,214,216,572,169,1982,2581,1875,228,
- 2824,3592,2733,2512,1777,168,156,183,167,170,
- 171,172,173,174,4098,180,3402,3203,1875,580,
- 1374,2690,2733,203,215,4531,2977,202,212,213,
- 214,216,322,169,56,843,35,456,3269,2244,
- 4650,2690,98,168,181,184,167,170,171,172,
- 173,174,2062,35,1047,32,4324,4564,27,30,
- 31,1063,1231,341,28,3121,35,1047,32,1328,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,108,362,1289,
- 2561,394,430,2723,1789,35,296,2165,4657,2344,
- 288,2733,2633,3326,3345,56,396,430,362,3028,
- 96,2380,321,2542,323,1240,316,1946,2624,2986,
- 345,2418,3366,3326,3345,1243,35,399,354,529,
- 1363,35,1047,32,2076,4635,27,30,31,1063,
- 1231,341,28,1049,346,1774,1018,351,3121,35,
- 1047,32,530,1384,27,30,31,1063,1231,26,
- 28,1037,262,25,23,50,1280,106,76,77,
- 108,1614,1289,2601,3347,56,1906,56,232,540,
- 3203,3559,2081,932,35,2111,391,239,262,335,
- 321,2542,323,1096,317,1946,345,922,345,2417,
- 540,247,230,231,101,156,354,453,3770,3776,
- 322,1243,35,3310,2039,1602,1480,2236,49,228,
- 49,2797,348,1774,1018,351,156,1996,2619,56,
- 526,936,3845,4203,431,180,3402,232,540,580,
- 2717,2860,2800,203,215,4531,49,202,212,213,
- 214,216,1324,169,56,1996,2156,228,4097,2581,
- 240,230,231,168,156,4201,167,170,171,172,
- 173,174,517,180,3402,1812,540,580,298,305,
- 56,203,215,4531,3508,202,212,213,214,216,
- 2715,169,2515,2552,2733,228,588,35,2111,391,
- 2627,168,156,178,167,170,171,172,173,174,
- 603,180,3402,345,540,580,69,499,1137,203,
- 215,4531,4665,202,212,213,214,216,56,169,
- 56,274,1979,228,1198,2082,928,2408,322,168,
- 156,176,167,170,171,172,173,174,689,180,
- 3402,56,540,580,526,1058,1614,203,215,4531,
- 156,202,212,213,214,216,2448,169,395,430,
- 2075,228,2208,2652,1789,3701,296,168,156,177,
- 167,170,171,172,173,174,775,180,3402,3507,
- 540,580,2717,342,56,203,215,4531,4111,202,
- 212,213,214,216,2775,169,297,2505,2733,228,
- 588,35,2111,391,1778,168,156,187,167,170,
- 171,172,173,174,2516,180,3402,345,1250,580,
- 2585,179,2733,203,215,4531,737,202,212,213,
- 214,216,2693,169,2615,49,932,35,2111,391,
- 4246,2690,1614,168,46,4317,167,170,171,172,
- 173,174,1691,35,1047,32,4780,4564,27,30,
- 31,1063,1231,341,28,2276,2453,922,56,4318,
- 2249,49,1339,2646,1198,3250,445,2733,459,861,
- 1996,47,1606,540,2717,2042,1480,56,2646,3541,
- 4788,4491,2733,56,2708,56,2690,4184,353,4751,
- 156,1780,228,588,35,2111,391,2699,363,156,
- 538,2690,321,2542,323,499,316,1946,180,3402,
- 4686,737,580,198,3361,337,203,215,4531,315,
- 202,212,213,214,216,3203,169,499,435,737,
- 2717,354,4703,947,334,232,168,540,192,167,
- 170,171,172,173,174,2618,499,346,1774,1018,
- 351,4724,2689,508,232,1939,228,56,250,230,
- 231,1152,2728,156,4522,308,312,946,508,197,
- 2622,1997,180,3402,3541,2733,580,253,230,231,
- 203,215,4531,4339,202,212,213,214,216,4208,
- 169,1033,3541,2714,228,540,506,507,2717,1614,
- 168,3822,186,167,170,171,172,173,174,336,
- 337,505,507,56,228,2683,1167,1681,205,215,
- 4531,156,204,212,213,214,216,3488,337,56,
- 180,3402,454,4061,580,2734,544,304,203,215,
- 4531,2750,202,212,213,214,216,322,169,206,
- 208,210,3417,3726,523,207,209,2340,168,1588,
- 194,167,170,171,172,173,174,3121,35,1047,
- 32,2735,1384,27,30,31,1063,1231,26,28,
- 1037,262,25,23,50,1280,106,76,77,108,
- 532,2625,3121,35,1047,32,2346,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,108,306,2753,3121,35,1047,
- 32,2716,1384,27,30,31,1063,1231,26,28,
- 1037,262,25,23,50,1280,106,76,77,108,
- 2790,2764,3121,2113,1047,2121,2757,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,84,3121,35,1047,32,2761,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,83,3121,35,
- 1047,32,2791,1384,27,30,31,1063,1231,26,
- 28,1037,262,25,23,50,1280,106,76,77,
- 82,3121,35,1047,32,2747,1384,27,30,31,
- 1063,1231,26,28,1037,262,25,23,50,1280,
- 106,76,77,81,3121,35,1047,32,2751,1384,
- 27,30,31,1063,1231,26,28,1037,262,25,
- 23,50,1280,106,76,77,80,3121,35,1047,
- 32,2782,1384,27,30,31,1063,1231,26,28,
- 1037,262,25,23,50,1280,106,76,77,79,
- 3121,35,1047,32,2789,1384,27,30,31,1063,
- 1231,26,28,1037,262,25,23,50,1280,106,
- 76,77,78,2950,35,1047,32,87,1384,27,
- 30,31,1063,1231,26,28,1037,262,25,23,
- 50,1280,106,76,77,104,3121,35,1047,32,
- 2763,1384,27,30,31,1063,1231,26,28,1037,
- 262,25,23,50,1280,106,76,77,110,3121,
- 35,1047,32,2765,1384,27,30,31,1063,1231,
- 26,28,1037,262,25,23,50,1280,106,76,
- 77,109,3121,35,1047,32,2769,1384,27,30,
- 31,1063,1231,26,28,1037,262,25,23,50,
- 1280,106,76,77,107,3121,35,1047,32,415,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,106,76,77,105,1988,35,
- 3645,32,4780,4564,27,30,31,1063,1231,341,
- 28,322,1952,35,1047,32,4780,4564,27,30,
- 31,1063,1231,341,28,3066,35,1047,32,2717,
- 1384,27,30,31,1063,1231,26,28,1037,262,
- 25,23,50,1280,86,76,77,1562,1614,2773,
- 56,2733,1354,1354,1198,1878,1198,1198,321,2542,
- 323,1823,316,1946,2375,2733,2774,56,201,173,
- 228,1198,321,2542,323,812,316,1946,2717,385,
- 156,380,160,160,228,2717,415,56,1354,315,
- 2330,1989,1198,2792,205,215,4531,156,204,212,
- 213,214,216,588,35,2444,3600,2349,205,215,
- 4531,2717,204,212,213,214,216,199,160,929,
- 35,2111,391,4029,300,206,208,210,3417,56,
- 217,207,209,970,1910,309,312,946,2733,206,
- 208,210,3417,384,217,207,209,1614,1860,1903,
- 4891,2548,56,737,49,56,2733,228,2717,2733,
- 3220,1614,4363,1996,47,421,422,3623,56,56,
- 2793,2717,3472,1198,3348,345,4363,875,345,2855,
- 3358,205,215,4531,2756,204,212,213,214,216,
- 3280,35,2111,391,3396,746,2343,222,2797,156,
- 3062,2797,2795,238,262,1243,35,399,2200,2563,
- 193,2251,206,208,210,3417,3541,217,207,209,
- 2796,2070,35,1047,32,274,4635,27,30,31,
- 1063,1231,341,28,1952,35,1047,32,4780,4564,
- 27,30,31,1063,1231,341,28,3677,2872,4363,
- 383,332,337,232,1490,35,1047,32,2711,4564,
- 27,30,31,1063,1231,341,28,2788,1375,1614,
- 1614,3203,2733,4788,2042,1337,236,230,231,4788,
- 335,321,2542,323,5438,317,1946,275,5438,1614,
- 1614,2690,5438,406,321,2542,323,1649,316,1946,
- 2135,2733,3499,1724,5438,4639,243,246,249,252,
- 1455,4270,3868,1736,318,3575,323,2733,3203,5438,
- 228,919,1810,4221,3203,1354,1354,334,5438,1198,
- 1198,5438,5438,334,5438,5438,228,588,35,2444,
- 282,5438,5438,5438,205,215,4531,5438,204,212,
- 213,214,216,1614,5438,160,160,4522,362,5438,
- 205,215,4531,3140,204,212,213,214,216,5438,
- 5438,5438,2025,3326,3345,206,208,210,3417,2084,
- 522,207,209,2733,5438,2722,3621,5438,5438,540,
- 5438,206,208,210,3417,2171,218,207,209,2733,
- 5438,3103,228,5438,5438,56,1375,5438,4218,1198,
- 2733,4788,5438,5438,2981,156,5438,5438,228,5438,
- 5438,2825,3181,5438,180,3402,205,215,4531,2690,
- 204,212,213,214,216,156,1354,5438,5438,5438,
- 1198,737,205,215,4531,2082,204,212,213,214,
- 216,5438,195,588,35,296,3203,206,208,210,
- 3417,5438,307,207,209,334,160,1243,35,399,
- 432,5438,1976,206,208,210,3417,4788,502,207,
- 209,2126,35,1047,32,2479,4564,27,30,31,
- 1063,1231,341,28,3671,3140,362,1180,5438,5438,
- 5438,2733,4816,1285,3541,5438,5438,2733,4816,5438,
- 2025,3326,3345,5438,929,35,2111,391,5438,5438,
- 228,5438,3203,588,35,296,228,5438,5438,5438,
- 5438,335,3629,5438,5438,932,35,2111,391,3643,
- 337,318,3575,323,828,410,4304,5438,354,49,
- 828,410,4304,5438,5438,5438,3628,5438,1996,3013,
- 5438,5438,5438,5438,348,1774,1018,351,4733,196,
- 49,5438,3306,5438,4298,411,412,413,3417,1996,
- 47,411,412,413,3417,929,35,2111,391,929,
- 35,2111,391,2621,5438,5438,5438,5438,3382,5438,
- 929,35,2111,391,3382,5438,5438,929,35,2111,
- 391,5438,5438,5438,5438,2121,35,2111,391,5438,
- 49,5438,5438,5438,49,5438,4135,56,5438,1996,
- 570,1198,5438,1996,47,49,929,35,2111,391,
- 5438,2981,49,3306,1996,47,5438,939,5438,5438,
- 49,1996,47,929,35,2111,391,156,2160,1996,
- 47,5438,414,416,5438,2247,5438,4340,414,417,
- 5438,49,5438,4503,2136,35,2111,391,5438,5438,
- 1996,47,5438,2731,5438,5438,1153,540,49,4553,
- 5438,56,5438,5438,2597,540,5438,1996,47,5438,
- 5438,2647,5438,56,56,2733,345,540,2733,49,
- 5438,3523,5438,156,345,5438,5438,5438,1996,47,
- 5438,156,5438,188,2690,5438,345,345,5438,4284,
- 2042,1731,4573,156,5438,4788,5438,2797,588,35,
- 2111,391,5438,1602,5438,5438,5438,1688,5438,2797,
- 2797,588,35,2111,391,588,35,2111,391,1896,
- 2324,5438,588,35,2111,391,588,35,2111,391,
- 56,5438,5438,49,2733,56,5438,5438,5438,540,
- 3203,5438,1996,1274,5438,190,49,5438,5438,334,
- 49,508,5438,345,5438,1996,2521,49,345,1996,
- 2757,49,5438,5438,5438,156,1996,673,56,56,
- 1996,2732,540,540,56,188,2797,5438,2733,4271,
- 5438,4284,5438,56,5438,5438,2425,2733,5438,56,
- 5438,345,345,2733,505,507,56,345,156,156,
- 2733,2481,5438,5438,5438,1198,345,5438,188,188,
- 5438,5438,345,5438,4284,4284,5438,5438,5438,345,
- 2797,5438,5438,5438,5438,4161,5438,5438,5438,2797,
- 2032,156,5438,5438,5438,2797,4114,4197,5438,512,
- 5438,162,2797,5438,5438,510,5438,5438,5438,5438,
- 5438,5438,537,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 4211,4319,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,4403,5438,0,39,5453,0,39,5452,0,
- 1511,29,0,443,1554,0,457,1597,0,38,
- 622,0,38,5453,0,38,5452,0,2634,126,
- 0,1,447,0,461,865,0,460,1281,0,
- 2976,91,0,1511,390,0,35,33,0,32,
- 34,0,39,622,0,1,729,0,1,5711,
+ 198,198,198,78,81,81,175,175,133,133,
+ 134,134,134,134,134,134,3,135,135,132,
+ 132,111,111,84,79,75,75,163,163,112,
+ 112,199,199,199,136,136,126,126,200,200,
+ 176,176,1119,35,2498,2475,1791,2706,27,30,
+ 31,1065,1233,26,28,2456,263,25,23,50,
+ 1282,106,76,77,108,73,1291,1320,1310,1424,
+ 1377,1587,1777,1501,1716,71,1685,275,1775,1826,
+ 143,1592,1882,158,144,1631,2950,1892,35,1049,
+ 32,4458,4566,27,30,31,1065,1233,342,28,
+ 2450,587,4081,1280,2735,233,1869,35,1049,32,
+ 4782,4566,27,30,31,1065,1233,342,28,1547,
+ 354,666,3378,346,587,2115,2446,34,236,231,
+ 232,2275,1148,535,1504,35,1049,32,1330,276,
+ 41,30,31,1065,1233,1618,2799,322,2544,324,
+ 182,317,1948,587,35,3305,538,1631,243,246,
+ 249,252,1457,355,2898,1088,322,2544,324,743,
+ 317,1948,666,921,1857,1312,1476,3584,501,347,
+ 1776,1020,352,2898,327,35,281,1941,565,4803,
+ 3186,739,3127,3504,3523,4242,2320,35,1049,32,
+ 2735,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,108,346,
+ 1291,1320,1310,1424,1377,1587,823,1501,1716,3442,
+ 1685,155,1775,1826,143,70,2744,521,144,1225,
+ 653,1330,2799,587,35,2446,3304,502,674,35,
+ 2113,392,522,2320,35,1049,32,2735,1386,27,
+ 30,31,1065,1233,26,28,1039,263,25,23,
+ 50,1282,106,76,77,108,346,1291,1320,1310,
+ 1424,1377,1587,49,1501,1716,71,1685,322,1775,
+ 1826,143,1998,3211,521,144,3109,291,1005,2799,
+ 3689,3442,233,327,35,281,2727,517,4807,522,
+ 1217,35,1049,32,2685,3195,27,30,31,1065,
+ 1233,57,28,2619,1446,245,231,232,3146,4790,
+ 1621,3188,1240,3594,2320,35,1049,32,2735,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,346,1291,1320,
+ 1310,1424,1377,1587,517,1501,1716,1088,1685,408,
+ 1775,1826,143,1352,3205,521,144,587,35,284,
+ 2799,1446,155,2979,155,3194,4790,3458,3188,4171,
+ 522,2528,35,1049,32,2735,1386,27,30,31,
+ 1065,1233,26,28,1039,263,25,23,50,1282,
+ 106,76,77,108,346,1291,1320,1310,1424,1377,
+ 1587,1611,1501,1716,135,1685,1766,1775,1826,143,
+ 1603,3205,521,144,881,587,3584,2799,1618,3422,
+ 335,587,35,2113,392,517,2236,522,1356,464,
+ 61,1381,35,1049,32,1853,3195,27,30,31,
+ 1065,1233,56,28,1642,88,3229,94,102,3188,
+ 1322,4004,2663,35,1049,32,435,1386,27,30,
+ 31,1065,1233,26,28,1039,263,25,23,50,
+ 1282,106,76,77,108,2086,1291,1320,1310,1424,
+ 1377,1587,518,1501,1716,2619,1685,425,1775,1826,
+ 143,42,3264,382,144,3661,2389,35,1049,32,
+ 1456,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,108,1377,
+ 1291,1320,1310,1424,1377,1587,1697,1501,1716,2229,
+ 1685,2125,1775,1826,143,824,292,382,144,3661,
+ 1906,2837,35,1049,32,2230,1386,27,30,31,
+ 1065,1233,26,28,1039,263,25,23,50,1282,
+ 106,76,77,108,4138,1291,1320,1310,1424,1377,
+ 1587,60,1501,1716,1611,1685,356,1775,3232,164,
+ 389,383,1802,2447,3127,35,1049,32,4641,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,447,1291,1320,
+ 1310,1424,1377,1587,315,1501,1716,582,1685,69,
+ 1775,3232,164,330,390,383,1802,89,1611,49,
+ 102,4139,1689,1200,2762,752,2595,35,1049,32,
+ 4107,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,108,156,
+ 1291,1320,1310,1424,1377,1587,359,1501,1716,1426,
+ 1685,2029,1775,1826,143,2972,536,382,144,3661,
+ 2892,35,1049,32,3105,1386,27,30,31,1065,
+ 1233,26,28,1039,263,25,23,50,1282,106,
+ 76,77,108,393,1291,1320,1310,1424,1377,1587,
+ 93,1501,1716,2246,1685,2075,1775,1826,143,4431,
+ 2315,158,144,3127,35,1049,32,1943,1386,27,
+ 30,31,1065,1233,26,28,1039,263,25,23,
+ 50,1282,106,76,77,108,527,1291,1320,1310,
+ 1424,1377,1587,434,1501,1716,56,1685,3515,1775,
+ 3232,164,2249,1088,380,383,1802,2892,35,1049,
+ 32,413,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,108,
+ 1449,1291,1320,1310,1424,1377,1587,3130,1501,1716,
+ 64,1685,2038,1775,1826,143,3378,4790,376,144,
+ 1718,35,1049,32,427,56,40,30,31,1065,
+ 1233,1906,2892,35,1049,32,565,1386,27,30,
+ 31,1065,1233,26,28,1039,263,25,23,50,
+ 1282,106,76,77,108,463,1291,1320,1310,1424,
+ 1377,1587,3205,1501,1716,1800,1685,2288,1775,1826,
+ 143,336,1088,376,144,332,2156,35,2113,392,
+ 2437,2892,35,1049,32,2323,1386,27,30,31,
+ 1065,1233,26,28,1039,263,25,23,50,1282,
+ 106,76,77,108,375,1291,1320,1310,1424,1377,
+ 1587,49,1501,1716,330,1685,1088,1775,1826,143,
+ 1998,675,376,144,2461,35,1049,32,3543,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,1229,1291,1320,
+ 1310,1424,1377,1587,4027,1501,1716,358,1685,374,
+ 1775,1826,143,331,338,142,144,536,2892,35,
+ 1049,32,1611,1386,27,30,31,1065,1233,26,
+ 28,1039,263,25,23,50,1282,106,76,77,
+ 108,494,1291,1320,1310,1424,1377,1587,51,1501,
+ 1716,1611,1685,49,1775,1826,143,696,372,159,
+ 144,2892,35,1049,32,3266,1386,27,30,31,
+ 1065,1233,26,28,1039,263,25,23,50,1282,
+ 106,76,77,108,56,1291,1320,1310,1424,1377,
+ 1587,1511,1501,1716,582,1685,49,1775,1826,143,
+ 753,451,155,144,2892,35,1049,32,379,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,1243,1291,1320,
+ 1310,1424,1377,1587,1900,1501,1716,1611,1685,49,
+ 1775,1826,143,834,1618,154,144,2892,35,1049,
+ 32,882,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,108,
+ 56,1291,1320,1310,1424,1377,1587,24,1501,1716,
+ 582,1685,49,1775,1826,143,4549,3223,153,144,
+ 2892,35,1049,32,379,1386,27,30,31,1065,
+ 1233,26,28,1039,263,25,23,50,1282,106,
+ 76,77,108,377,1291,1320,1310,1424,1377,1587,
+ 3241,1501,1716,1906,1685,400,1775,1826,143,1088,
+ 1618,152,144,2892,35,1049,32,1611,1386,27,
+ 30,31,1065,1233,26,28,1039,263,25,23,
+ 50,1282,106,76,77,108,1409,1291,1320,1310,
+ 1424,1377,1587,69,1501,1716,1611,1685,49,1775,
+ 1826,143,3010,1618,151,144,2892,35,1049,32,
+ 3406,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,108,3589,
+ 1291,1320,1310,1424,1377,1587,68,1501,1716,582,
+ 1685,329,1775,1826,143,1105,1877,150,144,2892,
+ 35,1049,32,530,1386,27,30,31,1065,1233,
+ 26,28,1039,263,25,23,50,1282,106,76,
+ 77,108,1611,1291,1320,1310,1424,1377,1587,326,
+ 1501,1716,1611,1685,49,1775,1826,143,585,536,
+ 149,144,2892,35,1049,32,1620,1386,27,30,
+ 31,1065,1233,26,28,1039,263,25,23,50,
+ 1282,106,76,77,108,4181,1291,1320,1310,1424,
+ 1377,1587,357,1501,1716,582,1685,49,1775,1826,
+ 143,676,1618,148,144,2892,35,1049,32,529,
+ 1386,27,30,31,1065,1233,26,28,1039,263,
+ 25,23,50,1282,106,76,77,108,416,1291,
+ 1320,1310,1424,1377,1587,53,1501,1716,1618,1685,
+ 49,1775,1826,143,1375,1618,147,144,2892,35,
+ 1049,32,1706,1386,27,30,31,1065,1233,26,
+ 28,1039,263,25,23,50,1282,106,76,77,
+ 108,87,1291,1320,1310,1424,1377,1587,52,1501,
+ 1716,1618,1685,49,1775,1826,143,2876,1988,146,
+ 144,2892,35,1049,32,1447,1386,27,30,31,
+ 1065,1233,26,28,1039,263,25,23,50,1282,
+ 106,76,77,108,353,1291,1320,1310,1424,1377,
+ 1587,2437,1501,1716,1618,1685,49,1775,1826,143,
+ 2994,2762,145,144,2892,35,1049,32,1174,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,90,1291,1320,
+ 1310,1424,1377,1587,327,1501,1716,1618,1685,49,
+ 1775,1826,143,2856,1618,140,144,3011,35,1049,
+ 32,2448,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,108,
+ 2072,1291,1320,1310,1424,1377,1587,2287,1501,1716,
+ 2236,1685,49,1775,1826,143,3448,1618,189,144,
+ 3127,35,1049,32,1088,1386,27,30,31,1065,
+ 1233,26,28,1039,263,25,23,50,1282,106,
+ 76,77,108,527,1291,1320,1310,1424,1377,1587,
+ 67,1501,1716,2563,1685,1324,1775,3232,164,3127,
+ 35,1049,32,1445,1386,27,30,31,1065,1233,
+ 26,28,1039,263,25,23,50,1282,106,76,
+ 77,108,1597,1291,1320,1310,1424,1377,1587,1986,
+ 1501,1716,451,1685,3254,1775,3232,164,587,35,
+ 2551,2289,587,35,2113,392,97,3127,35,1049,
+ 32,296,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,108,
+ 2556,1291,1320,1310,1424,1377,1587,456,1501,1716,
+ 1795,1685,160,1775,3232,164,3182,35,1049,32,
+ 426,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,108,406,
+ 1291,1320,1310,1424,1377,1587,155,1501,1716,410,
+ 1685,4587,1775,3232,164,587,35,2446,278,587,
+ 35,2113,392,246,3127,35,1049,32,429,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,1795,1291,1320,
+ 1310,1424,1377,1587,438,1501,1716,49,1685,69,
+ 3032,657,1864,3127,35,1049,32,4145,1386,27,
+ 30,31,1065,1233,26,28,1039,263,25,23,
+ 50,1282,106,76,77,108,302,1291,1320,1310,
+ 1424,1377,1587,752,1501,1716,590,3006,3127,35,
+ 1049,32,1618,1386,27,30,31,1065,1233,26,
+ 28,1039,263,25,23,50,1282,106,76,77,
+ 108,1618,1291,1320,1310,1424,1377,1587,1330,1501,
+ 2974,3127,35,1049,32,66,1386,27,30,31,
+ 1065,1233,26,28,1039,263,25,23,50,1282,
+ 106,76,77,108,65,1291,1320,1310,1424,1377,
+ 1587,288,2975,3127,35,1049,32,2991,1386,27,
+ 30,31,1065,1233,26,28,1039,263,25,23,
+ 50,1282,106,76,77,108,1951,1291,1320,1310,
+ 1424,1377,2889,3127,35,1049,32,848,1386,27,
+ 30,31,1065,1233,26,28,1039,263,25,23,
+ 50,1282,106,76,77,108,2687,1291,1320,1310,
+ 1424,2895,3127,35,1049,32,1878,1386,27,30,
+ 31,1065,1233,26,28,1039,263,25,23,50,
+ 1282,106,76,77,108,3327,1291,1320,1310,1424,
+ 2923,1522,35,1049,32,4782,4637,27,30,31,
+ 1065,1233,342,28,3127,35,1049,32,1457,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,442,1291,1320,
+ 1310,2801,49,2375,35,279,1200,1785,35,1049,
+ 32,3205,4814,27,30,31,1065,1233,59,28,
+ 335,322,2544,324,1964,317,1948,1718,35,1049,
+ 32,2694,156,2200,30,31,1065,1233,316,327,
+ 35,457,3016,408,4652,1618,3127,35,1049,32,
+ 2808,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,108,2968,
+ 1291,1320,1310,2804,1101,35,2446,278,64,587,
+ 35,2113,392,580,309,313,948,2347,35,1049,
+ 32,3559,4814,27,30,31,1065,1233,26,28,
+ 328,1336,515,1718,35,1049,32,1015,2726,2277,
+ 30,31,1065,1233,437,1618,3127,35,1049,32,
+ 3824,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,108,3046,
+ 1291,1320,1310,2812,3127,35,1049,32,3189,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,1330,1291,1320,
+ 1310,2861,2067,35,1049,32,4326,4566,27,30,
+ 31,1065,1233,342,28,241,2216,35,2113,392,
+ 2453,35,282,1401,35,3647,32,4782,4637,27,
+ 30,31,1065,1233,342,28,1795,587,35,2113,
+ 392,450,3772,3778,1312,3237,35,2113,392,2444,
+ 748,49,587,4222,587,35,2113,392,238,263,
+ 1998,2292,322,2544,324,1234,317,1948,1618,2411,
+ 35,279,275,3205,2727,222,1378,2560,355,3436,
+ 275,1200,335,322,2544,324,4389,317,1948,49,
+ 587,3454,2446,74,347,1776,1020,352,1998,603,
+ 814,55,3426,1101,35,2446,3456,156,233,2151,
+ 2547,846,2808,3507,932,3422,201,4130,1956,35,
+ 1049,32,1311,4637,27,30,31,1065,1233,342,
+ 28,236,231,232,277,4155,2315,1618,3127,35,
+ 1049,32,276,1386,27,30,31,1065,1233,26,
+ 28,1039,263,25,23,50,1282,106,76,77,
+ 85,243,246,249,252,1457,1476,3584,3205,884,
+ 54,1548,757,35,2113,392,921,336,322,2544,
+ 324,1591,320,1948,1679,355,2425,44,3264,369,
+ 421,423,3625,3186,739,3127,3504,3523,4242,1278,
+ 631,347,1776,1020,352,2562,653,275,1618,345,
+ 3127,35,1049,32,2190,1386,27,30,31,1065,
+ 1233,26,28,1039,263,25,23,50,1282,106,
+ 76,77,108,2643,1291,1320,2871,3127,35,1049,
+ 32,325,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,108,
+ 259,1291,1320,2874,542,1785,35,1049,32,3349,
+ 4814,27,30,31,1065,1233,58,28,587,35,
+ 2446,280,1088,229,1707,2139,72,291,49,2241,
+ 156,3044,1200,2576,4790,394,431,1390,1,180,
+ 3404,49,542,582,2425,3009,49,204,216,4533,
+ 1200,203,213,214,215,217,486,169,1984,2425,
+ 1879,229,2826,3594,2735,2488,2066,168,156,183,
+ 167,170,171,172,173,174,4100,180,3404,3205,
+ 1879,582,1127,2692,2735,204,216,4533,2979,203,
+ 213,214,215,217,752,169,49,843,35,457,
+ 3271,2132,4652,2692,98,168,181,184,167,170,
+ 171,172,173,174,2077,35,1049,32,4326,4566,
+ 27,30,31,1065,1233,342,28,3127,35,1049,
+ 32,1330,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,108,
+ 363,1291,2563,395,431,2631,1244,35,297,2050,
+ 4659,2225,289,2735,2635,3328,3347,49,397,431,
+ 363,3030,96,2235,322,2544,324,1240,317,1948,
+ 2770,2988,346,2350,3368,3328,3347,1016,35,400,
+ 355,531,1364,35,1049,32,1267,4637,27,30,
+ 31,1065,1233,342,28,1051,347,1776,1020,352,
+ 3127,35,1049,32,532,1386,27,30,31,1065,
+ 1233,26,28,1039,263,25,23,50,1282,106,
+ 76,77,108,1618,1291,2603,3353,49,761,49,
+ 233,542,3205,3561,1726,929,35,2113,392,240,
+ 263,336,322,2544,324,1226,318,1948,345,924,
+ 346,2085,542,248,231,232,101,156,355,454,
+ 3772,3778,752,1016,35,3312,2041,1604,1482,2310,
+ 49,229,2280,2799,349,1776,1020,352,156,1998,
+ 2621,49,528,938,3847,4205,431,180,3404,233,
+ 542,582,1795,2862,2783,204,216,4533,49,203,
+ 213,214,215,217,2416,169,49,1998,2158,229,
+ 4099,2425,241,231,232,168,156,4203,167,170,
+ 171,172,173,174,517,180,3404,1814,542,582,
+ 299,306,49,204,216,4533,3510,203,213,214,
+ 215,217,2719,169,2419,2517,2735,229,587,35,
+ 2113,392,2289,168,156,178,167,170,171,172,
+ 173,174,603,180,3404,346,542,582,2226,155,
+ 1139,204,216,4533,4667,203,213,214,215,217,
+ 49,169,49,275,1981,229,1200,2143,930,2491,
+ 752,168,156,176,167,170,171,172,173,174,
+ 689,180,3404,49,542,582,528,1060,1618,204,
+ 216,4533,156,203,213,214,215,217,2519,169,
+ 396,431,2077,229,2155,2692,1244,3703,297,168,
+ 156,177,167,170,171,172,173,174,775,180,
+ 3404,3509,542,582,1795,343,49,204,216,4533,
+ 4113,203,213,214,215,217,2778,169,298,2153,
+ 2735,229,587,35,2113,392,2522,168,156,187,
+ 167,170,171,172,173,174,2557,180,3404,346,
+ 2328,582,2496,179,2735,204,216,4533,1800,203,
+ 213,214,215,217,2695,169,2586,49,929,35,
+ 2113,392,4248,2692,1618,168,46,4319,167,170,
+ 171,172,173,174,1695,35,1049,32,4782,4566,
+ 27,30,31,1065,1233,342,28,2421,2555,924,
+ 49,4320,2253,49,1341,2651,1200,3252,446,2735,
+ 460,861,1998,47,1610,542,1795,1446,1482,49,
+ 2651,3543,4790,4493,2735,49,2710,49,2692,4186,
+ 354,4753,156,1784,229,587,35,2113,392,2697,
+ 364,156,540,2692,322,2544,324,155,317,1948,
+ 180,3404,4688,1800,582,199,3363,338,204,216,
+ 4533,316,203,213,214,215,217,3205,169,155,
+ 436,1800,1795,355,4705,947,335,233,168,542,
+ 192,167,170,171,172,173,174,2626,155,347,
+ 1776,1020,352,4726,2584,509,233,1941,229,49,
+ 251,231,232,1154,2591,156,4524,309,313,948,
+ 509,198,2690,2001,180,3404,3543,2735,582,254,
+ 231,232,204,216,4533,4341,203,213,214,215,
+ 217,4210,169,1033,3543,2703,229,542,507,508,
+ 1795,1618,168,3824,186,167,170,171,172,173,
+ 174,337,338,506,508,49,229,1738,2585,1683,
+ 206,216,4533,156,205,213,214,215,217,3490,
+ 338,49,180,3404,455,4063,582,2743,546,305,
+ 204,216,4533,2658,203,213,214,215,217,752,
+ 169,207,209,211,3419,3728,524,208,210,1979,
+ 168,2720,195,167,170,171,172,173,174,3127,
+ 35,1049,32,2732,1386,27,30,31,1065,1233,
+ 26,28,1039,263,25,23,50,1282,106,76,
+ 77,108,534,2627,3127,35,1049,32,1713,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,108,307,2755,3127,
+ 35,1049,32,2718,1386,27,30,31,1065,1233,
+ 26,28,1039,263,25,23,50,1282,106,76,
+ 77,108,2741,2766,3127,2115,1049,2123,2751,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,84,3127,35,1049,
+ 32,2758,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,83,
+ 3127,35,1049,32,2753,1386,27,30,31,1065,
+ 1233,26,28,1039,263,25,23,50,1282,106,
+ 76,77,82,3127,35,1049,32,2733,1386,27,
+ 30,31,1065,1233,26,28,1039,263,25,23,
+ 50,1282,106,76,77,81,3127,35,1049,32,
+ 2739,1386,27,30,31,1065,1233,26,28,1039,
+ 263,25,23,50,1282,106,76,77,80,3127,
+ 35,1049,32,2793,1386,27,30,31,1065,1233,
+ 26,28,1039,263,25,23,50,1282,106,76,
+ 77,79,3127,35,1049,32,2794,1386,27,30,
+ 31,1065,1233,26,28,1039,263,25,23,50,
+ 1282,106,76,77,78,2956,35,1049,32,87,
+ 1386,27,30,31,1065,1233,26,28,1039,263,
+ 25,23,50,1282,106,76,77,104,3127,35,
+ 1049,32,2763,1386,27,30,31,1065,1233,26,
+ 28,1039,263,25,23,50,1282,106,76,77,
+ 110,3127,35,1049,32,2764,1386,27,30,31,
+ 1065,1233,26,28,1039,263,25,23,50,1282,
+ 106,76,77,109,3127,35,1049,32,2765,1386,
+ 27,30,31,1065,1233,26,28,1039,263,25,
+ 23,50,1282,106,76,77,107,3127,35,1049,
+ 32,150,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,106,76,77,105,
+ 1992,35,3647,32,4782,4566,27,30,31,1065,
+ 1233,342,28,752,1869,35,1049,32,4782,4566,
+ 27,30,31,1065,1233,342,28,3072,35,1049,
+ 32,1795,1386,27,30,31,1065,1233,26,28,
+ 1039,263,25,23,50,1282,86,76,77,1566,
+ 1618,2769,49,2735,1355,1355,1200,2240,1200,1200,
+ 322,2544,324,1827,317,1948,1977,2735,2776,49,
+ 202,173,229,1200,322,2544,324,814,317,1948,
+ 1795,386,156,381,160,160,229,1795,150,2771,
+ 1355,316,2332,1991,1200,2795,206,216,4533,156,
+ 205,213,214,215,217,587,35,2446,3602,2351,
+ 206,216,4533,1795,205,213,214,215,217,200,
+ 160,674,35,2113,392,4031,301,207,209,211,
+ 3419,49,218,208,210,972,1914,310,313,948,
+ 2735,207,209,211,3419,385,218,208,210,1618,
+ 1862,1905,4893,2796,49,1800,49,49,2735,229,
+ 1795,2735,3222,1618,4365,1998,47,422,423,3625,
+ 49,49,2790,1795,3474,1200,3350,346,4365,877,
+ 346,2417,3360,206,216,4533,2758,205,213,214,
+ 215,217,3286,35,2113,392,3398,748,2485,223,
+ 2799,156,3064,2799,2777,239,263,1016,35,400,
+ 2202,2565,193,2253,207,209,211,3419,3543,218,
+ 208,210,2799,1956,35,1049,32,275,4637,27,
+ 30,31,1065,1233,342,28,1869,35,1049,32,
+ 4782,4566,27,30,31,1065,1233,342,28,3679,
+ 2800,4365,384,333,338,233,1494,35,1049,32,
+ 2713,4566,27,30,31,1065,1233,342,28,2798,
+ 1901,1618,1618,3205,2735,4790,1446,1990,237,231,
+ 232,4790,336,322,2544,324,5443,318,1948,276,
+ 5443,1618,1618,2692,5443,407,322,2544,324,1653,
+ 317,1948,2447,2735,3501,1726,5443,4641,244,247,
+ 250,253,1457,4272,3870,1740,319,3577,324,2735,
+ 3205,5443,229,921,1812,4223,3205,1355,1355,335,
+ 5443,1200,1200,5443,5443,335,5443,5443,229,587,
+ 35,2446,283,5443,5443,5443,206,216,4533,5443,
+ 205,213,214,215,217,1618,5443,160,160,4524,
+ 363,5443,206,216,4533,3142,205,213,214,215,
+ 217,5443,5443,5443,2027,3328,3347,207,209,211,
+ 3419,2088,523,208,210,2735,5443,2560,3623,5443,
+ 5443,542,5443,207,209,211,3419,2175,219,208,
+ 210,2735,5443,3105,229,5443,5443,49,1901,5443,
+ 4220,1200,2735,4790,5443,5443,2983,156,5443,5443,
+ 229,5443,5443,2827,3183,5443,180,3404,206,216,
+ 4533,2692,205,213,214,215,217,156,1355,5443,
+ 5443,5443,1200,1800,206,216,4533,2084,205,213,
+ 214,215,217,5443,196,587,35,297,3205,207,
+ 209,211,3419,5443,308,208,210,335,160,1016,
+ 35,400,433,5443,1980,207,209,211,3419,4790,
+ 503,208,210,2160,35,1049,32,2481,4566,27,
+ 30,31,1065,1233,342,28,3673,3142,363,1180,
+ 5443,5443,5443,2735,4818,1286,3543,5443,5443,2735,
+ 4818,5443,2027,3328,3347,5443,674,35,2113,392,
+ 5443,5443,229,5443,3205,587,35,297,229,5443,
+ 5443,5443,5443,336,3631,5443,5443,929,35,2113,
+ 392,3645,338,319,3577,324,830,411,4306,5443,
+ 355,49,830,411,4306,5443,5443,5443,3630,5443,
+ 1998,3015,5443,5443,5443,5443,349,1776,1020,352,
+ 4735,197,49,5443,3308,5443,4300,412,413,414,
+ 3419,1998,47,412,413,414,3419,674,35,2113,
+ 392,674,35,2113,392,2623,5443,5443,5443,5443,
+ 3384,5443,674,35,2113,392,3384,5443,5443,674,
+ 35,2113,392,5443,5443,5443,5443,1649,35,2113,
+ 392,5443,49,5443,5443,5443,49,5443,4137,49,
+ 5443,1998,572,1200,5443,1998,47,49,674,35,
+ 2113,392,5443,2983,49,3308,1998,47,5443,941,
+ 5443,5443,49,1998,47,674,35,2113,392,156,
+ 2162,1998,47,5443,415,417,5443,2249,5443,4342,
+ 415,418,5443,49,5443,4505,2168,35,2113,392,
+ 5443,5443,1998,47,5443,2721,5443,5443,1155,542,
+ 49,4555,5443,49,5443,5443,2599,542,5443,1998,
+ 47,5443,5443,2686,5443,49,49,2735,346,542,
+ 2735,49,5443,3525,5443,156,346,5443,5443,5443,
+ 1998,47,5443,156,5443,188,2692,5443,346,346,
+ 5443,4286,1446,1733,4575,156,5443,4790,5443,2799,
+ 587,35,2113,392,5443,1604,5443,5443,5443,1690,
+ 5443,2799,2799,587,35,2113,392,587,35,2113,
+ 392,1898,2326,5443,587,35,2113,392,587,35,
+ 2113,392,49,5443,5443,49,2735,49,5443,5443,
+ 5443,542,3205,5443,1998,1276,5443,190,49,5443,
+ 5443,335,49,509,5443,346,5443,1998,2523,49,
+ 346,1998,2759,49,5443,5443,5443,156,1998,675,
+ 49,49,1998,2734,542,542,49,188,2799,5443,
+ 2735,4273,5443,4286,5443,49,5443,5443,2427,2735,
+ 5443,49,5443,346,346,2735,506,508,49,346,
+ 156,156,2735,2516,5443,5443,5443,1200,346,5443,
+ 188,188,5443,5443,346,5443,4286,4286,5443,5443,
+ 5443,346,2799,5443,5443,5443,5443,4163,5443,5443,
+ 5443,2799,2034,156,5443,5443,5443,2799,4116,4199,
+ 5443,513,5443,162,2799,5443,5443,511,5443,5443,
+ 5443,5443,5443,5443,539,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,4213,4321,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,4405,5443,0,39,5458,0,39,
+ 5457,0,1513,29,0,444,1556,0,458,1599,
+ 0,38,624,0,38,5458,0,38,5457,0,
+ 2636,126,0,1,448,0,462,867,0,461,
+ 1283,0,2978,91,0,1513,391,0,35,33,
+ 0,32,34,0,39,624,0,1,731,0,
+ 1,5717,0,1,5716,0,1,5715,0,1,
+ 5714,0,1,5713,0,1,5712,0,1,5711,
0,1,5710,0,1,5709,0,1,5708,0,
- 1,5707,0,1,5706,0,1,5705,0,1,
- 5704,0,1,5703,0,1,5702,0,1,5701,
- 0,39,1,5453,0,39,1,5452,0,632,
- 1,0,284,397,0,284,289,0,5672,241,
- 0,5671,241,0,5778,241,0,5777,241,0,
- 5699,241,0,5698,241,0,5697,241,0,5696,
- 241,0,5695,241,0,5694,241,0,5693,241,
- 0,5692,241,0,5711,241,0,5710,241,0,
- 5709,241,0,5708,241,0,5707,241,0,5706,
- 241,0,5705,241,0,5704,241,0,5703,241,
- 0,5702,241,0,5701,241,0,39,5453,241,
- 0,39,5452,241,0,5476,241,0,5453,48,
- 0,5452,48,0,5444,1,0,5443,1,0,
- 4102,237,0,32,391,0,29,390,0,43,
- 5474,0,43,37,0,2634,128,0,2634,127,
- 0,333,448,0,5476,1,0,39,1,0,
- 47,37,0,1,92,0,504,3383,0,5476,
- 1,229,0,39,1,229,0,229,419,0,
- 5453,37,0,5452,37,0,5453,2,37,0,
- 5452,2,37,0,5453,36,0,5452,36,0,
- 5474,45,0,37,45,0,5448,408,0,5447,
- 408,0,1,604,0,1,3300,0,1,622,
- 0,229,418,0,3115,320,0,333,95,0,
- 35,73,0,1,333,0,4138,279,0,504,
- 4347,0,1,229,0,229,220,0,1,3135,
- 0,1,4255,0,229,219,0,5450,1,0,
- 5446,1,0,1,229,3914,0,5447,229,0,
- 3937,229,0,5450,386,0,5449,386,0,4119,
- 229,0,10,12,0,8,10,12,0,185,
- 3563,0,4325,386,0,8,12,0
+ 1,5707,0,39,1,5458,0,39,1,5457,
+ 0,634,1,0,285,398,0,285,290,0,
+ 5678,242,0,5677,242,0,5784,242,0,5783,
+ 242,0,5705,242,0,5704,242,0,5703,242,
+ 0,5702,242,0,5701,242,0,5700,242,0,
+ 5699,242,0,5698,242,0,5717,242,0,5716,
+ 242,0,5715,242,0,5714,242,0,5713,242,
+ 0,5712,242,0,5711,242,0,5710,242,0,
+ 5709,242,0,5708,242,0,5707,242,0,39,
+ 5458,242,0,39,5457,242,0,5481,242,0,
+ 5458,48,0,5457,48,0,5449,1,0,5448,
+ 1,0,4104,238,0,32,392,0,29,391,
+ 0,43,5479,0,43,37,0,2636,128,0,
+ 2636,127,0,334,449,0,5481,1,0,39,
+ 1,0,47,37,0,1,92,0,505,3385,
+ 0,5481,1,230,0,39,1,230,0,230,
+ 420,0,5458,37,0,5457,37,0,5458,2,
+ 37,0,5457,2,37,0,5458,36,0,5457,
+ 36,0,5479,45,0,37,45,0,5453,409,
+ 0,5452,409,0,1,606,0,1,3302,0,
+ 1,624,0,230,419,0,3117,321,0,334,
+ 95,0,35,73,0,1,334,0,4140,280,
+ 0,505,4349,0,1,230,0,230,221,0,
+ 1,3137,0,1,4257,0,230,220,0,5455,
+ 1,0,5451,1,0,1,230,3916,0,5452,
+ 230,0,3939,230,0,5455,387,0,5454,387,
+ 0,4121,230,0,10,12,0,8,10,12,
+ 0,4254,194,0,185,3565,0,4327,387,0,
+ 8,12,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1121,8 +1122,8 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
- 54,69,56,57,58,59,60,61,62,101,
- 64,65,66,67,106,92,93,71,90,0,
+ 54,69,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,92,93,71,4,0,
74,75,76,77,78,79,80,81,82,83,
84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
@@ -1131,33 +1132,33 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
38,39,40,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,68,56,57,
58,59,60,61,62,0,64,65,66,67,
- 0,1,2,71,4,10,74,75,76,77,
+ 0,1,2,71,4,0,74,75,76,77,
78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,0,49,50,51,
- 52,53,54,0,56,57,58,59,60,61,
- 62,0,64,65,66,67,0,1,2,8,
- 4,0,74,75,76,77,78,79,80,81,
+ 52,53,54,68,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,0,
+ 4,10,74,75,76,77,78,79,80,81,
82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,47,71,49,50,51,52,53,54,68,
+ 46,47,0,49,50,51,52,53,54,0,
56,57,58,59,60,61,62,0,64,65,
- 66,67,0,6,0,102,103,104,74,75,
+ 66,67,0,6,0,0,87,88,74,75,
76,77,78,79,80,81,82,83,84,85,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,0,49,
+ 40,41,42,43,44,45,46,47,63,49,
50,51,52,53,54,0,56,57,58,59,
- 60,61,62,0,64,65,66,67,0,92,
- 93,89,4,91,74,75,76,77,78,79,
+ 60,61,62,0,64,65,66,67,99,92,
+ 93,89,9,91,74,75,76,77,78,79,
80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
@@ -1165,42 +1166,42 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,0,56,57,58,59,60,61,62,0,
- 64,65,66,67,99,6,0,0,1,2,
+ 64,65,66,67,99,6,0,1,2,0,
74,75,76,77,78,79,80,81,82,83,
84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,47,
- 0,49,50,51,52,53,54,0,56,57,
+ 0,49,50,51,52,53,54,68,56,57,
58,59,60,61,62,0,64,65,66,67,
- 99,92,93,87,88,0,74,75,76,77,
+ 5,92,93,0,1,2,74,75,76,77,
78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,0,49,50,51,
- 52,53,54,68,56,57,58,59,60,61,
- 62,0,64,65,66,67,0,1,2,23,
- 24,5,74,75,76,77,78,79,80,81,
+ 52,53,54,0,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,8,
+ 0,5,74,75,76,77,78,79,80,81,
82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,0,
+ 46,47,71,49,50,51,52,53,54,69,
56,57,58,59,60,61,62,0,64,65,
- 66,67,0,1,2,8,4,0,74,75,
+ 66,67,0,1,2,0,4,0,74,75,
76,77,78,79,80,81,82,83,84,85,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,71,49,
+ 40,41,42,43,44,45,46,47,0,49,
50,51,52,53,54,68,56,57,58,59,
60,61,62,0,64,65,66,67,0,1,
- 2,0,1,2,74,75,76,77,78,79,
+ 2,0,87,88,74,75,76,77,78,79,
80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
@@ -1208,7 +1209,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,0,56,57,58,59,60,61,62,0,
- 64,65,66,67,0,0,0,8,3,3,
+ 64,65,66,67,0,0,1,2,87,88,
74,75,76,77,78,79,80,81,82,83,
84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
@@ -1216,10 +1217,10 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,0,56,57,
- 58,59,60,61,62,0,64,65,66,67,
- 0,6,0,89,9,91,74,75,76,77,
+ 58,59,60,61,62,8,64,65,66,67,
+ 0,1,2,89,0,91,74,75,76,77,
78,79,80,81,82,83,84,85,0,1,
- 2,3,4,5,6,7,117,9,10,11,
+ 2,3,4,5,6,7,0,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,0,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
@@ -1227,233 +1228,234 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
52,53,54,0,56,57,58,4,60,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,0,39,27,28,29,30,
+ 21,22,23,24,100,118,27,28,29,30,
31,32,33,34,35,36,0,1,2,40,
- 4,5,0,7,0,0,0,48,0,1,
- 2,5,4,0,9,56,57,58,59,0,
- 61,62,0,1,2,100,22,23,24,0,
+ 4,5,0,7,0,0,100,48,0,1,
+ 2,6,4,0,9,56,57,58,59,0,
+ 61,62,0,0,1,2,22,23,24,0,
71,72,28,29,30,31,32,33,34,35,
36,22,23,24,48,86,0,28,29,30,
- 31,32,33,34,35,36,48,0,0,1,
- 2,102,103,104,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,87,
- 88,27,28,29,30,31,32,33,34,35,
- 36,55,0,0,40,3,48,4,6,0,
- 8,9,48,0,1,2,0,8,5,90,
- 56,57,58,59,8,61,62,25,26,27,
- 0,1,2,0,0,71,72,0,0,37,
- 38,8,0,1,2,3,4,5,6,7,
- 86,9,0,0,0,1,2,55,4,0,
- 6,48,8,9,0,63,102,103,104,0,
- 68,69,70,71,72,73,67,120,48,0,
- 1,2,3,4,5,6,7,71,9,87,
- 88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,0,63,73,105,106,107,
- 108,109,110,111,112,113,114,115,116,117,
- 0,119,120,3,55,0,6,73,8,9,
- 96,97,0,1,2,3,4,5,6,7,
- 8,9,63,0,90,25,26,27,0,70,
- 25,26,48,100,22,23,24,37,38,27,
- 28,29,30,31,32,33,34,35,36,0,
- 1,2,3,4,5,55,7,8,0,0,
- 1,2,4,63,5,0,7,55,68,69,
- 70,71,72,73,0,63,27,0,1,2,
- 3,4,5,6,7,73,9,87,88,89,
- 90,91,92,93,94,95,96,97,98,99,
- 100,101,74,0,0,105,106,107,108,109,
- 110,111,112,113,114,115,116,117,0,119,
- 120,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,0,27,28,
- 29,30,31,32,33,34,35,36,0,1,
- 2,40,4,98,6,0,0,9,0,48,
- 0,0,98,0,3,0,0,56,57,58,
- 59,8,61,62,8,64,39,22,23,24,
- 87,88,71,28,29,30,31,32,33,34,
- 35,36,0,1,2,87,88,86,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,0,63,27,28,29,30,31,
- 32,33,34,35,36,70,73,0,40,73,
- 0,1,2,3,4,5,48,7,8,89,
- 0,91,0,55,56,57,58,59,0,61,
- 62,9,64,0,1,2,101,27,5,0,
- 7,106,107,108,109,110,111,112,113,114,
- 115,116,0,0,86,0,1,2,3,4,
+ 31,32,33,34,35,36,48,0,0,0,
+ 1,2,103,104,105,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 0,0,27,28,29,30,31,32,33,34,
+ 35,36,89,0,91,40,3,48,0,6,
+ 0,8,9,48,68,0,1,2,96,97,
+ 5,56,57,58,59,0,61,62,25,26,
+ 27,0,1,2,0,0,71,72,3,48,
+ 37,38,8,0,1,2,3,4,5,6,
+ 7,86,9,96,97,0,0,0,55,3,
+ 0,1,2,48,4,5,63,7,103,104,
+ 105,68,69,70,71,72,73,87,88,48,
+ 0,1,2,3,4,5,6,7,0,9,
+ 87,88,89,90,91,92,93,94,95,96,
+ 97,98,99,100,101,70,63,73,48,106,
+ 107,108,109,110,111,112,113,114,115,116,
+ 117,118,119,120,0,0,0,3,0,4,
+ 6,6,8,9,9,0,0,1,2,3,
+ 4,5,6,7,8,9,89,0,91,25,
+ 26,27,72,25,26,0,1,2,22,23,
+ 24,37,38,27,28,29,30,31,32,33,
+ 34,35,36,0,1,2,3,4,5,55,
+ 7,8,0,0,1,2,98,63,5,63,
+ 7,55,68,69,70,71,72,73,63,63,
+ 27,0,1,2,3,4,5,6,7,73,
+ 9,87,88,89,90,91,92,93,94,95,
+ 96,97,98,99,100,101,0,0,0,3,
+ 106,107,108,109,110,111,112,113,114,115,
+ 116,117,118,119,120,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 87,88,27,28,29,30,31,32,33,34,
- 35,36,0,1,2,40,0,0,6,0,
- 0,1,2,48,4,5,0,7,0,1,
- 2,56,57,58,59,63,61,62,0,64,
- 0,22,23,24,96,97,71,28,29,30,
- 31,32,33,34,35,36,0,0,1,2,
- 48,86,0,1,2,3,4,5,6,7,
+ 0,0,27,28,29,30,31,32,33,34,
+ 35,36,0,1,2,40,4,0,6,0,
+ 0,9,0,48,0,25,26,0,8,0,
+ 0,56,57,58,59,8,61,62,8,64,
+ 0,22,23,24,87,88,71,28,29,30,
+ 31,32,33,34,35,36,55,27,0,1,
+ 2,86,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,70,72,27,
- 28,29,30,31,32,33,34,35,36,0,
- 1,2,40,4,5,48,7,0,1,2,
- 48,4,0,6,0,0,9,0,56,57,
- 58,59,8,61,62,8,64,0,1,2,
- 3,4,5,71,7,8,0,0,1,2,
- 3,4,5,6,7,0,9,48,86,0,
+ 18,19,20,21,22,23,24,67,0,27,
+ 28,29,30,31,32,33,34,35,36,70,
+ 73,0,40,63,0,1,2,3,4,5,
+ 48,7,8,25,26,0,0,55,56,57,
+ 58,59,0,61,62,10,64,0,1,2,
+ 101,27,5,0,7,0,107,108,109,110,
+ 111,112,113,114,115,116,117,0,86,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,118,60,27,28,29,30,
- 31,32,33,34,35,36,69,73,71,40,
- 63,0,1,2,3,4,5,48,7,0,
- 73,89,3,91,90,56,57,58,59,72,
- 61,62,0,64,69,0,1,2,3,4,
- 71,6,0,0,9,3,0,0,1,2,
- 3,4,5,0,7,86,0,1,2,3,
+ 21,22,23,24,59,0,27,28,29,30,
+ 31,32,33,34,35,36,0,1,2,40,
+ 68,69,6,0,0,1,2,48,4,5,
+ 0,7,55,68,0,56,57,58,59,0,
+ 61,62,8,64,98,22,23,24,0,72,
+ 71,28,29,30,31,32,33,34,35,36,
+ 55,27,23,24,48,86,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
- 24,0,63,27,28,29,30,31,32,33,
- 34,35,36,0,1,2,40,4,63,6,
- 0,0,9,0,48,4,63,6,8,63,
- 9,0,56,57,58,59,63,61,62,72,
- 64,0,1,2,3,4,5,27,7,0,
- 1,2,3,4,5,0,7,0,1,2,
- 0,0,86,0,1,2,3,4,5,6,
+ 24,0,0,27,28,29,30,31,32,33,
+ 34,35,36,0,1,2,40,0,0,1,
+ 2,3,4,5,48,7,0,0,0,3,
+ 3,0,56,57,58,59,8,61,62,8,
+ 64,0,1,2,3,4,5,71,7,8,
+ 0,1,2,0,4,0,6,55,8,9,
+ 120,48,86,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,69,
+ 17,18,19,20,21,22,23,24,0,63,
27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,63,0,1,2,3,4,
- 5,48,7,0,0,0,1,2,4,56,
- 57,58,59,68,61,62,0,64,68,3,
- 69,0,1,2,8,4,22,6,25,26,
- 9,0,1,2,0,4,5,3,7,86,
+ 0,73,71,40,63,0,1,2,3,4,
+ 5,48,7,0,73,60,3,0,90,56,
+ 57,58,59,73,61,62,0,64,0,0,
+ 1,2,3,4,71,6,8,0,9,0,
+ 90,0,1,2,3,4,5,8,7,86,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,0,27,28,29,
- 30,31,32,33,34,35,36,0,0,63,
- 40,0,1,2,68,69,0,0,48,73,
- 25,26,0,1,2,0,56,57,58,59,
- 0,61,62,0,64,0,102,103,104,0,
- 1,2,0,0,0,3,3,3,0,1,
- 2,3,4,5,6,7,86,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 48,55,55,25,26,0,65,66,3,72,
- 55,37,38,8,68,37,38,39,55,41,
- 42,43,44,45,46,47,0,49,50,51,
- 52,53,54,68,65,66,10,63,60,61,
- 94,95,70,65,66,0,1,2,3,4,
- 5,6,7,0,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,0,63,0,
- 25,26,0,0,0,0,3,8,73,105,
- 8,0,37,38,39,59,41,42,43,44,
- 45,46,47,119,49,50,51,52,53,54,
- 0,1,2,0,0,60,0,1,2,0,
- 65,66,3,68,0,1,2,3,4,5,
+ 20,21,22,23,24,0,63,27,28,29,
+ 30,31,32,33,34,35,36,0,1,2,
+ 40,4,63,6,68,69,9,69,48,0,
+ 63,73,3,103,104,105,56,57,58,59,
+ 71,61,62,72,64,0,0,1,2,3,
+ 4,5,6,7,0,9,0,1,2,3,
+ 4,5,8,7,0,0,86,0,1,2,
+ 3,4,5,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,0,0,27,28,29,30,31,32,
+ 33,34,35,36,0,1,2,40,4,63,
+ 6,0,48,9,3,48,70,72,0,63,
+ 55,67,0,56,57,58,59,9,61,62,
+ 0,64,0,3,0,0,1,2,8,0,
+ 1,2,3,4,5,0,7,0,1,2,
+ 0,1,2,86,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,55,0,69,25,
- 26,4,73,68,69,73,0,0,48,68,
- 3,37,38,39,0,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,0,
- 1,2,68,69,60,94,95,0,0,1,
- 2,67,0,6,0,71,0,1,2,3,
- 4,5,6,7,48,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,55,
- 0,25,26,0,1,2,8,48,8,0,
- 0,8,68,37,38,39,48,41,42,43,
- 44,45,46,47,0,49,50,51,52,53,
- 54,0,1,2,0,0,60,3,94,95,
- 68,65,66,0,1,2,3,4,5,6,
- 7,0,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,67,0,0,25,26,
- 67,0,48,73,3,0,0,0,0,48,
- 37,38,39,8,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,0,0,
- 0,3,27,60,0,70,55,0,65,66,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,55,55,0,25,26,0,4,63,
- 3,0,75,0,3,0,0,37,38,39,
- 4,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,0,0,63,69,0,
- 60,0,72,0,0,10,10,67,0,1,
+ 16,17,18,19,20,21,22,23,24,0,
+ 48,27,28,29,30,31,32,33,34,35,
+ 36,69,0,63,40,0,1,2,68,69,
+ 65,66,48,73,0,0,72,3,0,0,
+ 56,57,58,59,0,61,62,3,64,0,
+ 0,1,2,0,4,0,6,8,0,9,
+ 0,3,0,1,2,3,4,5,6,7,
+ 86,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,0,1,2,25,26,0,
+ 65,66,8,55,55,37,38,0,0,37,
+ 38,39,4,41,42,43,44,45,46,47,
+ 55,49,50,51,52,53,54,0,69,0,
+ 71,63,60,61,0,90,0,65,66,0,
+ 1,2,3,4,5,6,7,0,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,67,55,55,25,26,0,1,2,0,
+ 4,5,3,7,106,68,37,38,39,0,
+ 41,42,43,44,45,46,47,119,49,50,
+ 51,52,53,54,0,1,2,68,0,60,
+ 101,94,95,69,65,66,107,68,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
- 55,55,0,25,26,40,40,0,0,0,
- 0,4,0,48,48,37,38,39,0,41,
- 42,43,44,45,46,47,55,49,50,51,
- 52,53,54,0,0,0,0,3,60,5,
- 6,0,0,9,8,67,4,0,0,8,
- 0,0,0,0,0,4,3,55,8,25,
- 26,118,55,27,22,55,0,55,27,0,
- 0,37,38,55,72,41,0,27,70,3,
- 0,72,0,3,0,3,0,3,0,55,
- 55,3,0,0,0,3,3,63,0,65,
- 66,0,68,69,70,72,55,0,0,0,
- 0,0,0,0,0,0,69,3,70,0,
- 0,87,88,89,70,39,92,93,94,95,
- 96,97,98,99,100,101,70,0,69,105,
- 70,107,108,109,110,111,112,113,114,115,
- 116,0,1,2,3,4,5,6,7,8,
+ 0,1,2,25,26,0,0,90,0,4,
+ 0,3,48,3,0,37,38,39,8,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,1,2,0,0,60,0,
+ 4,4,0,1,2,67,40,8,48,71,
+ 0,1,2,3,4,5,6,7,22,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,0,63,0,25,26,0,1,2,
+ 0,48,8,73,4,0,72,37,38,39,
+ 48,41,42,43,44,45,46,47,72,49,
+ 50,51,52,53,54,0,0,0,0,3,
+ 60,0,73,8,6,65,66,0,1,2,
+ 3,4,5,6,7,48,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,103,
+ 104,105,25,26,0,0,0,73,63,0,
+ 0,0,0,8,37,38,39,8,41,42,
+ 43,44,45,46,47,0,49,50,51,52,
+ 53,54,27,0,0,0,27,60,73,4,
+ 0,70,65,66,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,55,55,0,25,
+ 26,3,68,39,69,0,70,0,3,68,
+ 0,37,38,39,4,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,74,
+ 0,0,22,70,60,94,95,0,0,69,
+ 10,67,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,0,0,0,25,26,0,
+ 40,0,3,0,0,10,0,55,48,37,
+ 38,39,0,41,42,43,44,45,46,47,
+ 68,49,50,51,52,53,54,0,0,0,
+ 0,3,60,5,6,40,69,9,8,67,
+ 0,0,0,48,4,0,94,95,0,4,
+ 0,55,0,25,26,3,55,27,55,55,
+ 0,55,0,3,70,37,38,0,39,41,
+ 3,0,0,0,0,3,3,3,0,0,
+ 0,3,55,55,72,0,0,0,3,3,
+ 0,63,0,65,66,55,68,69,70,0,
+ 55,0,0,0,0,0,0,0,0,0,
+ 0,70,70,0,0,87,88,89,70,69,
+ 92,93,94,95,96,97,98,99,100,101,
+ 0,69,0,0,106,0,108,109,110,111,
+ 112,113,114,115,116,117,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,55,70,
+ 0,25,26,102,72,72,72,90,70,70,
+ 75,102,102,37,38,39,0,41,42,43,
+ 44,45,46,47,102,49,50,51,52,53,
+ 54,0,1,2,3,4,5,6,7,39,
9,10,11,12,13,14,15,16,17,18,
- 19,20,21,72,0,55,25,26,69,69,
- 72,0,70,72,90,70,0,0,37,38,
+ 19,20,21,0,0,0,25,26,121,0,
+ 0,0,0,0,0,0,0,0,37,38,
39,0,41,42,43,44,45,46,47,0,
- 49,50,51,52,53,54,0,1,2,3,
- 4,5,6,7,40,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,121,0,
- 0,25,26,0,0,0,0,118,0,0,
- 0,0,0,37,38,39,0,41,42,43,
- 44,45,46,47,0,49,50,51,52,53,
- 54,70,0,0,0,0,60,0,117,0,
- 1,2,3,4,5,6,7,0,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,0,0,25,26,0,0,0,0,
- 0,0,0,0,0,0,37,38,39,0,
- 41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,0,1,2,3,4,5,
- 6,7,63,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,0,0,0,25,
- 26,0,0,0,0,0,0,0,0,0,
- 0,37,38,39,0,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,0,
- 0,0,0,0,60,0,1,2,3,4,
+ 49,50,51,52,53,54,0,0,0,0,
+ 0,60,0,0,118,0,1,2,3,4,
5,6,7,0,9,10,11,12,13,14,
15,16,17,18,19,20,21,0,0,0,
25,26,0,0,0,0,0,0,0,0,
0,0,37,38,39,0,41,42,43,44,
45,46,47,0,49,50,51,52,53,54,
- 0,1,2,3,4,5,6,7,0,9,
+ 0,1,2,3,4,5,6,7,63,9,
10,11,12,13,14,15,16,17,18,19,
20,21,0,0,0,25,26,0,0,0,
0,0,0,0,0,0,0,37,38,39,
0,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,0,1,2,3,4,
- 5,6,7,0,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,0,0,0,
- 25,26,0,0,0,0,0,0,0,0,
- 0,0,37,38,39,0,41,42,43,44,
- 45,46,47,0,49,50,51,52,53,54,
- 0,1,2,0,4,0,0,0,0,0,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,0,0,28,29,
- 30,31,32,33,34,35,36,0,0,0,
- 40,0,0,0,0,0,0,0,0,0,
- 1,2,0,4,0,0,56,57,58,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,0,0,0,28,29,30,
- 31,32,33,34,35,36,0,0,0,40,
- 0,1,2,3,4,5,6,7,8,9,
- 0,0,0,0,0,56,57,58,0,0,
- 0,0,22,23,24,0,0,27,28,29,
- 30,31,32,33,34,35,36,11,12,13,
+ 50,51,52,53,54,0,0,0,0,0,
+ 60,0,1,2,3,4,5,6,7,0,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,0,0,0,25,26,0,0,
+ 0,0,0,0,0,0,0,0,37,38,
+ 39,0,41,42,43,44,45,46,47,0,
+ 49,50,51,52,53,54,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,0,0,
+ 0,25,26,0,0,0,0,0,0,0,
+ 0,0,0,37,38,39,0,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,1,2,3,4,5,6,7,0,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,0,0,0,25,26,0,0,
+ 0,0,0,0,0,0,0,0,37,38,
+ 39,0,41,42,43,44,45,46,47,0,
+ 49,50,51,52,53,54,0,1,2,0,
+ 4,0,0,0,0,0,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,0,0,0,28,29,30,31,32,33,
- 34,35,36,63,0,0,0,0,0,0,
- 0,0,0,73,0,0,0,0,0,0,
+ 34,35,36,0,0,0,40,0,0,0,
+ 0,0,0,0,0,0,1,2,0,4,
+ 0,0,56,57,58,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 0,0,0,28,29,30,31,32,33,34,
+ 35,36,0,0,0,40,0,1,2,3,
+ 4,5,6,7,8,9,0,0,0,0,
+ 0,56,57,58,0,0,0,0,22,23,
+ 24,0,0,27,28,29,30,31,32,33,
+ 34,35,36,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,0,0,0,
+ 28,29,30,31,32,33,34,35,36,63,
+ 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,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1461,346 +1463,346 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface TermAction {
public final static char termAction[] = {0,
- 5438,5403,5382,5382,5382,5382,5382,5382,5419,5382,
+ 5443,5405,5384,5384,5384,5384,5384,5384,5421,5384,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5409,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5407,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,139,1,
- 1,1,1,1,1,1,1,1,1,2740,
- 1,5613,1910,115,3665,1,1,5449,360,3747,
- 5438,5445,157,4741,1092,4099,3560,2204,3504,3891,
- 3206,4006,599,3983,2765,3960,10,5422,5422,5422,
- 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422,
- 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422,
- 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422,
- 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422,
- 5422,5422,5422,5422,333,5422,5422,5422,5422,5422,
- 5422,1476,5422,5422,5422,5422,5422,5422,5422,2252,
- 5422,5422,5422,5422,2520,3722,3697,5422,5797,5438,
- 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422,
- 5422,5422,8,5425,5425,5425,5425,5425,5425,5425,
- 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425,
- 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425,
- 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425,
- 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425,
- 398,5425,5425,5425,5425,5425,5425,3049,5425,5425,
- 5425,5425,5425,5425,5425,303,5425,5425,5425,5425,
- 289,5175,5175,5425,284,5740,5425,5425,5425,5425,
- 5425,5425,5425,5425,5425,5425,5425,5425,5438,5403,
- 5382,5382,5382,5382,5382,5382,5410,5382,1,1,
+ 1,1,1,1,1,334,1,1,1,2742,
+ 1,5618,1912,115,3667,1,1,5454,399,3749,
+ 5443,5450,157,4743,1094,4101,3562,2206,3506,3893,
+ 3208,4008,601,3985,2767,3962,10,5424,5424,5424,
+ 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424,
+ 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424,
+ 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424,
+ 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424,
+ 5424,5424,5424,5424,300,5424,5424,5424,5424,5424,
+ 5424,1478,5424,5424,5424,5424,5424,5424,5424,388,
+ 5424,5424,5424,5424,39,3724,3699,5424,5481,5443,
+ 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424,
+ 5424,5424,8,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5443,5427,5427,5427,5427,5427,5427,3051,5427,5427,
+ 5427,5427,5427,5427,5427,5443,5427,5427,5427,5427,
+ 290,5177,5177,5427,285,5443,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5443,5405,
+ 5384,5384,5384,5384,5384,5384,5412,5384,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5407,1,1,1,1,
+ 1,1,1,1,1,5409,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,299,1,1,1,
- 1,1,1,442,1,1,1,2740,1,5613,
- 1910,5438,3665,1,1,5449,5438,5077,5074,5446,
- 5476,5438,1092,4099,3560,2204,3504,3891,3206,4006,
- 599,3983,2765,3960,5438,5403,5382,5382,5382,5382,
- 5382,5382,5410,5382,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5443,1,1,1,
+ 1,1,1,3111,1,1,1,2742,1,5618,
+ 1912,304,3667,1,1,5454,5443,5079,5076,121,
+ 5481,5746,1094,4101,3562,2206,3506,3893,3208,4008,
+ 601,3985,2767,3962,5443,5405,5384,5384,5384,5384,
+ 5384,5384,5412,5384,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5407,1,1,1,1,1,1,1,1,
+ 1,5409,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5445,1,1,1,1,1,1,3109,
- 1,1,1,2740,1,5613,1910,117,3665,1,
- 1,5449,111,3747,387,5876,5877,5878,1092,4099,
- 3560,2204,3504,3891,3206,4006,599,3983,2765,3960,
- 5438,5403,5382,5382,5382,5382,5382,5382,5410,5382,
+ 1,1,5443,1,1,1,1,1,1,135,
+ 1,1,1,2742,1,5618,1912,117,3667,1,
+ 1,5454,111,3749,5443,462,2900,2927,1094,4101,
+ 3562,2206,3506,3893,3208,4008,601,3985,2767,3962,
+ 5443,5405,5384,5384,5384,5384,5384,5384,5412,5384,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5407,1,1,
+ 1,1,1,1,1,1,1,5409,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5438,1,
- 1,1,1,1,1,135,1,1,1,2740,
- 1,5613,1910,5438,3665,1,1,5449,39,3722,
- 3697,3956,5476,3979,1092,4099,3560,2204,3504,3891,
- 3206,4006,599,3983,2765,3960,5438,5403,5382,5382,
- 5382,5382,5382,5382,5410,5382,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5106,1,
+ 1,1,1,1,1,136,1,1,1,2742,
+ 1,5618,1912,131,3667,1,1,5454,2328,3724,
+ 3699,3958,2393,3981,1094,4101,3562,2206,3506,3893,
+ 3208,4008,601,3985,2767,3962,5443,5405,5384,5384,
+ 5384,5384,5384,5384,5412,5384,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5407,1,1,1,1,1,1,
+ 1,1,1,5409,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5438,1,1,1,1,1,
- 1,136,1,1,1,2740,1,5613,1910,116,
- 3665,1,1,5449,2326,3747,121,5438,5452,5453,
- 1092,4099,3560,2204,3504,3891,3206,4006,599,3983,
- 2765,3960,5438,5403,5382,5382,5382,5382,5382,5382,
- 5410,5382,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5407,
+ 1,1,1,1,5443,1,1,1,1,1,
+ 1,5443,1,1,1,2742,1,5618,1912,116,
+ 3667,1,1,5454,2328,3749,5443,5457,5458,5443,
+ 1094,4101,3562,2206,3506,3893,3208,4008,601,3985,
+ 2767,3962,5443,5405,5384,5384,5384,5384,5384,5384,
+ 5412,5384,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5409,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5438,1,1,1,1,1,1,5438,1,1,
- 1,2740,1,5613,1910,5438,3665,1,1,5449,
- 2326,3722,3697,2898,2925,5438,1092,4099,3560,2204,
- 3504,3891,3206,4006,599,3983,2765,3960,5438,5403,
- 5382,5382,5382,5382,5382,5382,5410,5382,1,1,
+ 5443,1,1,1,1,1,1,3123,1,1,
+ 1,2742,1,5618,1912,5443,3667,1,1,5454,
+ 2780,3724,3699,5443,5263,5260,1094,4101,3562,2206,
+ 3506,3893,3208,4008,601,3985,2767,3962,5443,5405,
+ 5384,5384,5384,5384,5384,5384,5412,5384,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5407,1,1,1,1,
+ 1,1,1,1,1,5409,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,338,1,1,1,
- 1,1,1,3121,1,1,1,2740,1,5613,
- 1910,5438,3665,1,1,5449,5438,5452,5453,5777,
- 5778,2778,1092,4099,3560,2204,3504,3891,3206,4006,
- 599,3983,2765,3960,5438,5403,5382,5382,5382,5382,
- 5382,5382,5410,5382,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5443,1,1,1,
+ 1,1,1,5443,1,1,1,2742,1,5618,
+ 1912,5443,3667,1,1,5454,5443,5457,5458,5451,
+ 519,2780,1094,4101,3562,2206,3506,3893,3208,4008,
+ 601,3985,2767,3962,5443,5405,5384,5384,5384,5384,
+ 5384,5384,5412,5384,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5407,1,1,1,1,1,1,1,1,
+ 1,5409,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5438,1,1,1,1,1,1,5438,
- 1,1,1,2740,1,5613,1910,1,3665,1,
- 1,5449,5438,5077,5074,5400,5476,5438,1092,4099,
- 3560,2204,3504,3891,3206,4006,599,3983,2765,3960,
- 5438,5403,5382,5382,5382,5382,5382,5382,5410,5382,
+ 1,1,5450,1,1,1,1,1,1,891,
+ 1,1,1,2742,1,5618,1912,5443,3667,1,
+ 1,5454,5443,5079,5076,125,5481,5443,1094,4101,
+ 3562,2206,3506,3893,3208,4008,601,3985,2767,3962,
+ 5443,5405,5384,5384,5384,5384,5384,5384,5412,5384,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5407,1,1,
+ 1,1,1,1,1,1,1,5409,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5445,1,
- 1,1,1,1,1,3131,1,1,1,2740,
- 1,5613,1910,5438,3665,1,1,5449,5438,5261,
- 5258,48,5261,5258,1092,4099,3560,2204,3504,3891,
- 3206,4006,599,3983,2765,3960,5438,5403,5382,5382,
- 5382,5382,5382,5382,5410,5382,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5443,1,
+ 1,1,1,1,1,3133,1,1,1,2742,
+ 1,5618,1912,5443,3667,1,1,5454,48,5263,
+ 5260,124,2900,2927,1094,4101,3562,2206,3506,3893,
+ 3208,4008,601,3985,2767,3962,5443,5405,5384,5384,
+ 5384,5384,5384,5384,5412,5384,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5407,1,1,1,1,1,1,
+ 1,1,1,5409,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5438,1,1,1,1,1,
- 1,5438,1,1,1,2740,1,5613,1910,5438,
- 3665,1,1,5449,114,5438,91,5442,4102,5110,
- 1092,4099,3560,2204,3504,3891,3206,4006,599,3983,
- 2765,3960,5438,3914,1,1,1,1,1,1,
- 3937,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5447,
+ 1,1,1,1,5443,1,1,1,1,1,
+ 1,5443,1,1,1,2742,1,5618,1912,5443,
+ 3667,1,1,5454,114,401,5457,5458,2900,2927,
+ 1094,4101,3562,2206,3506,3893,3208,4008,601,3985,
+ 2767,3962,5443,3916,1,1,1,1,1,1,
+ 3939,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5452,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5438,1,1,1,1,1,1,5438,1,1,
- 1,2740,1,5613,1910,5438,3665,1,1,5449,
- 5438,1542,5438,3956,1333,3979,1092,4099,3560,2204,
- 3504,3891,3206,4006,599,3983,2765,3960,39,5077,
- 5074,3185,632,3772,3841,3300,5441,3864,801,5703,
- 5701,5710,5709,5705,5706,5704,5707,5708,5711,5702,
- 5698,5777,5778,3818,3795,137,5692,5699,5695,5671,
- 5697,5696,5693,5694,5672,3910,3887,5457,5839,2826,
- 579,993,5459,924,4075,953,5438,5460,5458,573,
- 5454,5455,5456,5438,2703,5840,5841,871,1432,5438,
- 5313,5313,229,5309,229,229,229,5317,229,1,
+ 5443,1,1,1,1,1,1,5443,1,1,
+ 1,2742,1,5618,1912,5447,3667,1,1,5454,
+ 36,5339,5336,3958,137,3981,1094,4101,3562,2206,
+ 3506,3893,3208,4008,601,3985,2767,3962,39,5079,
+ 5076,3187,634,3774,3843,3302,138,3866,803,5709,
+ 5707,5716,5715,5711,5712,5710,5713,5714,5717,5708,
+ 5704,5783,5784,3820,3797,5443,5698,5705,5701,5677,
+ 5703,5702,5699,5700,5678,3912,3889,5462,5845,2828,
+ 581,995,5464,926,4077,955,5443,5465,5463,575,
+ 5459,5460,5461,5443,2705,5846,5847,873,1434,5443,
+ 5315,5315,230,5311,230,230,230,5319,230,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5438,1233,229,1,1,1,
- 1,1,1,1,1,1,5438,5077,5074,1,
- 632,5122,125,3300,224,131,5438,5306,397,5172,
- 5172,2778,284,5438,2391,1,1,1,3104,225,
- 5853,786,400,5452,5453,2291,5698,5777,5778,1,
- 419,229,5692,5699,5695,5671,5697,5696,5693,5694,
- 5672,5698,5777,5778,2525,5941,5438,5692,5699,5695,
- 5671,5697,5696,5693,5694,5672,284,5438,5438,8778,
- 8778,5876,5877,5878,5438,5313,5313,229,5309,229,
- 229,229,5361,229,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,2898,
- 2925,229,1,1,1,1,1,1,1,1,
- 1,4202,33,5438,1,5116,5474,2737,5116,5438,
- 5116,5116,5306,37,5300,5300,8,5450,5300,5799,
- 1,1,1,3104,5435,5853,786,5116,5116,5116,
- 43,5282,5282,1,129,418,229,5438,5438,5116,
- 5116,161,347,5077,5074,585,632,622,333,3300,
- 5941,333,5438,138,1,5297,5297,5116,5294,5438,
- 333,2791,365,333,5438,5116,5876,5877,5878,5438,
- 5116,5116,5116,5116,5116,5116,5449,5073,5279,369,
- 5165,5161,585,5169,622,1,3300,5435,1,5116,
- 5116,5116,5116,5116,5116,5116,5116,5116,5116,5116,
- 5116,5116,5116,5116,37,1059,161,5116,5116,5116,
- 5116,5116,5116,5116,5116,5116,5116,5116,5116,5116,
- 5438,5116,5116,5119,4205,118,5119,365,5119,5119,
- 2450,2421,29,390,390,5276,390,390,5276,390,
- 5276,5276,1059,5438,365,5119,5119,5119,1,1285,
- 3158,3075,5474,2291,390,390,390,5119,5119,5276,
- 390,390,390,390,390,390,390,390,390,1,
- 5165,5161,5352,5169,5358,5119,5355,5448,398,38,
- 5095,5092,391,5119,5089,133,3300,5080,5119,5119,
- 5119,5119,5119,5119,134,5276,5447,311,5165,5161,
- 604,5169,622,5373,3300,5276,5373,5119,5119,5119,
- 5119,5119,5119,5119,5119,5119,5119,5119,5119,5119,
- 5119,5119,3338,124,5438,5119,5119,5119,5119,5119,
- 5119,5119,5119,5119,5119,5119,5119,5119,123,5119,
- 5119,5438,5382,5382,229,5382,229,229,229,5385,
- 229,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5438,5438,229,1,
- 1,8744,1,1,1,1,1,1,447,1,
- 1,1,1,2359,5101,226,5438,5101,5438,5379,
- 113,349,2359,5438,1726,139,1,1,1,1,
- 3384,5444,5649,1910,5444,3665,3462,5698,5777,5778,
- 2898,2925,220,5692,5699,5695,5671,5697,5696,5693,
- 5694,5672,36,5337,5334,2898,2925,5941,5438,5382,
- 5382,229,5382,229,229,229,229,229,1,1,
+ 1,1,1,1,2293,5446,230,1,1,1,
+ 1,1,1,1,1,1,5443,5079,5076,1,
+ 634,5124,5443,3302,225,5443,2293,5308,398,5174,
+ 5174,1544,285,113,1335,1,1,1,3106,226,
+ 5859,788,129,300,5457,5458,5704,5783,5784,5443,
+ 420,230,5698,5705,5701,5677,5703,5702,5699,5700,
+ 5678,5704,5783,5784,2527,5947,5443,5698,5705,5701,
+ 5677,5703,5702,5699,5700,5678,285,130,5443,5443,
+ 8788,8788,5882,5883,5884,5443,5315,5315,230,5311,
+ 230,230,230,5363,230,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,122,1059,229,1,1,8744,1,
- 1,1,1,1,1,1949,5443,5438,1,5443,
- 1,5165,5161,604,5169,622,5379,3300,311,3956,
- 5438,3979,132,3486,1,1,1,3384,130,5649,
- 1910,2391,3665,5438,5452,5453,2252,311,622,5438,
- 3300,2520,1906,1863,1820,1777,1734,1691,1648,1605,
- 1562,1519,461,5438,5941,5438,5382,5382,229,5382,
- 229,229,229,5394,229,1,1,1,1,1,
+ 123,37,230,1,1,1,1,1,1,1,
+ 1,1,3958,33,3981,1,5118,5479,5443,5118,
+ 5443,5118,5118,5308,5959,37,5302,5302,2452,2423,
+ 5302,1,1,1,3106,5443,5859,788,5118,5118,
+ 5118,43,5284,5284,1,314,419,230,2996,5479,
+ 5118,5118,161,348,5079,5076,587,634,624,334,
+ 3302,5947,334,2452,2423,5443,5443,112,5118,4104,
+ 5443,5079,5076,2793,634,5124,5118,3302,5882,5883,
+ 5884,5118,5118,5118,5118,5118,5118,2900,2927,5281,
+ 5443,5167,5163,606,5171,624,5375,3302,133,5375,
+ 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118,
+ 5118,5118,5118,5118,5118,1156,1061,161,2955,5118,
+ 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118,
+ 5118,5118,5118,5118,5443,39,461,5121,118,5481,
+ 5121,334,5121,5121,334,351,29,391,391,5278,
+ 391,391,5278,391,5278,5278,3958,5443,3981,5121,
+ 5121,5121,1243,3160,3077,294,5457,5458,391,391,
+ 391,5121,5121,5278,391,391,391,391,391,391,
+ 391,391,391,1,5167,5163,5354,5171,5360,5121,
+ 5357,5453,5443,38,5097,5094,2361,5121,5091,5109,
+ 3302,5082,5121,5121,5121,5121,5121,5121,1061,5278,
+ 5452,312,5167,5163,606,5171,624,5375,3302,5278,
+ 5375,5121,5121,5121,5121,5121,5121,5121,5121,5121,
+ 5121,5121,5121,5121,5121,5121,91,122,5443,5112,
+ 5121,5121,5121,5121,5121,5121,5121,5121,5121,5121,
+ 5121,5121,5121,5121,5121,5443,5384,5384,230,5384,
+ 230,230,230,5387,230,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 2898,2925,229,1,1,8744,1,1,1,1,
- 1,1,37,5300,5300,1,5438,372,333,227,
- 5438,5077,5074,5379,632,622,5438,3300,299,5452,
- 5453,1,1,1,3384,5104,5649,1910,5438,3665,
- 5438,5698,5777,5778,2450,2421,219,5692,5699,5695,
- 5671,5697,5696,5693,5694,5672,5438,37,5300,5300,
- 5474,5941,5438,5382,5382,229,5382,229,229,229,
- 5385,229,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1340,1992,229,
- 1,1,8744,1,1,1,1,1,1,5438,
- 5077,5074,1,632,5122,2592,3300,448,39,39,
- 5379,5476,112,5291,1,535,5291,5438,1,1,
- 1,3384,365,5649,1910,5446,3665,1,5165,5161,
- 585,5169,622,220,3300,5264,5438,5438,5165,5161,
- 604,5169,622,5373,3300,518,5373,2953,5941,5438,
- 5382,5382,229,5382,229,229,229,5385,229,1,
+ 120,5443,230,1,1,8845,1,1,1,1,
+ 1,1,448,1,1,1,1,5443,5103,227,
+ 5443,5103,5443,5381,5443,3160,3077,5443,5455,139,
+ 409,1,1,1,3386,5449,5655,1912,5348,3667,
+ 100,5704,5783,5784,2900,2927,221,5698,5705,5701,
+ 5677,5703,5702,5699,5700,5678,4204,5351,5443,8720,
+ 8715,5947,5443,5384,5384,230,5384,230,230,230,
+ 230,230,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5454,119,230,
+ 1,1,8845,1,1,1,1,1,1,1951,
+ 5448,5443,1,4457,1,5167,5163,606,5171,624,
+ 5381,3302,312,3160,3077,304,134,3488,1,1,
+ 1,3386,5443,5655,1912,5746,3667,5443,5457,5458,
+ 2254,312,624,5443,3302,5443,2522,1908,1865,1822,
+ 1779,1736,1693,1650,1607,1564,1521,29,5947,5443,
+ 5384,5384,230,5384,230,230,230,5396,230,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,4116,3799,229,1,1,8744,
- 1,1,1,1,1,1,1014,365,5445,1,
- 1059,1,5165,5161,604,5169,622,5379,3300,320,
- 5267,3956,5364,3979,365,1,1,1,3384,1241,
- 5649,1910,5438,3665,889,347,39,39,3485,5476,
- 220,333,237,460,333,5270,350,1,5165,5161,
- 604,5169,622,100,3300,5941,5438,5382,5382,229,
- 5382,229,229,229,229,229,1,1,1,1,
+ 1,1,1,1,3329,5443,230,1,1,8845,
+ 1,1,1,1,1,1,37,5302,5302,1,
+ 4447,3495,334,228,5443,5079,5076,5381,634,624,
+ 5443,3302,1513,5888,5443,1,1,1,3386,339,
+ 5655,1912,5453,3667,2361,5704,5783,5784,5443,428,
+ 220,5698,5705,5701,5677,5703,5702,5699,5700,5678,
+ 4207,5452,5783,5784,5479,5947,5443,5384,5384,230,
+ 5384,230,230,230,5387,230,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5438,1059,229,1,1,8744,1,1,1,
- 1,1,1,92,1,1,1,1,1059,5303,
- 5438,39,5303,5438,5379,5476,5107,333,5448,1059,
- 333,5438,1,1,1,3384,4455,5649,1910,1241,
- 3665,1,5165,5161,585,5169,622,5447,3300,333,
- 5077,5074,604,632,622,5438,3300,293,5452,5453,
- 5438,364,5941,5438,5382,5382,229,5382,229,229,
- 229,229,229,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5438,4048,
- 229,1,1,8744,1,1,1,1,1,1,
- 5438,8709,8665,1,1059,1,5165,5161,5352,5169,
- 5358,5379,5355,120,39,5438,8709,8665,5476,1,
- 1,1,3384,5953,5649,1910,1,3665,5882,3485,
- 3438,95,39,39,343,5476,2414,5367,3158,3075,
- 5367,5438,5077,5074,1,632,622,4864,3300,5941,
- 5438,5382,5382,229,5382,229,229,229,229,229,
+ 1,5443,5443,230,1,1,8845,1,1,1,
+ 1,1,1,37,5302,5302,1,5443,1,5167,
+ 5163,606,5171,624,5381,3302,350,238,1,1728,
+ 5272,1,1,1,1,3386,366,5655,1912,5402,
+ 3667,1,5167,5163,587,5171,624,221,3302,5266,
+ 1,5299,5299,5443,5296,537,334,4756,366,334,
+ 5075,2594,5947,5443,5384,5384,230,5384,230,230,
+ 230,5387,230,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5443,1061,
+ 230,1,1,8845,1,1,1,1,1,1,
+ 443,366,5450,1,1061,334,5079,5076,606,634,
+ 624,5381,3302,321,5269,3801,5366,5443,366,1,
+ 1,1,3386,366,5655,1912,5443,3667,5443,348,
+ 39,39,3487,5481,221,334,5449,323,334,8,
+ 366,1,5167,5163,606,5171,624,5440,3302,5947,
+ 5443,5384,5384,230,5384,230,230,230,230,230,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,119,5438,229,1,1,
- 8744,1,1,1,1,1,1,5438,5438,1059,
- 1,5438,5452,5453,343,343,126,5438,5379,343,
- 3158,3075,5438,5323,5320,5438,1,1,1,3384,
- 5438,5649,1910,29,3665,5438,5876,5877,5878,5438,
- 5261,5258,313,5438,75,2994,3340,4103,5438,1,
- 1,1,1,1,1,1,5941,1,1,1,
+ 1,1,1,1,1,5443,1061,230,1,1,
+ 8845,1,1,1,1,1,1,449,39,39,
+ 1,5481,1061,5293,4231,3495,5293,4888,5381,1,
+ 1061,5448,4866,5882,5883,5884,1,1,1,3386,
+ 5440,5655,1912,1243,3667,5443,370,5167,5163,587,
+ 5171,624,1,3302,1,1,1,5167,5163,587,
+ 5171,624,5399,3302,47,5443,5947,5443,5384,5384,
+ 230,5384,230,230,230,230,230,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5474,2662,4754,1,1,1,3933,617,3485,5842,
- 4820,5500,5501,5264,5098,1,1,1,5080,1,
- 1,1,1,1,1,1,303,1,1,1,
- 1,1,1,5896,3933,617,5740,1147,1,5977,
- 2564,2492,1154,1,1,1,5165,5161,3185,5169,
- 3772,3841,3300,5438,3864,5125,5152,5158,5131,5134,
- 5146,5143,5149,5140,5137,5128,5155,5438,1059,5438,
- 3818,3795,1,5438,5438,5438,4100,5444,5267,808,
- 531,128,3910,3887,5457,3327,2826,579,993,5459,
- 924,4075,953,949,5460,5458,573,5454,5455,5456,
- 5438,5330,5326,5438,5438,1432,292,933,933,5438,
- 39,39,4117,519,39,5077,5074,3185,632,3772,
- 3841,3300,5432,3864,729,5703,5701,5710,5709,5705,
- 5706,5704,5707,5708,5711,5702,2662,5438,4886,3818,
- 3795,619,5443,4445,3493,531,47,5438,5474,5285,
- 4219,3910,3887,5457,127,2826,579,993,5459,924,
- 4075,953,5438,5460,5458,573,5454,5455,5456,45,
- 5343,5343,4229,3493,1432,2564,2492,5438,5438,5323,
- 5320,5416,5438,1628,5438,5445,141,5077,5074,3185,
- 632,3772,3841,3300,2243,3864,729,5703,5701,5710,
- 5709,5705,5706,5704,5707,5708,5711,5702,1,2662,
- 1,3818,3795,5438,5452,5453,5397,5340,163,5438,
- 5438,5450,5288,3910,3887,5457,5474,2826,579,993,
- 5459,924,4075,953,5438,5460,5458,573,5454,5455,
- 5456,37,5300,5300,5438,370,1432,4138,2564,2492,
- 3601,39,39,1,5165,5161,3185,5169,3772,3841,
- 3300,443,3864,5125,5152,5158,5131,5134,5146,5143,
- 5149,5140,5137,5128,5155,5449,5438,5438,3818,3795,
- 5449,5438,3527,163,4375,408,322,457,390,5474,
- 3910,3887,5457,5346,2826,579,993,5459,924,4075,
- 953,5438,5460,5458,573,5454,5455,5456,103,286,
- 431,4376,5349,1432,99,1389,5083,5438,39,39,
- 39,5077,5074,3185,632,3772,3841,3300,5413,3864,
- 729,5703,5701,5710,5709,5705,5706,5704,5707,5708,
- 5711,5702,5086,5113,5438,3818,3795,5438,670,1059,
- 3115,279,4252,377,5376,5438,399,3910,3887,5457,
- 390,2826,579,993,5459,924,4075,953,5438,5460,
- 5458,573,5454,5455,5456,1,1,1102,5723,5438,
- 1432,5438,4350,5438,5438,5388,5388,5416,39,5077,
- 5074,3185,632,3772,3841,3300,5413,3864,729,5703,
- 5701,5710,5709,5705,5706,5704,5707,5708,5711,5702,
- 1511,1511,29,3818,3795,5391,5391,48,294,451,
- 398,5453,73,3751,3751,3910,3887,5457,5438,2826,
- 579,993,5459,924,4075,953,3486,5460,5458,573,
- 5454,5455,5456,5438,1,5438,5438,643,1432,5910,
- 5904,1,39,5908,5448,5416,5476,292,423,5448,
- 1,48,5438,5438,35,5452,3689,1511,191,5902,
- 5903,4116,5453,5447,3535,1511,511,5370,5447,429,
- 509,5933,5934,3290,427,5911,5438,191,2078,4486,
- 5438,2557,5438,598,5438,4825,1,4858,5438,5913,
- 3515,4435,5438,5438,1,4859,3414,663,5438,1886,
- 1953,5438,5914,5935,5912,2117,5452,185,5438,452,
- 310,5438,5438,5438,5438,5438,8354,4677,2165,524,
- 2,5924,5923,5936,3576,3646,5905,5906,5929,5930,
- 5927,5928,5907,5909,5931,5932,4873,5438,1101,5937,
- 4879,5917,5918,5919,5915,5916,5925,5926,5921,5920,
- 5922,39,5077,5074,3185,632,3772,3841,3300,5442,
- 3864,729,5703,5701,5710,5709,5705,5706,5704,5707,
- 5708,5711,5702,3244,5438,37,3818,3795,3045,4062,
- 3282,5438,3576,3320,4320,2035,5438,5438,3910,3887,
- 5457,513,2826,579,993,5459,924,4075,953,5438,
- 5460,5458,573,5454,5455,5456,39,5077,5074,3185,
- 632,3772,3841,3300,4517,3864,729,5703,5701,5710,
- 5709,5705,5706,5704,5707,5708,5711,5702,5429,5438,
- 5438,3818,3795,5438,5438,5438,5438,4116,5438,5438,
- 5438,5438,5438,3910,3887,5457,5438,2826,579,993,
- 5459,924,4075,953,5438,5460,5458,573,5454,5455,
- 5456,2605,5438,5438,5438,5438,1432,5438,5441,39,
- 5077,5074,3185,632,3772,3841,3300,5438,3864,729,
- 5703,5701,5710,5709,5705,5706,5704,5707,5708,5711,
- 5702,5438,5438,5438,3818,3795,5438,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,3910,3887,5457,5438,
- 2826,579,993,5459,924,4075,953,5438,5460,5458,
- 573,5454,5455,5456,39,5077,5074,3185,632,3772,
- 3841,3300,1380,3864,729,5703,5701,5710,5709,5705,
- 5706,5704,5707,5708,5711,5702,5438,5438,5438,3818,
- 3795,5438,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,3910,3887,5457,5438,2826,579,993,5459,924,
- 4075,953,5438,5460,5458,573,5454,5455,5456,5438,
- 5438,5438,5438,5438,1432,39,5077,5074,4753,632,
- 3772,3841,3300,5438,3864,729,5703,5701,5710,5709,
- 5705,5706,5704,5707,5708,5711,5702,5438,5438,5438,
- 3818,3795,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,3910,3887,5457,5438,2826,579,993,5459,
- 924,4075,953,5438,5460,5458,573,5454,5455,5456,
- 39,5077,5074,3185,632,3772,3841,3300,5438,3864,
- 729,5703,5701,5710,5709,5705,5706,5704,5707,5708,
- 5711,5702,5438,5438,5438,3818,3795,5438,5438,5438,
- 5438,5438,5438,5438,5438,5438,5438,3910,3887,5457,
- 5438,2826,579,993,5459,924,4075,953,5438,5460,
- 5458,573,5454,5455,5456,39,5077,5074,3185,632,
- 3772,3841,3300,5438,3864,729,5703,5701,5710,5709,
- 5705,5706,5704,5707,5708,5711,5702,5438,5438,5438,
- 3818,3795,5438,5438,5438,5438,5438,5438,5438,5438,
- 5438,5438,3910,3887,5457,5438,2826,579,993,5459,
- 924,4075,953,5438,5460,5458,573,5454,5455,5456,
- 5438,5077,5074,5438,5476,5438,5438,5438,5438,5438,
- 682,5703,5701,5710,5709,5705,5706,5704,5707,5708,
- 5711,5702,5698,5777,5778,5438,5438,5438,5692,5699,
- 5695,5671,5697,5696,5693,5694,5672,5438,5438,5438,
- 5839,5438,5438,5438,5438,5438,5438,5438,5438,241,
- 5251,5247,5438,5255,5438,5438,2703,5840,5841,682,
- 5238,5244,5217,5220,5232,5229,5235,5226,5223,5214,
- 5241,5193,5187,5184,5438,5438,5438,5211,5190,5202,
- 5181,5196,5199,5208,5205,5178,5438,5438,5438,5839,
- 32,391,391,5273,391,391,5273,391,5273,5273,
- 5438,5438,5438,5438,5438,2703,5840,5841,5438,5438,
- 5438,5438,391,391,391,5438,223,5273,391,391,
- 391,391,391,391,391,391,391,5703,5701,5710,
- 5709,5705,5706,5704,5707,5708,5711,5702,5698,5777,
- 5778,5438,5438,5438,5692,5699,5695,5671,5697,5696,
- 5693,5694,5672,5273,5438,5438,5438,5438,5438,5438,
- 5438,5438,5438,5273
+ 1,1,5443,5443,230,1,1,8845,1,1,
+ 1,1,1,1,92,1,1,1,1,1061,
+ 5305,5443,2245,5305,3342,5381,1287,1994,132,1061,
+ 4822,5454,365,1,1,1,3386,2393,5655,1912,
+ 1,3667,5443,3487,5443,5443,5457,5458,344,1,
+ 5167,5163,5354,5171,5360,5443,5357,5443,8720,8715,
+ 293,935,935,5947,5443,5384,5384,230,5384,230,
+ 230,230,230,230,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5443,
+ 3529,230,1,1,8845,1,1,1,1,1,
+ 1,3440,5443,1061,1,5443,5263,5260,344,344,
+ 3935,619,5381,344,5443,361,5848,4102,29,444,
+ 1,1,1,3386,5443,5655,1912,4119,3667,5443,
+ 95,39,39,5443,5481,458,5369,5451,75,5369,
+ 5443,4105,5443,1,1,1,1,1,1,1,
+ 5947,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,5443,5457,5458,1,1,139,
+ 3935,619,5455,5082,5085,5505,5506,126,400,1,
+ 1,1,391,1,1,1,1,1,1,1,
+ 5088,1,1,1,1,1,1,5443,1016,5443,
+ 5450,1149,1,5984,287,5803,5443,1,1,1,
+ 5167,5163,3187,5171,3774,3843,3302,1,3866,5127,
+ 5154,5160,5133,5136,5148,5145,5151,5142,5139,5130,
+ 5157,5454,2664,1513,3820,3797,5443,5079,5076,5443,
+ 634,624,4221,3302,810,5100,3912,3889,5462,5443,
+ 2828,581,995,5464,926,4077,955,951,5465,5463,
+ 575,5459,5460,5461,5443,5325,5322,5902,5443,1434,
+ 2254,2566,2494,5729,39,39,2522,520,39,5079,
+ 5076,3187,634,3774,3843,3302,5437,3866,731,5709,
+ 5707,5716,5715,5711,5712,5710,5713,5714,5717,5708,
+ 5443,5332,5328,3820,3797,5443,5443,5805,5443,2739,
+ 1,4140,5479,3487,432,3912,3889,5462,5266,2828,
+ 581,995,5464,926,4077,955,452,5465,5463,575,
+ 5459,5460,5461,45,5345,5345,39,399,1434,1,
+ 5481,392,5443,5325,5322,5418,4519,5449,5479,5450,
+ 141,5079,5076,3187,634,3774,3843,3302,2416,3866,
+ 731,5709,5707,5716,5715,5711,5712,5710,5713,5714,
+ 5717,5708,5443,1061,1,3820,3797,37,5302,5302,
+ 5443,5342,533,5269,621,99,4352,3912,3889,5462,
+ 5479,2828,581,995,5464,926,4077,955,2559,5465,
+ 5463,575,5459,5460,5461,1,5443,5443,5443,4377,
+ 1434,373,5448,163,1630,39,39,1,5167,5163,
+ 3187,5171,3774,3843,3302,5479,3866,5127,5154,5160,
+ 5133,5136,5148,5145,5151,5142,5139,5130,5157,5882,
+ 5883,5884,3820,3797,5443,5443,371,533,1104,1,
+ 5443,128,391,5453,3912,3889,5462,5453,2828,581,
+ 995,5464,926,4077,955,1,5465,5463,575,5459,
+ 5460,5461,5452,295,5443,5443,5452,1434,163,672,
+ 293,1342,39,39,39,5079,5076,3187,634,3774,
+ 3843,3302,5415,3866,731,5709,5707,5716,5715,5711,
+ 5712,5710,5713,5714,5717,5708,2664,5115,103,3820,
+ 3797,4378,3603,1235,4050,5443,1391,5443,3117,5287,
+ 39,3912,3889,5462,5481,2828,581,995,5464,926,
+ 4077,955,127,5465,5463,575,5459,5460,5461,3340,
+ 1,5443,3537,2080,1434,2566,2494,430,5443,8155,
+ 5390,5418,39,5079,5076,3187,634,3774,3843,3302,
+ 5415,3866,731,5709,5707,5716,5715,5711,5712,5710,
+ 5713,5714,5717,5708,424,1,5443,3820,3797,280,
+ 5393,5443,5378,399,73,5390,5443,2664,3753,3912,
+ 3889,5462,5443,2828,581,995,5464,926,4077,955,
+ 5290,5465,5463,575,5459,5460,5461,5443,1,5443,
+ 1,645,1434,5916,5910,5393,1103,5914,191,5418,
+ 48,35,512,3753,5458,48,2566,2494,510,5457,
+ 453,1513,5443,5908,5909,3691,3488,191,1513,5372,
+ 5443,3292,311,4488,2167,5939,5940,5443,3464,5917,
+ 600,5443,5443,5443,5443,4827,4860,4437,5443,378,
+ 526,4861,3517,5919,2119,5443,5443,1,3416,4679,
+ 5443,665,525,1888,1955,5458,5920,5941,5918,5443,
+ 5457,5443,5443,5443,5443,194,5443,185,5443,514,
+ 5443,3578,4875,2,5443,5930,5929,5942,4881,3047,
+ 5911,5912,5935,5936,5933,5934,5913,5915,5937,5938,
+ 5443,4064,5443,5443,5943,5443,5923,5924,5925,5921,
+ 5922,5931,5932,5927,5926,5928,39,5079,5076,3187,
+ 634,3774,3843,3302,5447,3866,731,5709,5707,5716,
+ 5715,5711,5712,5710,5713,5714,5717,5708,37,3578,
+ 1,3820,3797,4118,3246,3284,3322,4322,2037,2607,
+ 5431,4118,1,3912,3889,5462,5443,2828,581,995,
+ 5464,926,4077,955,4118,5465,5463,575,5459,5460,
+ 5461,39,5079,5076,3187,634,3774,3843,3302,3648,
+ 3866,731,5709,5707,5716,5715,5711,5712,5710,5713,
+ 5714,5717,5708,5443,5443,5443,3820,3797,5434,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889,
+ 5462,5443,2828,581,995,5464,926,4077,955,5443,
+ 5465,5463,575,5459,5460,5461,5443,5443,5443,5443,
+ 5443,1434,5443,5443,5446,39,5079,5076,3187,634,
+ 3774,3843,3302,5443,3866,731,5709,5707,5716,5715,
+ 5711,5712,5710,5713,5714,5717,5708,5443,5443,5443,
+ 3820,3797,5443,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,3912,3889,5462,5443,2828,581,995,5464,
+ 926,4077,955,5443,5465,5463,575,5459,5460,5461,
+ 39,5079,5076,3187,634,3774,3843,3302,1382,3866,
+ 731,5709,5707,5716,5715,5711,5712,5710,5713,5714,
+ 5717,5708,5443,5443,5443,3820,3797,5443,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,3912,3889,5462,
+ 5443,2828,581,995,5464,926,4077,955,5443,5465,
+ 5463,575,5459,5460,5461,5443,5443,5443,5443,5443,
+ 1434,39,5079,5076,4755,634,3774,3843,3302,5443,
+ 3866,731,5709,5707,5716,5715,5711,5712,5710,5713,
+ 5714,5717,5708,5443,5443,5443,3820,3797,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889,
+ 5462,5443,2828,581,995,5464,926,4077,955,5443,
+ 5465,5463,575,5459,5460,5461,39,5079,5076,3187,
+ 634,3774,3843,3302,5443,3866,731,5709,5707,5716,
+ 5715,5711,5712,5710,5713,5714,5717,5708,5443,5443,
+ 5443,3820,3797,5443,5443,5443,5443,5443,5443,5443,
+ 5443,5443,5443,3912,3889,5462,5443,2828,581,995,
+ 5464,926,4077,955,5443,5465,5463,575,5459,5460,
+ 5461,39,5079,5076,3187,634,3774,3843,3302,5443,
+ 3866,731,5709,5707,5716,5715,5711,5712,5710,5713,
+ 5714,5717,5708,5443,5443,5443,3820,3797,5443,5443,
+ 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889,
+ 5462,5443,2828,581,995,5464,926,4077,955,5443,
+ 5465,5463,575,5459,5460,5461,5443,5079,5076,5443,
+ 5481,5443,5443,5443,5443,5443,684,5709,5707,5716,
+ 5715,5711,5712,5710,5713,5714,5717,5708,5704,5783,
+ 5784,5443,5443,5443,5698,5705,5701,5677,5703,5702,
+ 5699,5700,5678,5443,5443,5443,5845,5443,5443,5443,
+ 5443,5443,5443,5443,5443,242,5253,5249,5443,5257,
+ 5443,5443,2705,5846,5847,684,5240,5246,5219,5222,
+ 5234,5231,5237,5228,5225,5216,5243,5195,5189,5186,
+ 5443,5443,5443,5213,5192,5204,5183,5198,5201,5210,
+ 5207,5180,5443,5443,5443,5845,32,392,392,5275,
+ 392,392,5275,392,5275,5275,5443,5443,5443,5443,
+ 5443,2705,5846,5847,5443,5443,5443,5443,392,392,
+ 392,5443,224,5275,392,392,392,392,392,392,
+ 392,392,392,5709,5707,5716,5715,5711,5712,5710,
+ 5713,5714,5717,5708,5704,5783,5784,5443,5443,5443,
+ 5698,5705,5701,5677,5703,5702,5699,5700,5678,5275,
+ 5443,5443,5443,5443,5443,5443,5443,5443,5443,5275
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1808,60 +1810,60 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface Asb {
public final static char asb[] = {0,
- 745,7,540,1,786,875,875,875,875,1052,
+ 745,7,540,1,786,875,875,875,875,1050,
786,811,811,634,811,88,524,90,541,541,
541,541,541,541,541,541,541,813,819,824,
821,828,826,833,831,835,834,836,231,837,
540,524,674,674,674,674,579,927,291,291,
808,674,182,139,811,811,291,579,139,139,
- 130,524,885,673,1108,1054,989,524,811,813,
+ 130,524,885,673,1106,1052,987,524,811,813,
627,627,927,540,541,541,541,541,541,541,
541,541,541,541,541,541,541,541,541,541,
541,541,541,540,540,540,540,540,540,540,
540,540,540,540,540,541,139,139,801,801,
- 801,801,395,139,291,291,1050,978,989,288,
- 989,283,989,485,989,973,1052,579,182,182,
- 291,875,541,1050,142,11,477,476,433,996,
- 996,1052,90,182,673,540,577,1107,139,576,
+ 801,801,395,139,291,291,1048,976,987,288,
+ 987,283,987,485,987,971,1050,579,182,182,
+ 291,875,541,1048,142,11,477,476,433,994,
+ 994,1050,90,182,673,540,577,1105,139,576,
578,576,139,182,821,821,819,819,819,826,
826,826,826,824,824,831,828,828,834,833,
- 835,1066,836,786,786,786,786,579,579,801,
- 800,801,808,579,280,350,285,394,286,1052,
+ 835,1064,836,786,786,786,786,579,579,801,
+ 800,801,808,579,280,350,285,394,286,1050,
579,579,395,801,130,182,852,139,13,15,
- 579,1108,541,674,817,95,139,1054,579,579,
- 578,1108,540,540,540,540,540,786,786,524,
+ 579,1106,541,674,817,95,139,1052,579,579,
+ 578,1106,540,540,540,540,540,786,786,524,
281,806,804,350,579,708,418,706,395,288,
399,579,395,579,139,481,469,480,15,395,
- 577,139,817,1050,1107,1054,579,577,139,139,
- 139,139,927,927,281,804,402,579,350,1066,
- 286,875,397,343,1056,350,708,707,708,708,
+ 577,139,817,1048,1105,1052,579,577,139,139,
+ 139,139,927,927,281,804,402,579,350,1064,
+ 286,875,397,343,1054,350,708,707,708,708,
395,399,399,579,579,423,540,478,478,405,
- 405,579,9,1050,712,139,579,817,818,817,
- 540,95,348,813,1054,139,139,804,804,1108,
- 288,288,801,875,576,491,1058,573,786,708,
+ 405,579,9,1048,712,139,579,817,818,817,
+ 540,95,348,813,1052,139,139,804,804,1106,
+ 288,288,801,875,576,491,1056,573,786,708,
708,708,708,579,399,401,861,401,423,540,
- 540,15,579,1108,139,13,469,423,1031,817,
+ 540,15,579,1106,139,13,469,423,1029,817,
927,541,182,348,804,803,577,588,288,186,
- 366,577,708,708,573,857,541,1066,413,868,
- 579,1050,708,708,1114,401,402,541,579,795,
+ 366,577,708,708,573,857,541,1064,413,868,
+ 579,1048,708,708,1112,401,402,541,579,795,
15,423,818,139,182,804,858,588,588,969,
- 1068,272,786,286,223,366,577,708,288,1052,
- 1058,541,541,1107,573,877,701,1115,579,402,
+ 1066,272,786,286,223,366,577,708,288,1050,
+ 1056,541,541,1105,573,877,701,1113,579,402,
795,139,795,402,588,588,185,272,969,881,
- 1052,800,875,582,582,858,288,504,877,579,
- 786,1114,579,1052,1052,579,786,788,795,402,
- 186,588,858,412,857,139,1052,579,366,186,
- 366,799,799,866,505,1052,579,927,579,579,
+ 1050,800,875,582,582,858,288,504,877,579,
+ 786,1112,579,1050,1050,579,786,788,795,402,
+ 186,588,858,412,857,139,1050,579,366,186,
+ 366,799,799,866,505,1050,579,927,579,579,
579,16,788,588,540,51,573,858,579,579,
- 366,674,674,866,504,1066,541,1066,858,503,
+ 366,674,674,866,504,1064,541,1064,858,503,
786,786,786,505,786,579,239,858,858,579,
288,139,579,579,138,790,402,139,402,288,
- 579,858,800,496,786,496,505,1066,505,524,
- 524,522,971,524,858,858,416,866,674,790,
+ 579,858,800,496,786,496,505,1064,505,524,
+ 524,522,503,524,858,858,416,502,674,790,
402,51,858,48,712,505,139,573,139,522,
- 272,786,139,866,51,582,139,139,1044,505,
+ 272,786,139,866,51,582,139,139,1042,505,
416,505,858,272,540,505,502,401,799,288,
- 288,1046,540,503,927,858,139,856,50,576,
+ 288,1044,540,503,927,858,139,856,50,576,
505,139,858,856,856,505
};
};
@@ -1870,7 +1872,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface Asr {
public final static byte asr[] = {0,
- 8,72,117,73,27,69,120,0,5,7,
+ 8,72,118,73,27,69,120,0,5,7,
3,63,6,9,90,28,11,12,23,13,
56,29,30,14,31,32,15,16,33,34,
17,18,35,57,36,10,58,19,22,20,
@@ -1881,19 +1883,19 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
43,47,45,42,51,67,8,7,5,1,
2,66,65,0,91,89,25,26,92,93,
87,88,55,94,95,96,97,98,99,100,
- 101,106,72,90,70,107,108,109,110,111,
- 112,113,114,115,116,117,71,27,120,68,
+ 101,107,72,90,70,108,109,110,111,112,
+ 113,114,115,116,117,118,71,27,120,68,
1,2,9,6,4,3,63,69,73,8,
0,65,66,3,10,43,47,45,42,51,
12,21,11,17,15,16,18,19,14,13,
20,52,53,54,39,50,44,49,5,7,
4,37,38,9,6,25,26,41,46,1,
- 2,117,8,0,67,40,23,13,56,29,
+ 2,118,8,0,67,40,23,13,56,29,
14,31,32,15,16,33,34,17,18,35,
57,36,58,19,22,20,24,21,12,11,
28,8,3,9,6,27,62,64,86,30,
61,48,7,1,2,5,4,10,59,0,
- 68,72,90,69,117,73,71,120,11,12,
+ 68,72,90,69,118,73,71,120,11,12,
42,65,13,43,44,14,15,16,66,45,
17,18,46,47,49,60,50,51,10,19,
20,21,52,53,54,39,37,38,25,26,
@@ -1905,7 +1907,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
50,36,51,58,19,22,20,24,21,52,
53,54,39,3,37,38,9,6,25,26,
41,68,7,1,2,4,10,5,0,86,
- 59,7,102,103,104,62,8,3,9,6,
+ 59,7,103,104,105,62,8,3,9,6,
5,72,71,27,61,28,11,12,40,23,
13,56,29,30,14,31,32,15,16,33,
34,17,18,35,57,36,10,58,19,22,
@@ -1919,8 +1921,8 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
9,6,5,4,73,27,3,0,9,6,
7,5,4,1,2,3,63,68,70,69,
8,73,90,0,4,8,67,1,2,0,
- 8,72,67,74,0,86,102,103,104,48,
- 72,118,121,71,61,74,62,59,64,76,
+ 8,72,67,74,0,86,103,104,105,48,
+ 72,102,121,71,61,74,62,59,64,76,
78,84,82,75,80,81,83,85,67,77,
79,27,8,28,40,23,56,29,30,31,
32,33,34,35,57,36,58,22,24,60,
@@ -1934,10 +1936,10 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
36,10,58,19,62,22,20,24,21,8,
3,9,6,71,27,61,7,4,48,5,
1,2,0,66,65,25,26,6,92,93,
- 98,9,99,5,41,70,55,68,110,111,
- 107,108,109,115,114,116,88,87,112,113,
+ 98,9,99,5,41,70,55,68,111,112,
+ 108,109,110,116,115,117,88,87,113,114,
96,97,94,95,100,101,37,38,69,89,
- 105,63,3,28,11,12,40,23,13,56,
+ 106,63,3,28,11,12,40,23,13,56,
29,30,14,31,32,15,16,33,34,17,
18,35,57,36,10,58,19,20,24,21,
1,2,4,22,0,4,55,8,72,67,
@@ -1951,12 +1953,12 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
26,5,41,4,61,3,0,23,24,74,
3,72,27,67,60,8,90,73,70,69,
68,0,60,23,24,7,5,1,2,4,
- 74,67,119,105,37,38,63,3,91,89,
+ 74,67,119,106,37,38,63,3,91,89,
6,92,93,25,26,88,87,55,94,95,
96,97,9,98,99,100,68,90,73,120,
- 70,107,108,109,110,111,112,113,114,115,
- 116,72,117,101,106,71,69,27,8,0,
- 8,69,71,70,0,118,0,72,8,63,
+ 70,108,109,110,111,112,113,114,115,116,
+ 117,72,118,101,107,71,69,27,8,0,
+ 8,69,71,70,0,102,0,72,8,63,
3,70,69,27,55,0,8,67,69,0,
8,67,70,0,65,66,37,38,9,6,
25,26,5,41,46,3,4,7,52,53,
@@ -1967,22 +1969,21 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
45,17,18,46,47,49,60,50,51,10,
19,20,21,52,53,54,1,2,3,37,
38,9,6,25,26,5,41,4,39,0,
- 75,0,10,56,40,57,58,12,21,11,
- 17,15,16,18,19,14,13,20,74,72,
- 90,117,71,67,120,119,91,105,89,37,
- 38,25,26,92,93,87,88,55,68,94,
- 95,96,97,98,99,100,101,106,70,107,
- 108,109,110,111,112,113,114,115,116,69,
- 28,23,29,30,31,32,33,34,35,36,
- 22,24,27,8,73,3,63,7,5,9,
- 6,1,2,4,0,27,8,3,7,5,
- 9,6,4,1,2,72,0,40,23,13,
- 56,29,14,31,32,15,16,33,34,17,
- 18,35,57,36,10,58,19,22,20,24,
- 21,12,11,28,8,3,9,27,62,59,
- 64,86,30,61,55,4,6,7,1,2,
- 5,48,0,22,1,2,4,102,103,104,
- 0
+ 10,56,40,57,58,12,21,11,17,15,
+ 16,18,19,14,13,20,74,72,90,118,
+ 71,67,120,119,91,106,89,37,38,25,
+ 26,92,93,87,88,55,68,94,95,96,
+ 97,98,99,100,101,107,70,108,109,110,
+ 111,112,113,114,115,116,117,69,28,23,
+ 29,30,31,32,33,34,35,36,22,24,
+ 27,8,73,3,63,7,5,9,6,1,
+ 2,4,0,27,8,3,7,5,9,6,
+ 4,1,2,72,0,40,23,13,56,29,
+ 14,31,32,15,16,33,34,17,18,35,
+ 57,36,10,58,19,22,20,24,21,12,
+ 11,28,8,3,9,27,62,59,64,86,
+ 30,61,55,4,6,7,1,2,5,48,
+ 0,22,1,2,4,103,104,105,0
};
};
public final static byte asr[] = Asr.asr;
@@ -2098,8 +2099,8 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
119,30,118,96,108,49,50,56,57,59,
69,71,72,85,92,65,17,18,6,32,
4,15,16,21,22,23,24,25,26,27,
- 28,80,81,82,5,29,34,35,36,37,
- 38,39,40,41,42,43,117,51,3,123,
+ 28,51,80,81,82,5,29,34,35,36,
+ 37,38,39,40,41,42,43,117,3,123,
62,116
};
};
@@ -2193,16 +2194,16 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface ScopeLa {
public final static byte scopeLa[] = {
- 118,71,73,73,71,71,73,73,73,73,
+ 102,71,73,73,71,71,73,73,73,73,
73,71,27,71,1,68,1,73,121,67,
3,73,68,68,68,1,1,27,71,67,
1,1,1,71,1,1,4,68,69,27,
- 1,1,68,73,73,73,118,73,1,27,
- 1,27,27,71,117,73,73,73,73,73,
- 117,1,73,1,73,73,73,72,4,1,
+ 1,1,68,73,73,73,102,73,1,27,
+ 1,27,27,71,118,73,73,73,73,73,
+ 118,1,73,1,73,73,73,72,4,1,
1,6,73,68,68,68,68,73,3,1,
- 1,73,73,3,1,117,73,1,1,1,
- 27,73,117,73,5,73,1,48,70,72,
+ 1,73,73,3,1,118,73,1,1,1,
+ 27,73,118,73,5,73,1,48,70,72,
73,1,48,75,74,27,27,4,4,4,
4,3,1,67,1,1,3
};
@@ -2231,7 +2232,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 322,3,60,0,126,0,321,3,118,0,
+ 322,3,60,0,126,0,321,3,102,0,
126,172,0,126,179,74,0,216,0,254,
126,55,124,0,20,0,297,126,55,48,
0,20,53,0,33,132,0,20,53,0,
@@ -2277,7 +2278,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
155,224,3,83,0,62,171,0,224,3,
83,0,126,171,62,171,0,303,126,165,
0,162,0,213,77,0,30,171,0,162,
- 106,159,0,30,169,0,178,3,0,126,
+ 107,159,0,30,169,0,178,3,0,126,
149,0,218,3,0,213,63,266,0,162,
63,0,178,3,299,66,127,0,126,0,
0,0,0,299,66,127,0,2,145,126,
@@ -2304,38 +2305,38 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface ScopeState {
public final static char scopeState[] = {0,
- 4733,4859,4858,4825,0,3252,1989,3128,1152,0,
- 3621,3563,3499,3396,3358,3320,3282,3244,3206,2986,
- 2948,4435,0,946,0,1681,1339,1058,0,3045,
- 2557,0,3621,3563,1810,1724,3499,3396,3358,3320,
- 3282,3244,1092,3206,2986,2948,1595,1509,0,4751,
- 3493,3508,0,1101,4350,0,1003,821,0,4531,
- 4304,0,655,583,0,4271,4531,2806,3140,4304,
- 3062,3472,4284,4062,2479,4048,604,2711,585,2690,
- 0,4553,4547,0,4553,4547,4184,4445,4429,4111,
- 4363,4347,4097,3601,3621,3563,3499,3396,3358,3320,
- 3282,3244,3206,2986,2948,0,4553,4547,4184,4445,
- 4429,4111,4363,4347,4097,3601,0,2737,871,0,
- 2479,4271,4780,2806,3140,4456,2711,2977,4324,822,
- 4318,4522,1320,3505,879,0,949,808,0,617,
- 0,2542,1946,1774,1018,3140,4522,3062,585,2690,
- 3485,2797,0,4240,540,2733,0,4724,4703,4686,
- 4665,4657,4650,4639,4635,4585,4564,4816,4169,3456,
- 4812,4805,4801,3221,4788,3193,2704,746,2742,1384,
- 0,3523,2597,4724,4703,4686,2247,2160,4665,939,
- 4657,4650,4639,4635,4585,3306,4387,4153,4564,2966,
- 4816,2791,2778,2592,2243,4169,3456,2156,2860,4812,
- 3420,4805,2725,4801,3221,4788,741,3193,2704,746,
- 4240,622,2733,2742,1384,2621,2545,1328,632,2605,
- 3062,3472,4284,4062,2479,4271,4048,4531,2806,3140,
- 604,2711,585,4304,2690,2953,2525,949,808,4075,
- 4025,4002,2252,2291,2359,2326,2450,2421,2391,2925,
- 2898,2662,2634,2564,2492,3747,3722,3697,3158,3075,
- 3979,3956,3933,3910,3887,3864,3841,3818,3795,3772,
- 2826,2035,2204,2165,2117,2078,1241,1102,1389,1340,
- 1285,889,1992,1059,832,751,694,1949,1906,1863,
- 1820,1777,1734,1691,1648,1605,1562,1519,540,1476,
- 1432,1198,1014,970,1154,0
+ 4735,4861,4860,4827,0,3254,1991,3130,1154,0,
+ 3623,3565,3501,3398,3360,3322,3284,3246,3208,2988,
+ 2950,4437,0,948,0,1683,1341,1060,0,3047,
+ 2559,0,3623,3565,1812,1726,3501,3398,3360,3322,
+ 3284,3246,1094,3208,2988,2950,1597,1511,0,4753,
+ 3495,3510,0,1103,4352,0,1005,823,0,4533,
+ 4306,0,657,585,0,4273,4533,2808,3142,4306,
+ 3064,3474,4286,4064,2481,4050,606,2713,587,2692,
+ 0,4555,4549,0,4555,4549,4186,4447,4431,4113,
+ 4365,4349,4099,3603,3623,3565,3501,3398,3360,3322,
+ 3284,3246,3208,2988,2950,0,4555,4549,4186,4447,
+ 4431,4113,4365,4349,4099,3603,0,2739,873,0,
+ 2481,4273,4782,2808,3142,4458,2713,2979,4326,824,
+ 4320,4524,1322,3507,881,0,951,810,0,619,
+ 0,2544,1948,1776,1020,3142,4524,3064,587,2692,
+ 3487,2799,0,4242,542,2735,0,4726,4705,4688,
+ 4667,4659,4652,4641,4637,4587,4566,4818,4171,3458,
+ 4814,4807,4803,3223,4790,3195,2706,748,2744,1386,
+ 0,3525,2599,4726,4705,4688,2249,2162,4667,941,
+ 4659,4652,4641,4637,4587,3308,4389,4155,4566,2968,
+ 4818,2793,2780,2594,2245,4171,3458,2158,2862,4814,
+ 3422,4807,2727,4803,3223,4790,743,3195,2706,748,
+ 4242,624,2735,2744,1386,2623,2547,1330,634,2607,
+ 3064,3474,4286,4064,2481,4273,4050,4533,2808,3142,
+ 606,2713,587,4306,2692,2955,2527,951,810,4077,
+ 4027,4004,2254,2293,2361,2328,2452,2423,2393,2927,
+ 2900,2664,2636,2566,2494,3749,3724,3699,3160,3077,
+ 3981,3958,3935,3912,3889,3866,3843,3820,3797,3774,
+ 2828,2037,2206,2167,2119,2080,1243,1104,1391,1342,
+ 1287,891,1994,1061,834,753,696,1951,1908,1865,
+ 1822,1779,1736,1693,1650,1607,1564,1521,542,1478,
+ 1434,1200,1016,972,1156,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2350,10 +2351,10 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
69,3,55,55,55,55,127,3,55,55,
168,126,63,3,65,66,55,5,178,162,
168,126,65,66,167,166,124,3,123,125,
- 105,119,3,63,89,91,26,25,93,92,
+ 106,119,3,63,89,91,26,25,93,92,
6,95,94,68,55,87,88,9,97,96,
- 99,98,100,116,115,114,113,112,111,110,
- 109,108,107,70,106,101,178,162,178,178,
+ 99,98,100,117,116,115,114,113,112,111,
+ 110,109,108,70,107,101,178,162,178,178,
178,178,167,218,126,126,126,270,271,253,
272,242,273,56,274,275,10,127,63,63,
126,124,155,126,63,3,216,215,135,125,
@@ -2391,7 +2392,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
126,70,70,126,303,79,77,1,162,8,
85,83,81,80,75,82,84,78,76,59,
74,218,180,180,322,220,235,152,165,252,
- 180,225,297,285,118,8,72,213,72,3,
+ 180,225,297,285,102,8,72,213,72,3,
3,3,191,3,123,162,123,179,69,126,
126,165,225,68,3,72,224,168,224,305,
145,75,224,126,126,40,90,321,168,155,
@@ -2674,18 +2675,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public final static int
NUM_STATES = 546,
NT_OFFSET = 122,
- LA_STATE_OFFSET = 5977,
+ LA_STATE_OFFSET = 5984,
MAX_LA = 2147483647,
- NUM_RULES = 539,
+ NUM_RULES = 541,
NUM_NONTERMINALS = 204,
NUM_SYMBOLS = 326,
SEGMENT_SIZE = 8192,
- START_STATE = 3490,
+ START_STATE = 3492,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 120,
EOLT_SYMBOL = 120,
- ACCEPT_ACTION = 5073,
- ERROR_ACTION = 5438;
+ ACCEPT_ACTION = 5075,
+ ERROR_ACTION = 5443;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
index 9c39b5b35ae..c9c84d2df7f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -20,7 +20,7 @@ public interface CPPExpressionParsersym {
TK_bool = 11,
TK_break = 76,
TK_case = 77,
- TK_catch = 118,
+ TK_catch = 102,
TK_char = 12,
TK_class = 40,
TK_const = 23,
@@ -49,9 +49,9 @@ public interface CPPExpressionParsersym {
TK_namespace = 59,
TK_new = 66,
TK_operator = 7,
- TK_private = 102,
- TK_protected = 103,
- TK_public = 104,
+ TK_private = 103,
+ TK_protected = 104,
+ TK_public = 105,
TK_register = 34,
TK_reinterpret_cast = 45,
TK_return = 84,
@@ -90,7 +90,7 @@ public interface CPPExpressionParsersym {
TK_LeftParen = 3,
TK_Dot = 119,
TK_DotStar = 91,
- TK_Arrow = 105,
+ TK_Arrow = 106,
TK_ArrowStar = 89,
TK_PlusPlus = 37,
TK_MinusMinus = 38,
@@ -114,23 +114,23 @@ public interface CPPExpressionParsersym {
TK_Or = 99,
TK_AndAnd = 100,
TK_OrOr = 101,
- TK_Question = 106,
+ TK_Question = 107,
TK_Colon = 72,
TK_ColonColon = 4,
TK_DotDotDot = 90,
TK_Assign = 70,
- TK_StarAssign = 107,
- TK_SlashAssign = 108,
- TK_PercentAssign = 109,
- TK_PlusAssign = 110,
- TK_MinusAssign = 111,
- TK_RightShiftAssign = 112,
- TK_LeftShiftAssign = 113,
- TK_AndAssign = 114,
- TK_CaretAssign = 115,
- TK_OrAssign = 116,
+ TK_StarAssign = 108,
+ TK_SlashAssign = 109,
+ TK_PercentAssign = 110,
+ TK_PlusAssign = 111,
+ TK_MinusAssign = 112,
+ TK_RightShiftAssign = 113,
+ TK_LeftShiftAssign = 114,
+ TK_AndAssign = 115,
+ TK_CaretAssign = 116,
+ TK_OrAssign = 117,
TK_Comma = 69,
- TK_RightBracket = 117,
+ TK_RightBracket = 118,
TK_RightParen = 73,
TK_RightBrace = 71,
TK_SemiColon = 27,
@@ -241,6 +241,7 @@ public interface CPPExpressionParsersym {
"Or",
"AndAnd",
"OrOr",
+ "catch",
"private",
"protected",
"public",
@@ -257,7 +258,6 @@ public interface CPPExpressionParsersym {
"CaretAssign",
"OrAssign",
"RightBracket",
- "catch",
"Dot",
"EOF_TOKEN",
"else",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java
index dd30ebcd43d..6b4ca0bd477 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2006, 2009 IBM Corporation and others.
+* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -997,925 +997,937 @@ public CPPNoCastExpressionParser(ITokenStream stream, Map<String,String> propert
//
// Rule 192: iteration_statement ::= do statement while ( expression ) ;
//
- case 192: { action. consumeStatementDoLoop(); break;
+ case 192: { action. consumeStatementDoLoop(true); break;
}
//
- // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 193: iteration_statement ::= do statement
//
- case 193: { action. consumeStatementForLoop(); break;
+ case 193: { action. consumeStatementDoLoop(false); break;
}
//
- // Rule 195: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 195: { action. consumeStatementDeclaration(); break;
+ case 194: { action. consumeStatementForLoop(); break;
}
//
- // Rule 196: jump_statement ::= break ;
+ // Rule 196: for_init_statement ::= simple_declaration_with_declspec
//
- case 196: { action. consumeStatementBreak(); break;
+ case 196: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 197: jump_statement ::= continue ;
+ // Rule 197: jump_statement ::= break ;
//
- case 197: { action. consumeStatementContinue(); break;
+ case 197: { action. consumeStatementBreak(); break;
}
//
- // Rule 198: jump_statement ::= return expression ;
+ // Rule 198: jump_statement ::= continue ;
//
- case 198: { action. consumeStatementReturn(true); break;
+ case 198: { action. consumeStatementContinue(); break;
}
//
- // Rule 199: jump_statement ::= return ;
+ // Rule 199: jump_statement ::= return expression ;
//
- case 199: { action. consumeStatementReturn(false); break;
+ case 199: { action. consumeStatementReturn(true); break;
}
//
- // Rule 200: jump_statement ::= goto identifier_token ;
+ // Rule 200: jump_statement ::= return ;
//
- case 200: { action. consumeStatementGoto(); break;
+ case 200: { action. consumeStatementReturn(false); break;
}
//
- // Rule 201: declaration_statement ::= block_declaration
+ // Rule 201: jump_statement ::= goto identifier_token ;
//
- case 201: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 201: { action. consumeStatementGoto(); break;
}
//
- // Rule 202: declaration_statement ::= function_definition
+ // Rule 202: declaration_statement ::= block_declaration
//
- case 202: { action. consumeStatementDeclaration(); break;
+ case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 210: declaration ::= ERROR_TOKEN
+ // Rule 203: declaration_statement ::= function_definition
//
- case 210: { action. consumeDeclarationProblem(); break;
+ case 203: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 211: declaration ::= ERROR_TOKEN
//
- case 220: { action. consumeDeclarationSimple(true); break;
+ case 211: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
case 221: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 222: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 223: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 226: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 228: declaration_specifiers_opt ::= $Empty
+ // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 228: { action. consumeEmpty(); break;
+ case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 232: no_type_declaration_specifier ::= friend
+ // Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 232: { action. consumeToken(); break;
+ case 229: { action. consumeEmpty(); break;
}
//
- // Rule 233: no_type_declaration_specifier ::= typedef
+ // Rule 233: no_type_declaration_specifier ::= friend
//
case 233: { action. consumeToken(); break;
}
//
- // Rule 253: storage_class_specifier ::= auto
+ // Rule 234: no_type_declaration_specifier ::= typedef
//
- case 253: { action. consumeToken(); break;
+ case 234: { action. consumeToken(); break;
}
//
- // Rule 254: storage_class_specifier ::= register
+ // Rule 254: storage_class_specifier ::= auto
//
case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= static
+ // Rule 255: storage_class_specifier ::= register
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= extern
+ // Rule 256: storage_class_specifier ::= static
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= mutable
+ // Rule 257: storage_class_specifier ::= extern
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: function_specifier ::= inline
+ // Rule 258: storage_class_specifier ::= mutable
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: function_specifier ::= virtual
+ // Rule 259: function_specifier ::= inline
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= explicit
+ // Rule 260: function_specifier ::= virtual
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 261: function_specifier ::= explicit
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 262: simple_type_specifier ::= simple_type_specifier_token
//
- case 275: { action. consumeQualifiedId(false); break;
+ case 262: { action. consumeToken(); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
case 276: { action. consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 277: { action. consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 278: { action. consumeQualifiedId(true); break;
+ case 278: { action. consumeQualifiedId(false); break;
}
//
- // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 280: { action. consumeTypeSpecifierElaborated(false); break;
+ case 279: { action. consumeQualifiedId(true); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 281: { action. consumeTypeSpecifierElaborated(true); break;
+ case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 282: { action. consumeTypeSpecifierElaborated(false); break;
+ case 282: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 286: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 286: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 283: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 287: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 287: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 287: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 293: enumerator_definition ::= identifier_token
+ // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 293: { action. consumeEnumerator(false); break;
+ case 288: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 294: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 294: enumerator_definition ::= identifier_token
//
- case 294: { action. consumeEnumerator(true); break;
+ case 294: { action. consumeEnumerator(false); break;
}
//
- // Rule 296: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ // Rule 295: enumerator_definition ::= identifier_token = constant_expression
//
- case 296: { action. consumeNamespaceDefinition(true); break;
+ case 295: { action. consumeEnumerator(true); break;
}
//
- // Rule 297: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
//
- case 297: { action. consumeNamespaceDefinition(false); break;
+ case 297: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
//
- case 299: { action. consumeNamespaceAliasDefinition(); break;
+ case 298: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 300: { action. consumeUsingDeclaration(); break;
+ case 300: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 301: { action. consumePlaceHolder(); break;
+ case 301: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 302: typename_opt ::= typename
//
- case 302: { action. consumeEmpty(); break;
+ case 302: { action. consumePlaceHolder(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: typename_opt ::= $Empty
//
- case 303: { action. consumeUsingDirective(); break;
+ case 303: { action. consumeEmpty(); break;
}
//
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 304: { action. consumeDeclarationASM(); break;
+ case 304: { action. consumeUsingDirective(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: asm_definition ::= asm ( stringlit ) ;
//
- case 305: { action. consumeLinkageSpecification(); break;
+ case 305: { action. consumeDeclarationASM(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
case 306: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 311: init_declarator_complete ::= init_declarator
+ // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 311: { action. consumeInitDeclaratorComplete(); break;
+ case 307: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 313: init_declarator ::= complete_declarator initializer
+ // Rule 312: init_declarator_complete ::= init_declarator
//
- case 313: { action. consumeDeclaratorWithInitializer(true); break;
+ case 312: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 314: init_declarator ::= complete_declarator initializer
//
- case 316: { action. consumeDeclaratorWithPointer(true); break;
+ case 314: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 318: { action. consumeDeclaratorWithPointer(true); break;
+ case 317: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 322: basic_direct_declarator ::= declarator_id_name
+ // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 322: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 319: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 323: basic_direct_declarator ::= ( declarator )
+ // Rule 323: basic_direct_declarator ::= declarator_id_name
//
- case 323: { action. consumeDirectDeclaratorBracketed(); break;
+ case 323: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 324: basic_direct_declarator ::= ( declarator )
//
- case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 324: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier
//
case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 327: array_modifier ::= [ constant_expression ]
+ // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 327: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 328: array_modifier ::= [ ]
+ // Rule 328: array_modifier ::= [ constant_expression ]
//
- case 328: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 328: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: array_modifier ::= [ ]
//
- case 329: { action. consumePointer(); break;
+ case 329: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 330: ptr_operator ::= pointer_hook & pointer_hook
+ // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
//
- case 330: { action. consumeReferenceOperator(); break;
+ case 330: { action. consumePointer(); break;
}
//
- // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ // Rule 331: ptr_operator ::= pointer_hook & pointer_hook
//
- case 331: { action. consumePointerToMember(); break;
+ case 331: { action. consumeReferenceOperator(); break;
}
//
- // Rule 338: cv_qualifier ::= const
+ // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
//
- case 338: { action. consumeToken(); break;
+ case 332: { action. consumePointerToMember(); break;
}
//
- // Rule 339: cv_qualifier ::= volatile
+ // Rule 339: cv_qualifier ::= const
//
case 339: { action. consumeToken(); break;
}
//
- // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 340: cv_qualifier ::= volatile
//
- case 341: { action. consumeQualifiedId(false); break;
+ case 340: { action. consumeToken(); break;
}
//
- // Rule 342: type_id ::= type_specifier_seq
+ // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 342: { action. consumeTypeId(false); break;
+ case 342: { action. consumeQualifiedId(false); break;
}
//
- // Rule 343: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 343: type_id ::= type_specifier_seq
//
- case 343: { action. consumeTypeId(true); break;
+ case 343: { action. consumeTypeId(false); break;
}
//
- // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 344: type_id ::= type_specifier_seq abstract_declarator
//
- case 346: { action. consumeDeclaratorWithPointer(false); break;
+ case 344: { action. consumeTypeId(true); break;
}
//
- // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 347: { action. consumeDeclaratorWithPointer(true); break;
+ case 347: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 351: { action. consumeDirectDeclaratorBracketed(); break;
+ case 348: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 352: basic_direct_abstract_declarator ::= ( )
+ // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 352: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 352: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= array_modifier
+ // Rule 353: basic_direct_abstract_declarator ::= ( )
//
- case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 353: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 354: array_direct_abstract_declarator ::= array_modifier
//
- case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 356: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 357: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 358: { action. consumePlaceHolder(); break;
+ case 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 359: { action. consumeEmpty(); break;
+ case 359: { action. consumePlaceHolder(); break;
}
//
- // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 360: { action. consumePlaceHolder(); break;
+ case 360: { action. consumeEmpty(); break;
}
//
- // Rule 366: abstract_declarator_opt ::= $Empty
+ // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 366: { action. consumeEmpty(); break;
+ case 361: { action. consumePlaceHolder(); break;
}
//
- // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 367: abstract_declarator_opt ::= $Empty
//
- case 367: { action. consumeParameterDeclaration(); break;
+ case 367: { action. consumeEmpty(); break;
}
//
- // Rule 368: parameter_declaration ::= declaration_specifiers
+ // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 368: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 369: parameter_declaration ::= declaration_specifiers
//
- case 370: { action. consumeDeclaratorWithInitializer(true); break;
+ case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 372: { action. consumeDeclaratorWithInitializer(true); break;
+ case 371: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 373: parameter_init_declarator ::= = parameter_initializer
+ // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 373: { action. consumeDeclaratorWithInitializer(false); break;
+ case 373: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 374: parameter_initializer ::= assignment_expression
+ // Rule 374: parameter_init_declarator ::= = parameter_initializer
//
- case 374: { action. consumeInitializer(); break;
+ case 374: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 375: parameter_initializer ::= assignment_expression
//
- case 375: { action. consumeFunctionDefinition(false); break;
+ case 375: { action. consumeInitializer(); break;
}
//
- // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 376: { action. consumeFunctionDefinition(true); break;
+ case 376: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 379: initializer ::= ( expression_list )
+ // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 379: { action. consumeInitializerConstructor(); break;
+ case 377: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 380: initializer_clause ::= assignment_expression
+ // Rule 380: initializer ::= ( expression_list )
//
- case 380: { action. consumeInitializer(); break;
+ case 380: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
+ // Rule 381: initializer_clause ::= assignment_expression
//
- case 382: { action. consumeInitializerList(); break;
+ case 381: { action. consumeInitializer(); break;
}
//
- // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
+ // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
//
case 383: { action. consumeInitializerList(); break;
}
//
- // Rule 384: initializer_list ::= { <openscope-ast> }
+ // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
//
case 384: { action. consumeInitializerList(); break;
}
//
- // Rule 385: start_initializer_list ::= $Empty
+ // Rule 385: initializer_list ::= { <openscope-ast> }
//
- case 385: { action. initializerListStart(); break;
+ case 385: { action. consumeInitializerList(); break;
}
//
- // Rule 386: end_initializer_list ::= $Empty
+ // Rule 386: start_initializer_list ::= $Empty
//
- case 386: { action. initializerListEnd(); break;
+ case 386: { action. initializerListStart(); break;
}
//
- // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 387: end_initializer_list ::= $Empty
//
- case 391: { action. consumeClassSpecifier(); break;
+ case 387: { action. initializerListEnd(); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 392: { action. consumeClassHead(false); break;
+ case 392: { action. consumeClassSpecifier(); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 393: { action. consumeClassHead(false); break;
}
//
- // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 394: { action. consumeClassHead(true); break;
+ case 394: { action. consumeClassHead(false); break;
}
//
- // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 395: { action. consumeClassHead(true); break;
}
//
- // Rule 399: identifier_name_opt ::= $Empty
+ // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 399: { action. consumeEmpty(); break;
- }
+ case 396: { action. consumeClassHead(true); break;
+ }
//
- // Rule 403: visibility_label ::= access_specifier_keyword :
+ // Rule 400: identifier_name_opt ::= $Empty
//
- case 403: { action. consumeVisibilityLabel(); break;
- }
+ case 400: { action. consumeEmpty(); break;
+ }
//
- // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 404: visibility_label ::= access_specifier_keyword :
//
- case 404: { action. consumeDeclarationSimple(true); break;
+ case 404: { action. consumeVisibilityLabel(); break;
}
//
- // Rule 405: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 405: { action. consumeDeclarationSimple(false); break;
+ case 405: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 406: member_declaration ::= declaration_specifiers_opt ;
//
- case 408: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 406: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 414: member_declaration ::= ERROR_TOKEN
+ // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 414: { action. consumeDeclarationProblem(); break;
+ case 409: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 423: member_declarator ::= declarator constant_initializer
+ // Rule 415: member_declaration ::= ERROR_TOKEN
//
- case 423: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 415: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 424: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 424: member_declarator ::= declarator constant_initializer
//
- case 424: { action. consumeBitField(true); break;
+ case 424: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 425: member_declarator ::= : constant_expression
+ // Rule 425: member_declarator ::= bit_field_declarator : constant_expression
//
- case 425: { action. consumeBitField(false); break;
+ case 425: { action. consumeBitField(true); break;
}
//
- // Rule 426: bit_field_declarator ::= identifier_name
+ // Rule 426: member_declarator ::= : constant_expression
//
- case 426: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 426: { action. consumeBitField(false); break;
}
//
- // Rule 427: constant_initializer ::= = constant_expression
+ // Rule 427: bit_field_declarator ::= identifier_name
//
- case 427: { action. consumeInitializer(); break;
+ case 427: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 428: constant_initializer ::= = constant_expression
//
- case 433: { action. consumeBaseSpecifier(false, false); break;
+ case 428: { action. consumeInitializer(); break;
}
//
- // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 434: { action. consumeBaseSpecifier(true, true); break;
+ case 434: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
case 435: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
-