Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Kucera2009-01-13 15:28:15 -0500
committerMike Kucera2009-01-13 15:28:15 -0500
commit07a63ee282883e072edaaa0b91afbf0ee0b566fa (patch)
tree36cea78330194ca1440ba017c5d2b75aea630676
parentad36b7caa4c2dfea4345bb2733b6a261d66465b7 (diff)
downloadorg.eclipse.cdt-07a63ee282883e072edaaa0b91afbf0ee0b566fa.tar.gz
org.eclipse.cdt-07a63ee282883e072edaaa0b91afbf0ee0b566fa.tar.xz
org.eclipse.cdt-07a63ee282883e072edaaa0b91afbf0ee0b566fa.zip
started adding support for GNU extensions to LR parsers
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecFailingTest.java8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java14
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java33
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationInclusionTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java4
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java14
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java15
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml65
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g70
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g54
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g62
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g83
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g59
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/plugin.xml24
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java39
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java9
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java10
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java7
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java46
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java43
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/DOMToGCCTokenMap.java148
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/GCCLanguage.java79
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/DOMToGPPTokenMap.java180
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/GPPLanguage.java79
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java332
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java1311
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java98
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java332
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java1324
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java92
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java328
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java1856
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java84
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java332
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java1327
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java106
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java474
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java3759
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java18
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java474
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java3774
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java18
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java470
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java3606
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java470
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java3712
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java474
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java3733
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java18
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java474
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java3676
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java14
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java1272
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java1625
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java214
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java1987
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java2964
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java274
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCommentTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompleteParser2Tests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionBasicTest.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionParseTest.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationInclusionTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationMacroTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMPreprocessorInformationTest.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCGCCTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCKnRTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCSelectionParseTest.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCTaskParserTest.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCUtilOldTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCUtilTests.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java1
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java30
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java523
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java1560
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java118
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java523
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java1521
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java106
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java519
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java2656
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java42
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java511
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java1465
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java114
109 files changed, 30581 insertions, 21547 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecFailingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecFailingTest.java
index c869f5e4b5..04d58156a4 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecFailingTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecFailingTest.java
@@ -14,8 +14,8 @@ import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2CPPSpecFailingTest;
@@ -57,11 +57,11 @@ public class LRCPPSpecFailingTest extends AST2CPPSpecFailingTest {
protected BaseExtensibleLanguage getCLanguage() {
- return C99Language.getDefault();
+ return GCCLanguage.getDefault();
}
protected BaseExtensibleLanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java
index 250dad67b0..2a7daf2e2c 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java
@@ -14,8 +14,8 @@ import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2CPPSpecTest;
@@ -78,11 +78,11 @@ public class LRCPPSpecTest extends AST2CPPSpecTest {
protected BaseExtensibleLanguage getCLanguage() {
- return C99Language.getDefault();
+ return GCCLanguage.getDefault();
}
protected BaseExtensibleLanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java
index d9dcc563e9..aeaa801743 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java
@@ -14,8 +14,8 @@ import junit.framework.AssertionFailedError;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2CPPTests;
@@ -40,7 +40,7 @@ public class LRCPPTests extends AST2CPPTests {
@Override
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -48,12 +48,12 @@ public class LRCPPTests extends AST2CPPTests {
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java
index c5910b620a..087c0fe008 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java
@@ -14,8 +14,8 @@ import junit.framework.AssertionFailedError;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2CSpecTest;
@@ -60,11 +60,11 @@ public class LRCSpecTests extends AST2CSpecTest {
}
protected ILanguage getCLanguage() {
- return C99Language.getDefault();
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java
index 305d702508..b6d3bd943e 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java
@@ -15,8 +15,8 @@ import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTComment;
import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.CommentTests;
@@ -33,7 +33,7 @@ public class LRCommentTests extends CommentTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
return ParseHelper.parse(code, language, expectNoProblems);
}
@@ -44,7 +44,7 @@ public class LRCommentTests extends CommentTests {
boolean useGNUExtensions, boolean expectNoProblems,
boolean skipTrivialInitializers) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -52,12 +52,12 @@ public class LRCommentTests extends CommentTests {
return ParseHelper.commentParse(code, language);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java
index 58cb19126e..1750188b9b 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java
@@ -14,8 +14,8 @@ import junit.framework.AssertionFailedError;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.CompleteParser2Tests;
@@ -26,20 +26,27 @@ public class LRCompleteParser2Tests extends CompleteParser2Tests {
return suite(LRCompleteParser2Tests.class);
}
+ public LRCompleteParser2Tests() {
+ }
+
+ public LRCompleteParser2Tests(String name) {
+ super(name);
+ }
+
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse(String code, boolean expectedToPass,
ParserLanguage lang, boolean gcc) throws Exception {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
return ParseHelper.parse(code, language, expectedToPass);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
@@ -72,13 +79,13 @@ public class LRCompleteParser2Tests extends CompleteParser2Tests {
// }
- @Override
- public void testBug102376() throws Exception { // gcc extension
- try {
- super.testBug102376();
- fail();
- } catch(AssertionFailedError _) { }
- }
+// @Override
+// public void testBug102376() throws Exception { // gcc extension
+// try {
+// super.testBug102376();
+// fail();
+// } catch(AssertionFailedError _) { }
+// }
@Override
public void test158192_declspec_in_declarator() throws Exception {
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java
index 9d51fd5862..b6b3db9a61 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java
@@ -16,8 +16,8 @@ import org.eclipse.cdt.core.dom.ast.IASTCompletionNode;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.IFunction;
import org.eclipse.cdt.core.dom.ast.ITypedef;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.prefix.BasicCompletionTest;
@@ -39,17 +39,17 @@ public class LRCompletionBasicTest extends BasicCompletionTest {
ParserLanguage lang, boolean useGNUExtensions)
throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
return ParseHelper.getCompletionNode(code, language);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
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 bbca81ada2..ed56b0a650 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
@@ -25,7 +25,7 @@ import org.eclipse.cdt.core.dom.ast.IEnumerator;
import org.eclipse.cdt.core.dom.ast.IField;
import org.eclipse.cdt.core.dom.ast.ITypedef;
import org.eclipse.cdt.core.dom.ast.IVariable;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
import org.eclipse.cdt.core.model.ILanguage;
@@ -45,7 +45,7 @@ public class LRCompletionParseTest extends TestCase {
protected IASTCompletionNode parse(String code, int offset) throws Exception {
- return ParseHelper.getCompletionNode(code, getC99Language(), offset);
+ return ParseHelper.getCompletionNode(code, getCLanguage(), offset);
}
@@ -72,8 +72,8 @@ public class LRCompletionParseTest extends TestCase {
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationInclusionTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationInclusionTests.java
index 976311aad3..d2698b8361 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationInclusionTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationInclusionTests.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.CodeReader;
import org.eclipse.cdt.core.parser.ExtendedScannerInfo;
@@ -45,7 +45,7 @@ public class LRDOMLocationInclusionTests extends DOMLocationInclusionTests {
@Override
protected IASTTranslationUnit parse(IFile code, IScannerInfo s)throws Exception {
// TODO: total freakin hack! the test suite needs to be refactored
- ILanguage lang = code.getName().endsWith("cc") ? getCPPLanguage() : getC99Language(); //$NON-NLS-1$
+ ILanguage lang = code.getName().endsWith("cc") ? getCPPLanguage() : getCLanguage(); //$NON-NLS-1$
CodeReader codeReader = new CodeReader(code.getLocation().toOSString());
IASTTranslationUnit tu = lang.getASTTranslationUnit(codeReader, s, SavedCodeReaderFactory.getInstance(), null, ILanguage.OPTION_ADD_COMMENTS, ParserUtil.getParserLogService());
@@ -60,12 +60,12 @@ public class LRDOMLocationInclusionTests extends DOMLocationInclusionTests {
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java
index e498795b2e..1c6c1bac97 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.DOMLocationMacroTests;
@@ -34,18 +34,18 @@ public class LRDOMLocationMacroTests extends DOMLocationMacroTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems).setCheckPreprocessorProblems(expectNoProblems);
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java
index c4ae424ad8..aa526b4811 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java
@@ -14,8 +14,8 @@ import junit.framework.AssertionFailedError;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.DOMLocationTests;
@@ -34,17 +34,17 @@ public class LRDOMLocationTests extends DOMLocationTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems).setCheckPreprocessorProblems(expectNoProblems);
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java
index 1d8a151a11..bd8ff6a669 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.DOMPreprocessorInformationTest;
@@ -30,18 +30,18 @@ public class LRDOMPreprocessorInformationTest extends DOMPreprocessorInformation
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems).setCheckPreprocessorProblems(expectNoProblems);
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java
index 4bfb085b17..f58e44a5f6 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java
@@ -32,7 +32,7 @@ import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
import org.eclipse.cdt.core.model.ILanguage;
@@ -60,7 +60,7 @@ public class LRDigraphTrigraphTests extends TestCase {
protected ILanguage getCLanguage() {
- return C99Language.getDefault();
+ return GCCLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java
index bad5ea5b4d..cb7ec01682 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.GCCTests;
@@ -34,18 +34,18 @@ public class LRGCCTests extends GCCTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems).setCheckPreprocessorProblems(expectNoProblems);
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java
index 73966c7e98..054677189f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java
@@ -11,8 +11,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.ImageLocationTests;
@@ -33,7 +33,7 @@ public class LRImageLocationTests extends ImageLocationTests {
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions,
boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -41,12 +41,12 @@ public class LRImageLocationTests extends ImageLocationTests {
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java
index 2dc57ce667..dbc90fac7e 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2KnRTests;
@@ -33,17 +33,17 @@ public class LRKnRTests extends AST2KnRTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
return ParseHelper.parse(code, language, expectNoProblems);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
// LPG handles syntax errors differently than the DOM parser
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java
index 790a53a5d5..f32a38d747 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java
@@ -15,8 +15,8 @@ import java.io.IOException;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.ASTNodeSelectorTest;
@@ -35,7 +35,7 @@ public class LRNodeSelectorTest extends ASTNodeSelectorTest {
@Override
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializer) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -51,12 +51,12 @@ public class LRNodeSelectorTest extends ASTNodeSelectorTest {
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java
index 7dff08ca8b..d532fd19ad 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java
@@ -10,8 +10,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.AssertionFailedError;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.QuickParser2Tests;
@@ -25,7 +25,7 @@ public class LRQuickParser2Tests extends QuickParser2Tests {
@Override
protected void parse(String code, boolean expectedToPass,
ParserLanguage lang, @SuppressWarnings("unused") boolean gcc) throws Exception {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
// don't check preprocessor problems for this test suite (causes tons of failures)
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectedToPass);
@@ -34,12 +34,12 @@ public class LRQuickParser2Tests extends QuickParser2Tests {
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java
index c7839c8144..b9ecd5cb2d 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java
@@ -15,8 +15,8 @@ import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ICodeReaderFactory;
import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.CodeReader;
import org.eclipse.cdt.core.parser.IScannerInfo;
@@ -55,7 +55,7 @@ public class LRSelectionParseTest extends AST2SelectionParseTest {
@Override
protected IASTNode parse(String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, int offset, int length) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckPreprocessorProblems(expectNoProblems);
options.setCheckSyntaxProblems(expectNoProblems);
@@ -65,7 +65,7 @@ public class LRSelectionParseTest extends AST2SelectionParseTest {
protected IASTTranslationUnit parse( IFile file, ParserLanguage lang, IScannerInfo scanInfo, boolean useGNUExtensions, boolean expectNoProblems ) {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
String fileName = file.getLocation().toOSString();
ICodeReaderFactory fileCreator = SavedCodeReaderFactory.getInstance();
@@ -85,12 +85,12 @@ public class LRSelectionParseTest extends AST2SelectionParseTest {
return parse(file, lang, new ScannerInfo(), useGNUExtensions, expectNoProblems);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java
index 0064cb6424..ef89145845 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java
@@ -11,8 +11,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.SemanticsTests;
@@ -33,7 +33,7 @@ public class LRSemanticsTests extends SemanticsTests {
@Override
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions,
boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -41,11 +41,11 @@ public class LRSemanticsTests extends SemanticsTests {
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java
index 2340cd3cdd..992ded299f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.TaskParserTest;
@@ -28,14 +28,13 @@ public class LRTaskParserTest extends TaskParserTest {
}
@Override
- @SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
return parse(code, lang, useGNUExtensions, expectNoProblems, false);
}
@Override
- protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -43,11 +42,11 @@ public class LRTaskParserTest extends TaskParserTest {
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java
index 03d977111f..0b420f0215 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2TemplateTests;
@@ -32,7 +32,7 @@ public class LRTemplateTests extends AST2TemplateTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -40,12 +40,12 @@ public class LRTemplateTests extends AST2TemplateTests {
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java
index c0f1525bee..312607236b 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java
@@ -16,8 +16,8 @@ import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2Tests;
@@ -48,7 +48,7 @@ public class LRTests extends AST2Tests {
@Override
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(expectNoProblems);
options.setCheckPreprocessorProblems(expectNoProblems);
@@ -56,12 +56,12 @@ public class LRTests extends AST2Tests {
return ParseHelper.parse(code, language, options);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java
index 04ed8d6bc2..c46e304f26 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java
@@ -14,8 +14,8 @@ import junit.framework.AssertionFailedError;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2UtilOldTests;
@@ -32,17 +32,17 @@ public class LRUtilOldTests extends AST2UtilOldTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
return ParseHelper.parse(code, language, expectNoProblems);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java
index aeafe6ef14..3519fabfc1 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java
@@ -13,8 +13,8 @@ package org.eclipse.cdt.core.lrparser.tests;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
-import org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage;
+import org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.tests.ast2.AST2UtilTests;
@@ -40,16 +40,16 @@ public class LRUtilTests extends AST2UtilTests {
@Override
@SuppressWarnings("unused")
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
- ILanguage language = lang.isCPP() ? getCPPLanguage() : getC99Language();
+ ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
return ParseHelper.parse(code, language, expectNoProblems);
}
- protected ILanguage getC99Language() {
- return C99Language.getDefault();
+ protected ILanguage getCLanguage() {
+ return GCCLanguage.getDefault();
}
protected ILanguage getCPPLanguage() {
- return ISOCPPLanguage.getDefault();
+ return GPPLanguage.getDefault();
}
}
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 cc4d81b10f..a9e0aa7886 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF
+++ b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF
@@ -11,10 +11,16 @@ Require-Bundle: org.eclipse.cdt.core,
Export-Package: org.eclipse.cdt.core.dom.lrparser,
org.eclipse.cdt.core.dom.lrparser.action,
org.eclipse.cdt.core.dom.lrparser.action.c99,
+ org.eclipse.cdt.core.dom.lrparser.action.cpp,
org.eclipse.cdt.core.dom.lrparser.c99,
org.eclipse.cdt.core.dom.lrparser.cpp,
+ org.eclipse.cdt.core.dom.lrparser.gcc,
+ org.eclipse.cdt.core.dom.lrparser.gpp,
org.eclipse.cdt.core.dom.lrparser.lpgextensions,
- org.eclipse.cdt.internal.core.dom.lrparser.c99;x-internal:=true
+ org.eclipse.cdt.internal.core.dom.lrparser.c99;x-internal:=true,
+ org.eclipse.cdt.internal.core.dom.lrparser.cpp,
+ org.eclipse.cdt.internal.core.dom.lrparser.gcc,
+ org.eclipse.cdt.internal.core.dom.lrparser.gpp
Bundle-Localization: plugin
Bundle-Vendor: %Bundle-Vendor.0
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml
index 7ce515c2c7..98ca77680a 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml
@@ -9,7 +9,7 @@
IBM Corporation - initial API and implementation
-->
-<project name="CDT Extensible LR Parser Framework" default="both" basedir=".">
+<project name="CDT Extensible LR Parser Framework" basedir=".">
<description>Generates LPG parsers from grammar files</description>
@@ -24,23 +24,22 @@
</fail>
<property name="c99_location" value="../src/org/eclipse/cdt/internal/core/dom/lrparser/c99"/>
+ <property name="gcc_location" value="../src/org/eclipse/cdt/internal/core/dom/lrparser/gcc"/>
<property name="cpp_location" value="../src/org/eclipse/cdt/internal/core/dom/lrparser/cpp"/>
-
+ <property name="gpp_location" value="../src/org/eclipse/cdt/internal/core/dom/lrparser/gpp"/>
+
+ <target name="all" depends="c99, gcc, cpp, gpp"/>
<target name="clean_l_files">
<delete>
<fileset dir="${c99_location}" includes="**/*.l"/>
+ <fileset dir="${gcc_location}" includes="**/*.l"/>
<fileset dir="${cpp_location}" includes="**/*.l"/>
+ <fileset dir="${gpp_location}" includes="**/*.l"/>
</delete>
</target>
- <target name="both" depends="cpp, c99">
- <description>Generates the C99 and C++ parsers</description>
- <echo message="Done"/>
- </target>
-
-
<target name="c99">
<description>Generate the C99 parser</description>
<!-- Generate main parser -->
@@ -61,7 +60,33 @@
</antcall>
</target>
+ <target name="generate_c99">
+ <antcall target="generate">
+ <param name="grammar_dir" value="c99"/>
+ <param name="output_dir" value="${c99_location}"/>
+ <param name="grammar_name" value="${grammar_name}"/>
+ </antcall>
+ </target>
+
+
+ <target name="gcc">
+ <description>Generate the GCC parser</description>
+ <!-- Generate main parser -->
+ <antcall target="generate_gcc">
+ <param name="grammar_name" value="GCCParser"/>
+ </antcall>
+ </target>
+
+
+ <target name="generate_gcc">
+ <antcall target="generate">
+ <param name="grammar_dir" value="gcc"/>
+ <param name="output_dir" value="${gcc_location}"/>
+ <param name="grammar_name" value="${grammar_name}"/>
+ </antcall>
+ </target>
+
<target name="cpp">
<description>Generate the C++ parser</description>
<antcall target="generate_cpp">
@@ -89,24 +114,33 @@
</antcall>
</target>
-
- <target name="generate_c99">
+ <target name="generate_cpp">
<antcall target="generate">
- <param name="grammar_dir" value="c99"/>
- <param name="output_dir" value="${c99_location}"/>
+ <param name="grammar_dir" value="cpp"/>
+ <param name="output_dir" value="${cpp_location}"/>
<param name="grammar_name" value="${grammar_name}"/>
</antcall>
</target>
- <target name="generate_cpp">
+ <target name="gpp">
+ <description>Generate the GCC parser</description>
+ <!-- Generate main parser -->
+ <antcall target="generate_gpp">
+ <param name="grammar_name" value="GPPParser"/>
+ </antcall>
+ </target>
+
+
+ <target name="generate_gpp">
<antcall target="generate">
- <param name="grammar_dir" value="cpp"/>
- <param name="output_dir" value="${cpp_location}"/>
+ <param name="grammar_dir" value="gpp"/>
+ <param name="output_dir" value="${gpp_location}"/>
<param name="grammar_name" value="${grammar_name}"/>
</antcall>
</target>
+
<target name="generate">
<property name="grammar_file" value="${grammar_dir}/${grammar_name}.g"/>
@@ -118,6 +152,7 @@
<exec executable="${lpg_exe}">
<arg value="${grammar_file}"/>
<env key="LPG_TEMPLATE" path="${lpg_template}"/>
+
</exec>
<move overwrite="true" toDir="${output_dir}">
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 6b9ce0a68a..3eabcd7e35 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
@@ -391,7 +391,7 @@ statement
labeled_statement
- ::= identifier_or_typedefname ':' statement
+ ::= identifier_token ':' statement
/. $Build consumeStatementLabeled(); $EndBuild ./
| 'case' constant_expression ':' statement
/. $Build consumeStatementCase(); $EndBuild ./
@@ -451,7 +451,7 @@ iteration_statement
jump_statement
- ::= 'goto' identifier_or_typedefname ';'
+ ::= 'goto' identifier_token ';'
/. $Build consumeStatementGoto(); $EndBuild ./
| 'continue' ';'
/. $Build consumeStatementContinue(); $EndBuild ./
@@ -588,32 +588,40 @@ typedef_name_in_declspec
-identifier_or_typedefname
+identifier_token
::= 'identifier'
| 'Completion'
- -- | 'TypedefName'
struct_or_union_specifier
- ::= 'struct' '{' <openscope-ast> struct_declaration_list_opt '}'
- /. $Build consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); $EndBuild ./
- | 'union' '{' <openscope-ast> struct_declaration_list_opt '}'
- /. $Build consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); $EndBuild ./
- | 'struct' identifier_or_typedefname '{' <openscope-ast> struct_declaration_list_opt '}'
- /. $Build consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); $EndBuild ./
- | 'union' identifier_or_typedefname '{' <openscope-ast> struct_declaration_list_opt '}'
- /. $Build consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); $EndBuild ./
-
+ ::= struct_or_union struct_or_union_specifier_hook '{' <openscope-ast> struct_declaration_list_opt '}'
+ /. $Build consumeTypeSpecifierComposite(false); $EndBuild ./
+ | struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook '{' <openscope-ast> struct_declaration_list_opt '}'
+ /. $Build consumeTypeSpecifierComposite(true); $EndBuild ./
+struct_or_union_specifier_hook
+ ::= $empty
+
+struct_or_union_specifier_suffix_hook
+ ::= $empty
+
+struct_or_union
+ ::= 'struct'
+ | 'union'
+
+
elaborated_specifier
- ::= 'struct' identifier_or_typedefname
+ ::= 'struct' elaborated_specifier_hook identifier_token
/. $Build consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); $EndBuild ./
- | 'union' identifier_or_typedefname
+ | 'union' elaborated_specifier_hook identifier_token
/. $Build consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); $EndBuild ./
- | 'enum' identifier_or_typedefname
+ | 'enum' elaborated_specifier_hook identifier_token
/. $Build consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); $EndBuild ./
-
+elaborated_specifier_hook
+ ::= $empty
+
+
struct_declaration_list_opt
::= struct_declaration_list
| $empty
@@ -655,12 +663,15 @@ struct_declarator
enum_specifier
- ::= 'enum' '{' <openscope-ast> enumerator_list_opt comma_opt '}'
+ ::= 'enum' enum_specifier_hook '{' <openscope-ast> enumerator_list_opt comma_opt '}'
/. $Build consumeTypeSpecifierEnumeration(false); $EndBuild ./
- | 'enum' identifier_or_typedefname '{' <openscope-ast> enumerator_list_opt comma_opt '}'
+ | 'enum' enum_specifier_hook identifier_token '{' <openscope-ast> enumerator_list_opt comma_opt '}'
/. $Build consumeTypeSpecifierEnumeration(true); $EndBuild ./
-
+enum_specifier_hook
+ ::= $empty
+
+
enumerator_list_opt
::= enumerator_list
| $empty
@@ -672,9 +683,9 @@ enumerator_list
enumerator
- ::= identifier_or_typedefname
+ ::= identifier_token
/. $Build consumeEnumerator(false); $EndBuild ./
- | identifier_or_typedefname '=' constant_expression
+ | identifier_token '=' constant_expression
/. $Build consumeEnumerator(true); $EndBuild ./
@@ -794,15 +805,18 @@ array_modifier_type_qualifiers
pointer_seq
- ::= '*'
+ ::= pointer_hook '*'
/. $Build consumePointer(); $EndBuild ./
- | pointer_seq '*'
+ | pointer_seq pointer_hook '*'
/. $Build consumePointer(); $EndBuild ./
- | '*' <openscope-ast> type_qualifier_list
+ | pointer_hook '*' <openscope-ast> type_qualifier_list
/. $Build consumePointerTypeQualifierList(); $EndBuild ./
- | pointer_seq '*' <openscope-ast> type_qualifier_list
+ | pointer_seq pointer_hook '*' <openscope-ast> type_qualifier_list
/. $Build consumePointerTypeQualifierList(); $EndBuild ./
+pointer_hook
+ ::= $empty
+
type_qualifier_list
::= type_qualifier
@@ -925,13 +939,13 @@ designator_list
designator_base
::= '[' constant_expression ']'
/. $Build consumeDesignatorArray(); $EndBuild ./
- | '.' identifier_or_typedefname
+ | '.' identifier_token
/. $Build consumeDesignatorField(); $EndBuild ./
designator
::= '[' constant_expression ']'
/. $Build consumeDesignatorArray(); $EndBuild ./
- | '.' identifier_or_typedefname
+ | '.' identifier_token
/. $Build consumeDesignatorField(); $EndBuild ./
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 1ea21c9736..0543d0de1a 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
@@ -959,26 +959,32 @@ type_name_specifier -- all identifiers of some kind
-- used for forward declaration and incomplete types
elaborated_type_specifier
- ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
+ ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
/. $Build consumeTypeSpecifierElaborated(false); $EndBuild ./
- | class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ | class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
/. $Build consumeTypeSpecifierElaborated(true); $EndBuild ./
- | 'enum' dcolon_opt nested_name_specifier_opt identifier_name
+ | 'enum' elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
/. $Build consumeTypeSpecifierElaborated(false); $EndBuild ./
+elaborated_specifier_hook
+ ::= $empty
+
+
-- there is currently no way to disambiguate identifier tokens
--enum_name
-- ::= identifier_token
enum_specifier
- ::= 'enum' '{' <openscope-ast> enumerator_list_opt '}'
+ ::= 'enum' enum_specifier_hook '{' <openscope-ast> enumerator_list_opt '}'
/. $Build consumeTypeSpecifierEnumeration(false); $EndBuild ./
- | 'enum' identifier_token '{' <openscope-ast> enumerator_list_opt '}'
+ | 'enum' enum_specifier_hook identifier_token '{' <openscope-ast> enumerator_list_opt '}'
/. $Build consumeTypeSpecifierEnumeration(true); $EndBuild ./
-
+enum_specifier_hook
+ ::= $empty
+
enumerator_list
::= enumerator_definition
| enumerator_list ',' enumerator_definition
@@ -1074,10 +1080,12 @@ init_declarator_complete
init_declarator
- ::= declarator
- | declarator initializer
+ ::= complete_declarator
+ | complete_declarator initializer
/. $Build consumeDeclaratorWithInitializer(true); $EndBuild ./
+complete_declarator
+ ::= declarator
declarator
::= direct_declarator
@@ -1123,14 +1131,16 @@ array_modifier
ptr_operator
- ::= '*' <openscope-ast> cv_qualifier_seq_opt
+ ::= pointer_hook '*' <openscope-ast> cv_qualifier_seq_opt
/. $Build consumePointer(); $EndBuild ./
- | '&'
+ | pointer_hook '&'
/. $Build consumeReferenceOperator(); $EndBuild ./
- | dcolon_opt nested_name_specifier '*' <openscope-ast> cv_qualifier_seq_opt
+ | dcolon_opt nested_name_specifier pointer_hook '*' <openscope-ast> cv_qualifier_seq_opt
/. $Build consumePointerToMember(); $EndBuild ./
-
+pointer_hook
+ ::= $empty
+
ptr_operator_seq
::= ptr_operator
| ptr_operator_seq ptr_operator
@@ -1331,15 +1341,20 @@ class_specifier
class_head
- ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
+ ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
/. $Build consumeClassHead(false); $EndBuild ./
- | class_keyword template_id_name <openscope-ast> base_clause_opt
+ | class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
/. $Build consumeClassHead(false); $EndBuild ./
- | class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
+ | class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
/. $Build consumeClassHead(true); $EndBuild ./
- | class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
+ | class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
/. $Build consumeClassHead(true); $EndBuild ./
+composite_specifier_hook
+ ::= $empty
+
+class_name_suffix_hook
+ ::= $empty
identifier_name_opt
::= identifier_name
@@ -1388,10 +1403,13 @@ member_declaration_list_opt
member_declarator_list
- ::= member_declarator
- | member_declarator_list ',' member_declarator
+ ::= member_declarator_complete
+ | member_declarator_list ',' member_declarator_complete
+member_declarator_complete
+ ::= member_declarator
+
member_declarator
::= declarator
-- parse pure specifier as a constant_initializer, reduces conflicts
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g
new file mode 100644
index 0000000000..1c9da0f3cd
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g
@@ -0,0 +1,62 @@
+-----------------------------------------------------------------------------------
+-- Copyright (c) 2006, 2008 IBM Corporation and others.
+-- All rights reserved. This program and the accompanying materials
+-- are made available under the terms of the Eclipse Public License v1.0
+-- which accompanies this distribution, and is available at
+-- http://www.eclipse.org/legal/epl-v10.html
+--
+-- Contributors:
+-- IBM Corporation - initial API and implementation
+-----------------------------------------------------------------------------------
+
+%options la=2
+%options package=org.eclipse.cdt.internal.core.dom.lrparser.gcc
+%options template=FixedBtParserTemplateD.g
+
+
+-- For this to work the environment variable LPG_INCLUDE must be set up
+-- to point at the directory where the C99Parser.g file is located.
+$Import
+ ../c99/C99Parser.g
+$End
+
+$Import
+ ../gnu/GNUExtensions.g
+$End
+
+
+
+-- Hook the extensions into the main grammar.
+$Rules
+
+
+no_type_declaration_specifier
+ ::= attribute_or_decl_specifier
+
+complete_declarator
+ ::= attribute_or_decl_specifier_seq declarator
+ | declarator attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq
+
+complete_struct_declarator
+ ::= attribute_or_decl_specifier_seq struct_declarator
+ | struct_declarator attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq struct_declarator attribute_or_decl_specifier_seq
+
+enum_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+struct_or_union_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+struct_or_union_specifier_suffix_hook
+ ::= attribute_or_decl_specifier_seq
+
+pointer_hook
+ ::= attribute_or_decl_specifier_seq
+
+elaborated_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+
+$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g
new file mode 100644
index 0000000000..2fde7e397b
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g
@@ -0,0 +1,83 @@
+-----------------------------------------------------------------------------------
+-- Copyright (c) 2006, 2008 IBM Corporation and others.
+-- All rights reserved. This program and the accompanying materials
+-- are made available under the terms of the Eclipse Public License v1.0
+-- which accompanies this distribution, and is available at
+-- http://www.eclipse.org/legal/epl-v10.html
+--
+-- Contributors:
+-- IBM Corporation - initial API and implementation
+-----------------------------------------------------------------------------------
+
+
+-- These are additional rules that allow for parsing of GNU extensions.
+-- This file is intended to be mixed-in with C99Parser.g or GPPParser.g
+
+
+$Terminals
+ __attribute__
+ __declspec
+$End
+
+
+$Rules
+
+------------------------------------------------------------------------------------
+-- Support for __attribute__ and __declspec
+------------------------------------------------------------------------------------
+
+attribute_or_decl_specifier
+ ::= attribute_specifier
+ | decl_specifier
+
+attribute_or_decl_specifier_seq
+ ::= attribute_or_decl_specifier
+ | attribute_or_decl_specifier_seq attribute_or_decl_specifier
+
+
+
+attribute_specifier
+ ::= '__attribute__' '(' '(' attribute_list ')' ')'
+ | '__attribute__' '(' ')'
+
+attribute_list
+ ::= attribute
+ | attribute_list ',' attribute
+
+attribute
+ ::= word
+ | word '(' attribute_parameter_list ')'
+ | $empty
+
+word
+ ::= 'identifier'
+ | 'const'
+
+attribute_parameter_list
+ ::= attribute_parameter
+ | attribute_parameter_list ',' attribute_parameter
+
+attribute_parameter
+ ::= assignment_expression
+ /. $Build consumeIgnore(); $EndBuild ./
+ | $empty
+
+
+
+decl_specifier
+ ::= '__declspec' '(' extended_decl_modifier_seq_opt ')'
+
+extended_decl_modifier_seq_opt
+ ::= extended_decl_modifier_seq
+ | $empty
+
+extended_decl_modifier_seq
+ ::= extended_decl_modifier
+ | extended_decl_modifier_seq extended_decl_modifier
+
+extended_decl_modifier
+ ::= 'identifier'
+ | 'identifier' '(' ')'
+ | 'identifier' '(' 'identifier' ')'
+
+$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g
new file mode 100644
index 0000000000..eef9432646
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g
@@ -0,0 +1,59 @@
+-----------------------------------------------------------------------------------
+-- Copyright (c) 2008 IBM Corporation and others.
+-- All rights reserved. This program and the accompanying materials
+-- are made available under the terms of the Eclipse Public License v1.0
+-- which accompanies this distribution, and is available at
+-- http://www.eclipse.org/legal/epl-v10.html
+--
+-- Contributors:
+-- IBM Corporation - initial API and implementation
+-----------------------------------------------------------------------------------
+
+%options la=2
+%options package=org.eclipse.cdt.internal.core.dom.lrparser.gpp
+%options template=FixedBtParserTemplateD.g
+
+
+-- For this to work the environment variable LPG_INCLUDE must be set up
+-- to point at the directory where the CPPParser.g file is located.
+$Import
+ ../cpp/CPPParser.g
+$End
+
+$Import
+ ../gnu/GNUExtensions.g
+$End
+
+
+$Rules
+
+
+no_type_declaration_specifier
+ ::= attribute_or_decl_specifier
+
+complete_declarator
+ ::= attribute_or_decl_specifier_seq declarator
+ | declarator attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq
+
+member_declarator_complete
+ ::= attribute_or_decl_specifier_seq member_declarator_complete
+ | member_declarator_complete attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq member_declarator_complete attribute_or_decl_specifier_seq
+
+enum_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+composite_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+class_name_suffix_hook
+ ::= attribute_or_decl_specifier_seq
+
+pointer_hook
+ ::= attribute_or_decl_specifier_seq
+
+elaborated_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/plugin.xml b/lrparser/org.eclipse.cdt.core.lrparser/plugin.xml
index abca5716d7..aaf7003e0f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/plugin.xml
+++ b/lrparser/org.eclipse.cdt.core.lrparser/plugin.xml
@@ -9,20 +9,38 @@
name="%language.name.c99">
</language>
<language
+ class="org.eclipse.cdt.core.dom.lrparser.gcc.GCCLanguage"
+ id="gcc"
+ name="LR GCC">
+ </language>
+
+ <language
class="org.eclipse.cdt.core.dom.lrparser.cpp.ISOCPPLanguage"
id="isocpp"
name="%language.name.isocpp">
</language>
+ <language
+ class="org.eclipse.cdt.core.dom.lrparser.gpp.GPPLanguage"
+ id="gpp"
+ name="LR GPP">
+ </language>
<pdomLinkageFactory
class="org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCLinkageFactory"
id="c99"/>
<pdomLinkageFactory
+ class="org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCLinkageFactory"
+ id="gcc"/>
+
+ <pdomLinkageFactory
class="org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkageFactory"
id="isocpp"/>
+
+ <pdomLinkageFactory
+ class="org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkageFactory"
+ id="gpp"/>
+
</extension>
-
-
-</plugin>
+</plugin> \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java
index e5908fef5e..7df47652e9 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java
@@ -20,9 +20,11 @@ import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.gnu.c.GCCLanguage;
import org.eclipse.cdt.core.dom.ast.gnu.cpp.GPPLanguage;
+import org.eclipse.cdt.core.dom.parser.CLanguageKeywords;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.model.AbstractLanguage;
+import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.model.ILanguage;
import org.eclipse.cdt.core.parser.CodeReader;
import org.eclipse.cdt.core.parser.IParserLogService;
@@ -32,7 +34,14 @@ import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.util.ASTPrinter;
import org.eclipse.cdt.core.parser.util.DebugUtil;
import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
+import org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit;
+import org.eclipse.cdt.internal.core.dom.parser.c.CASTTranslationUnit;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor;
+import org.eclipse.cdt.internal.core.pdom.dom.IPDOMLinkageFactory;
+import org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCLinkageFactory;
+import org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkageFactory;
import org.eclipse.core.runtime.CoreException;
@@ -76,7 +85,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage {
*
* @return an IASTTranslationUnit object thats empty and will be filled in by the parser
*/
- protected abstract IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor);
+ protected abstract IASTTranslationUnit createASTTranslationUnit();
/**
@@ -123,7 +132,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage {
// The translation unit has to be created here so that the preprocessor
// can fill in the preprocessor AST nodes.
- IASTTranslationUnit tu = createASTTranslationUnit(index, preprocessor);
+ IASTTranslationUnit tu = getASTTranslationUnit(index, preprocessor);
IParser parser = getParser();
CPreprocessorAdapter.runCPreprocessor(preprocessor, parser, getTokenMap(), tu);
@@ -182,7 +191,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage {
preprocessor.setContentAssistMode(offset);
IParser parser = getParser();
- IASTTranslationUnit tu = createASTTranslationUnit(index, preprocessor);
+ IASTTranslationUnit tu = getASTTranslationUnit(index, preprocessor);
CPreprocessorAdapter.runCPreprocessor(preprocessor, parser, getTokenMap(), tu);
@@ -199,6 +208,15 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage {
}
+ private IASTTranslationUnit getASTTranslationUnit(IIndex index, IScanner preprocessor) {
+ IASTTranslationUnit tu = createASTTranslationUnit();
+ tu.setIndex(index);
+ if(tu instanceof ASTTranslationUnit) {
+ ((ASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver());
+ }
+ return tu;
+ }
+
/*
* For debugging.
*/
@@ -226,6 +244,21 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage {
return GCCLanguage.getDefault().getSelectedNames(ast, start, length);
}
+ private ICLanguageKeywords cLanguageKeywords = new CLanguageKeywords(getParserLanguage(), getScannerExtensionConfiguration());
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Object getAdapter(Class adapter) {
+ if(ICLanguageKeywords.class.equals(adapter))
+ return cLanguageKeywords;
+ if(IPDOMLinkageFactory.class.equals(adapter)) {
+ if(getParserLanguage().isCPP())
+ return new PDOMCPPLinkageFactory();
+ return new PDOMCLinkageFactory();
+ }
+
+ return super.getAdapter(adapter);
+ }
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java
index 6a70f46e28..66d024a120 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java
@@ -50,8 +50,6 @@ class CPreprocessorAdapter {
// LPG requires that the token stream start with a dummy token
tokenCollector.addToken(createDummyToken());
- preprocessor.getLocationResolver().setRootNode(tu);
-
org.eclipse.cdt.core.parser.IToken lastToken = null;
try {
while(true) {
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 ea680482b9..8188fd5b1f 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
@@ -400,6 +400,15 @@ public abstract class BuildASTParserAction {
/**
+ * Just pops the stack, useful if you have a rule that generates
+ * a node but you don't need the node.
+ */
+ public void consumeIgnore() {
+ astStack.pop();
+ }
+
+
+ /**
* Gets the current token and places it on the stack for later consumption.
*/
public void consumeDeclSpecToken() {
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
index dee5c5d0b0..c4b351d9e6 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
@@ -18,6 +18,7 @@ import java.util.List;
import lpg.lpgjavaruntime.IToken;
+import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier;
import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement;
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
@@ -540,7 +541,14 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
*
* @param key either k_struct or k_union from IASTCompositeTypeSpecifier
*/
- public void consumeTypeSpecifierComposite(boolean hasName, int key) {
+ public void consumeTypeSpecifierComposite(boolean hasName) {
+
+ int key = 0;
+ switch(baseKind(parser.getLeftIToken())) {
+ case TK_struct: key = IASTCompositeTypeSpecifier.k_struct;
+ case TK_union: key = IASTCompositeTypeSpecifier.k_union;
+ }
+
IASTName name = (hasName) ? createName(parser.getRuleTokens().get(1)) : nodeFactory.newName();
ICASTCompositeTypeSpecifier typeSpec = nodeFactory.newCompositeTypeSpecifier(key, name);
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 6441b2987e..637ce072bb 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
@@ -1136,6 +1136,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
// * declaration_specifiers ::= <openscope> type_name_declaration_specifiers
// */
public void consumeDeclarationSpecifiersTypeName() {
+ System.out.println("consumeDeclarationSpecifiersTypeName");
List<Object> topScope = astStack.closeScope();
// There's a name somewhere on the stack, find it
IASTName typeName = findFirstAndRemove(topScope, IASTName.class);
@@ -1150,7 +1151,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
// the only way there could be a typename token
for(IToken token : parser.getRuleTokens()) {
- if(token.getKind() == TK_typename) {
+ if(baseKind(token) == TK_typename) {
declSpec.setIsTypename(true);
break;
}
@@ -1485,9 +1486,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
private void addCVQualifiersToPointer(IASTPointer pointer, List<Object> tokens) {
for(Object t : tokens) {
- IToken token = (IToken) t;
- int kind = baseKind(token);
- switch(kind) {
+ switch(baseKind((IToken) t)) {
default : assert false;
case TK_const: pointer.setConst(true); break;
case TK_volatile: pointer.setVolatile(true); break;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java
index a32549434a..769a11d512 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java
@@ -16,19 +16,12 @@ import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration;
-import org.eclipse.cdt.core.dom.parser.CLanguageKeywords;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
-import org.eclipse.cdt.core.index.IIndex;
-import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.model.IContributedModelBuilder;
import org.eclipse.cdt.core.model.ITranslationUnit;
-import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parser;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
-import org.eclipse.cdt.internal.core.dom.parser.c.CASTTranslationUnit;
-import org.eclipse.cdt.internal.core.pdom.dom.IPDOMLinkageFactory;
-import org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCLinkageFactory;
/**
* ILanguage implementation for the C99 parser.
@@ -38,11 +31,7 @@ import org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCLinkageFactory;
@SuppressWarnings("restriction")
public class C99Language extends BaseExtensibleLanguage {
- public static final String PLUGIN_ID = "org.eclipse.cdt.core.lrparser"; //$NON-NLS-1$
- public static final String ID = PLUGIN_ID + ".c99"; //$NON-NLS-1$
-
- private static final IDOMTokenMap TOKEN_MAP = DOMToC99TokenMap.DEFAULT_MAP;
- private static final IScannerExtensionConfiguration SCANNER_CONFIGURATION = ScannerExtensionConfiguration.createC();
+ public static final String ID = "org.eclipse.cdt.core.lrparser.c99"; //$NON-NLS-1$
private static C99Language DEFAULT = new C99Language();
@@ -58,12 +47,12 @@ public class C99Language extends BaseExtensibleLanguage {
@Override
protected IDOMTokenMap getTokenMap() {
- return TOKEN_MAP;
+ return DOMToC99TokenMap.DEFAULT_MAP;
}
@Override
protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
- return SCANNER_CONFIGURATION;
+ return ScannerExtensionConfiguration.createC();
}
public IContributedModelBuilder createModelBuilder(@SuppressWarnings("unused") ITranslationUnit tu) {
@@ -83,34 +72,9 @@ public class C99Language extends BaseExtensibleLanguage {
return ParserLanguage.C;
}
- private ICLanguageKeywords cLanguageKeywords = new CLanguageKeywords(ParserLanguage.C, SCANNER_CONFIGURATION);
-
-
- @SuppressWarnings("unchecked")
@Override
- public Object getAdapter(Class adapter) {
- if(IPDOMLinkageFactory.class.equals(adapter))
- return new PDOMCLinkageFactory();
- if(ICLanguageKeywords.class.equals(adapter))
- return cLanguageKeywords;
-
- return super.getAdapter(adapter);
+ protected IASTTranslationUnit createASTTranslationUnit() {
+ return CNodeFactory.getDefault().newTranslationUnit();
}
- /**
- * Gets the translation unit object and sets the index and the location resolver.
- */
- @Override
- protected IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor) {
- IASTTranslationUnit tu = CNodeFactory.getDefault().newTranslationUnit();
- tu.setIndex(index);
- if(tu instanceof CASTTranslationUnit) {
- ((CASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver());
- }
- return tu;
- }
-
-
-
-
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java
index 83920e3f17..e287abcbf1 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java
@@ -16,19 +16,12 @@ import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration;
-import org.eclipse.cdt.core.dom.parser.CLanguageKeywords;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
-import org.eclipse.cdt.core.index.IIndex;
-import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.model.IContributedModelBuilder;
import org.eclipse.cdt.core.model.ITranslationUnit;
-import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParser;
-import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
-import org.eclipse.cdt.internal.core.pdom.dom.IPDOMLinkageFactory;
-import org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkageFactory;
/**
* ILanguage implementation for the C++ parser.
@@ -38,17 +31,10 @@ import org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkageFactory;
@SuppressWarnings("restriction")
public class ISOCPPLanguage extends BaseExtensibleLanguage {
- public static final String PLUGIN_ID = "org.eclipse.cdt.core.lrparser"; //$NON-NLS-1$
- public static final String ID = PLUGIN_ID + ".isocpp"; //$NON-NLS-1$
-
- private static final IDOMTokenMap TOKEN_MAP = DOMToISOCPPTokenMap.DEFAULT_MAP;
-
- private static final IScannerExtensionConfiguration SCANNER_CONFIGURATION = ScannerExtensionConfiguration.createCPP();
-
+ public static final String ID = "org.eclipse.cdt.core.lrparser.isocpp"; //$NON-NLS-1$
private static ISOCPPLanguage DEFAULT = new ISOCPPLanguage();
-
public static ISOCPPLanguage getDefault() {
return DEFAULT;
}
@@ -60,12 +46,12 @@ public class ISOCPPLanguage extends BaseExtensibleLanguage {
@Override
protected IDOMTokenMap getTokenMap() {
- return TOKEN_MAP;
+ return DOMToISOCPPTokenMap.DEFAULT_MAP;
}
@Override
protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
- return SCANNER_CONFIGURATION;
+ return ScannerExtensionConfiguration.createCPP();
}
public IContributedModelBuilder createModelBuilder(@SuppressWarnings("unused") ITranslationUnit tu) {
@@ -85,31 +71,12 @@ public class ISOCPPLanguage extends BaseExtensibleLanguage {
return ParserLanguage.CPP;
}
- private ICLanguageKeywords cppLanguageKeywords = new CLanguageKeywords(ParserLanguage.CPP, SCANNER_CONFIGURATION);
-
-
- @SuppressWarnings("unchecked")
- @Override
- public Object getAdapter(Class adapter) {
- if(IPDOMLinkageFactory.class.equals(adapter))
- return new PDOMCPPLinkageFactory();
- if(ICLanguageKeywords.class.equals(adapter))
- return cppLanguageKeywords;
-
- return super.getAdapter(adapter);
- }
-
/**
* Gets the translation unit object and sets the index and the location resolver.
*/
@Override
- protected IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor) {
- IASTTranslationUnit tu = CPPNodeFactory.getDefault().newTranslationUnit();
- tu.setIndex(index);
- if(tu instanceof CPPASTTranslationUnit) {
- ((CPPASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver());
- }
- return tu;
+ protected IASTTranslationUnit createASTTranslationUnit() {
+ return CPPNodeFactory.getDefault().newTranslationUnit();
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/DOMToGCCTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/DOMToGCCTokenMap.java
new file mode 100644
index 0000000000..af1ddb2fe8
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/DOMToGCCTokenMap.java
@@ -0,0 +1,148 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.gcc;
+
+import static org.eclipse.cdt.core.parser.IToken.*;
+import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.*;
+
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
+import org.eclipse.cdt.core.parser.IGCCToken;
+import org.eclipse.cdt.core.parser.IToken;
+
+/**
+ * Maps tokens types returned by CPreprocessor to token types
+ * expected by the C99 parser.
+ *
+ * @author Mike Kucera
+ */
+public final class DOMToGCCTokenMap implements IDOMTokenMap {
+
+ public static final DOMToGCCTokenMap DEFAULT_MAP = new DOMToGCCTokenMap();
+
+ private DOMToGCCTokenMap() {
+ // just a private constructor
+ }
+
+ public int getEOFTokenKind() {
+ return TK_EOF_TOKEN;
+ }
+
+ public int getEOCTokenKind() {
+ return TK_EndOfCompletion;
+ }
+
+ public int mapKind(IToken token) {
+
+ switch(token.getType()) {
+ case tIDENTIFIER : return TK_identifier;
+ case tINTEGER : return TK_integer;
+ case tCOLON : return TK_Colon;
+ case tSEMI : return TK_SemiColon;
+ case tCOMMA : return TK_Comma;
+ case tQUESTION : return TK_Question;
+ case tLPAREN : return TK_LeftParen;
+ case tRPAREN : return TK_RightParen;
+ case tLBRACKET : return TK_LeftBracket;
+ case tRBRACKET : return TK_RightBracket;
+ case tLBRACE : return TK_LeftBrace;
+ case tRBRACE : return TK_RightBrace;
+ case tPLUSASSIGN : return TK_PlusAssign;
+ case tINCR : return TK_PlusPlus;
+ case tPLUS : return TK_Plus;
+ case tMINUSASSIGN : return TK_MinusAssign;
+ case tDECR : return TK_MinusMinus;
+ case tARROW : return TK_Arrow;
+ case tMINUS : return TK_Minus;
+ case tSTARASSIGN : return TK_StarAssign;
+ case tSTAR : return TK_Star;
+ case tMODASSIGN : return TK_PercentAssign;
+ case tMOD : return TK_Percent;
+ case tXORASSIGN : return TK_CaretAssign;
+ case tXOR : return TK_Caret;
+ case tAMPERASSIGN : return TK_AndAssign;
+ case tAND : return TK_AndAnd;
+ case tAMPER : return TK_And;
+ case tBITORASSIGN : return TK_OrAssign;
+ case tOR : return TK_OrOr;
+ case tBITOR : return TK_Or;
+ case tBITCOMPLEMENT: return TK_Tilde;
+ case tNOTEQUAL : return TK_NE;
+ case tNOT : return TK_Bang;
+ case tEQUAL : return TK_EQ;
+ case tASSIGN : return TK_Assign;
+ case tUNKNOWN_CHAR : return TK_Invalid;
+ case tSHIFTL : return TK_LeftShift;
+ case tLTEQUAL : return TK_LE;
+ case tLT : return TK_LT;
+ case tSHIFTRASSIGN : return TK_RightShiftAssign;
+ case tSHIFTR : return TK_RightShift;
+ case tGTEQUAL : return TK_GE;
+ case tGT : return TK_GT;
+ case tSHIFTLASSIGN : return TK_LeftShiftAssign;
+ case tELLIPSIS : return TK_DotDotDot;
+ case tDOT : return TK_Dot;
+ case tDIVASSIGN : return TK_SlashAssign;
+ case tDIV : return TK_Slash;
+
+ case t_auto : return TK_auto;
+ case t_break : return TK_break;
+ case t_case : return TK_case;
+ case t_char : return TK_char;
+ case t_const : return TK_const;
+ case t_continue : return TK_continue;
+ case t_default : return TK_default;
+ case t_do : return TK_do;
+ case t_double : return TK_double;
+ case t_else : return TK_else;
+ case t_enum : return TK_enum;
+ case t_extern : return TK_extern;
+ case t_float : return TK_float;
+ case t_for : return TK_for;
+ case t_goto : return TK_goto;
+ case t_if : return TK_if;
+ case t_inline : return TK_inline;
+ case t_int : return TK_int;
+ case t_long : return TK_long;
+ case t_register : return TK_register;
+ case t_return : return TK_return;
+ case t_short : return TK_short;
+ case t_sizeof : return TK_sizeof;
+ case t_static : return TK_static;
+ case t_signed : return TK_signed;
+ case t_struct : return TK_struct;
+ case t_switch : return TK_switch;
+ case t_typedef : return TK_typedef;
+ case t_union : return TK_union;
+ case t_unsigned : return TK_unsigned;
+ case t_void : return TK_void;
+ case t_volatile : return TK_volatile;
+ case t_while : return TK_while;
+ case tFLOATINGPT : return TK_floating;
+ case tSTRING : return TK_stringlit;
+ case tLSTRING : return TK_stringlit;
+ case tCHAR : return TK_charconst;
+ case tLCHAR : return TK_charconst;
+ case t__Bool : return TK__Bool;
+ case t__Complex : return TK__Complex;
+ case t__Imaginary : return TK__Imaginary;
+ case t_restrict : return TK_restrict;
+ case tCOMPLETION : return TK_Completion;
+ case tEOC : return TK_EndOfCompletion;
+ case tEND_OF_INPUT : return TK_EOF_TOKEN;
+
+ case IGCCToken.t__attribute__ : return TK___attribute__;
+
+ default:
+ assert false : "token not recognized by the GCC parser: " + token.getType(); //$NON-NLS-1$
+ return TK_Invalid;
+ }
+ }
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/GCCLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/GCCLanguage.java
new file mode 100644
index 0000000000..f0998ca53c
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gcc/GCCLanguage.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.gcc;
+
+import org.eclipse.cdt.core.dom.ILinkage;
+import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
+import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
+import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration;
+import org.eclipse.cdt.core.model.IContributedModelBuilder;
+import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.cdt.core.parser.ParserLanguage;
+import org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParser;
+import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
+
+/**
+ * ILanguage implementation for the C99 parser.
+ *
+ * @author Mike Kucera
+ */
+@SuppressWarnings("restriction")
+public class GCCLanguage extends BaseExtensibleLanguage {
+
+ public static final String ID = "org.eclipse.cdt.core.lrparser.gcc"; //$NON-NLS-1$
+
+ private static GCCLanguage DEFAULT = new GCCLanguage();
+
+ public static GCCLanguage getDefault() {
+ return DEFAULT;
+ }
+
+ @Override
+ protected IParser getParser() {
+ return new GCCParser();
+ }
+
+ @Override
+ protected IDOMTokenMap getTokenMap() {
+ return DOMToGCCTokenMap.DEFAULT_MAP;
+ }
+
+ @Override
+ protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
+ return GCCScannerExtensionConfiguration.getInstance();
+ }
+
+ public IContributedModelBuilder createModelBuilder(@SuppressWarnings("unused") ITranslationUnit tu) {
+ return null;
+ }
+
+ public String getId() {
+ return ID;
+ }
+
+ public int getLinkageID() {
+ return ILinkage.C_LINKAGE_ID;
+ }
+
+ @Override
+ protected ParserLanguage getParserLanguage() {
+ return ParserLanguage.C;
+ }
+
+ @Override
+ protected IASTTranslationUnit createASTTranslationUnit() {
+ return CNodeFactory.getDefault().newTranslationUnit();
+ }
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/DOMToGPPTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/DOMToGPPTokenMap.java
new file mode 100644
index 0000000000..fd11952c82
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/DOMToGPPTokenMap.java
@@ -0,0 +1,180 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.gpp;
+
+import static org.eclipse.cdt.core.parser.IToken.*;
+import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.*;
+
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
+import org.eclipse.cdt.core.parser.IGCCToken;
+import org.eclipse.cdt.core.parser.IToken;
+
+/**
+ * Maps tokens types returned by CPreprocessor to token types
+ * expected by the C++ parser.
+ *
+ * @author Mike Kucera
+ */
+public class DOMToGPPTokenMap implements IDOMTokenMap {
+
+
+ public static final DOMToGPPTokenMap DEFAULT_MAP = new DOMToGPPTokenMap();
+
+ private DOMToGPPTokenMap() {
+ // just a private constructor
+ }
+
+ public int getEOFTokenKind() {
+ return TK_EOF_TOKEN;
+ }
+
+ public int getEOCTokenKind() {
+ return TK_EndOfCompletion;
+ }
+
+ public int mapKind(IToken token) {
+
+ switch(token.getType()) {
+ case tIDENTIFIER : return TK_identifier;
+ case tINTEGER : return TK_integer;
+ case tCOLONCOLON : return TK_ColonColon;
+ case tCOLON : return TK_Colon;
+ case tSEMI : return TK_SemiColon;
+ case tCOMMA : return TK_Comma;
+ case tQUESTION : return TK_Question;
+ case tLPAREN : return TK_LeftParen;
+ case tRPAREN : return TK_RightParen;
+ case tLBRACKET : return TK_LeftBracket;
+ case tRBRACKET : return TK_RightBracket;
+ case tLBRACE : return TK_LeftBrace;
+ case tRBRACE : return TK_RightBrace;
+ case tPLUSASSIGN : return TK_PlusAssign;
+ case tINCR : return TK_PlusPlus;
+ case tPLUS : return TK_Plus;
+ case tMINUSASSIGN : return TK_MinusAssign;
+ case tDECR : return TK_MinusMinus;
+ case tARROWSTAR : return TK_ArrowStar;
+ case tARROW : return TK_Arrow;
+ case tMINUS : return TK_Minus;
+ case tSTARASSIGN : return TK_StarAssign;
+ case tSTAR : return TK_Star;
+ case tMODASSIGN : return TK_PercentAssign;
+ case tMOD : return TK_Percent;
+ case tXORASSIGN : return TK_CaretAssign;
+ case tXOR : return TK_Caret;
+ case tAMPERASSIGN : return TK_AndAssign;
+ case tAND : return TK_AndAnd;
+ case tAMPER : return TK_And;
+ case tBITORASSIGN : return TK_OrAssign;
+ case tOR : return TK_OrOr;
+ case tBITOR : return TK_Or;
+ case tBITCOMPLEMENT: return TK_Tilde;
+ case tNOTEQUAL : return TK_NE;
+ case tNOT : return TK_Bang;
+ case tEQUAL : return TK_EQ;
+ case tASSIGN : return TK_Assign;
+ case tUNKNOWN_CHAR : return TK_Invalid;
+ case tSHIFTL : return TK_LeftShift;
+ case tLTEQUAL : return TK_LE;
+ case tLT : return TK_LT;
+ case tSHIFTRASSIGN : return TK_RightShiftAssign;
+ case tSHIFTR : return TK_RightShift;
+ case tGTEQUAL : return TK_GE;
+ case tGT : return TK_GT;
+ case tSHIFTLASSIGN : return TK_LeftShiftAssign;
+ case tELLIPSIS : return TK_DotDotDot;
+ case tDOTSTAR : return TK_DotStar;
+ case tDOT : return TK_Dot;
+ case tDIVASSIGN : return TK_SlashAssign;
+ case tDIV : return TK_Slash;
+
+ case t_asm : return TK_asm;
+ case t_auto : return TK_auto;
+ case t_bool : return TK_bool;
+ case t_break : return TK_break;
+ case t_case : return TK_case;
+ case t_catch : return TK_catch;
+ case t_char : return TK_char;
+ case t_class : return TK_class;
+ case t_const : return TK_const;
+ case t_const_cast : return TK_const_cast;
+ case t_continue : return TK_continue;
+ case t_default : return TK_default;
+ case t_delete : return TK_delete;
+ case t_do : return TK_do;
+ case t_double : return TK_double;
+ case t_dynamic_cast: return TK_dynamic_cast;
+ case t_else : return TK_else;
+ case t_enum : return TK_enum;
+ case t_explicit : return TK_explicit;
+ case t_export : return TK_export;
+ case t_extern : return TK_extern;
+ case t_false : return TK_false;
+ case t_float : return TK_float;
+ case t_for : return TK_for;
+ case t_friend : return TK_friend;
+ case t_goto : return TK_goto;
+ case t_if : return TK_if;
+ case t_inline : return TK_inline;
+ case t_int : return TK_int;
+ case t_long : return TK_long;
+ case t_mutable : return TK_mutable;
+ case t_namespace : return TK_namespace;
+ case t_new : return TK_new;
+ case t_operator : return TK_operator;
+ case t_private : return TK_private;
+ case t_protected : return TK_protected;
+ case t_public : return TK_public;
+ case t_register : return TK_register;
+ case t_reinterpret_cast : return TK_reinterpret_cast;
+ case t_return : return TK_return;
+ case t_short : return TK_short;
+ case t_sizeof : return TK_sizeof;
+ case t_static : return TK_static;
+ case t_static_cast : return TK_static_cast;
+ case t_signed : return TK_signed;
+ case t_struct : return TK_struct;
+ case t_switch : return TK_switch;
+ case t_template : return TK_template;
+ case t_this : return TK_this;
+ case t_throw : return TK_throw;
+ case t_true : return TK_true;
+ case t_try : return TK_try;
+ case t_typedef : return TK_typedef;
+ case t_typeid : return TK_typeid;
+ case t_typename : return TK_typename;
+ case t_union : return TK_union;
+ case t_unsigned : return TK_unsigned;
+ case t_using : return TK_using;
+ case t_virtual : return TK_virtual;
+ case t_void : return TK_void;
+ case t_volatile : return TK_volatile;
+ case t_wchar_t : return TK_wchar_t;
+ case t_while : return TK_while;
+
+ case tFLOATINGPT : return TK_floating;
+ case tSTRING : return TK_stringlit;
+ case tLSTRING : return TK_stringlit;
+ case tCHAR : return TK_charconst;
+ case tLCHAR : return TK_charconst;
+ case tCOMPLETION : return TK_Completion;
+ case tEOC : return TK_EndOfCompletion;
+ case tEND_OF_INPUT : return TK_EOF_TOKEN;
+
+ case IGCCToken.t__attribute__ : return TK___attribute__;
+
+ default:
+ assert false : "token not recognized by the GPP parser: " + token.getType(); //$NON-NLS-1$
+ return TK_Invalid;
+ }
+ }
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/GPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/GPPLanguage.java
new file mode 100644
index 0000000000..62ee22e855
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gpp/GPPLanguage.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.gpp;
+
+import org.eclipse.cdt.core.dom.ILinkage;
+import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
+import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
+import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration;
+import org.eclipse.cdt.core.model.IContributedModelBuilder;
+import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.cdt.core.parser.ParserLanguage;
+import org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParser;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
+
+/**
+ * ILanguage implementation for the GPP parser.
+ *
+ * @author Mike Kucera
+ */
+@SuppressWarnings("restriction")
+public class GPPLanguage extends BaseExtensibleLanguage {
+
+ public static final String ID = "org.eclipse.cdt.core.lrparser.gpp"; //$NON-NLS-1$
+
+ private static GPPLanguage DEFAULT = new GPPLanguage();
+
+ public static GPPLanguage getDefault() {
+ return DEFAULT;
+ }
+
+ @Override
+ protected IParser getParser() {
+ return new GPPParser();
+ }
+
+ @Override
+ protected IDOMTokenMap getTokenMap() {
+ return DOMToGPPTokenMap.DEFAULT_MAP;
+ }
+
+ @Override
+ protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
+ return GCCScannerExtensionConfiguration.getInstance();
+ }
+
+ public IContributedModelBuilder createModelBuilder(@SuppressWarnings("unused") ITranslationUnit tu) {
+ return null;
+ }
+
+ public String getId() {
+ return ID;
+ }
+
+ public int getLinkageID() {
+ return ILinkage.CPP_LINKAGE_ID;
+ }
+
+ @Override
+ protected ParserLanguage getParserLanguage() {
+ return ParserLanguage.CPP;
+ }
+
+ @Override
+ protected IASTTranslationUnit createASTTranslationUnit() {
+ return CPPNodeFactory.getDefault().newTranslationUnit();
+ }
+
+}
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 b97b380ca4..9577abc7af 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
@@ -591,7 +591,7 @@ public C99ExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 101: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 101: labeled_statement ::= identifier_token : statement
//
case 101: { action. consumeStatementLabeled(); break;
}
@@ -687,7 +687,7 @@ public C99ExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 121: jump_statement ::= goto identifier_or_typedefname ;
+ // Rule 121: jump_statement ::= goto identifier_token ;
//
case 121: { action. consumeStatementGoto(); break;
}
@@ -789,489 +789,477 @@ public C99ExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 182: struct_or_union_specifier ::= struct { <openscope-ast> struct_declaration_list_opt }
+ // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 182: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 183: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // Rule 183: 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 183: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 183: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 184: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 188: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 185: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 189: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 189: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 186: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 190: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 190: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 187: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 196: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 196: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 188: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 197: struct_declaration ::= specifier_qualifier_list ;
//
- case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 197: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 198: struct_declaration ::= ERROR_TOKEN
//
- case 193: { action. consumeStructDeclaration(true); break;
+ case 198: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 204: struct_declarator ::= : constant_expression
//
- case 194: { action. consumeStructDeclaration(false); break;
+ case 204: { action. consumeBitField(false); break;
}
//
- // Rule 195: struct_declaration ::= ERROR_TOKEN
+ // Rule 205: struct_declarator ::= declarator : constant_expression
//
- case 195: { action. consumeDeclarationProblem(); break;
+ case 205: { action. consumeBitField(true); break;
}
//
- // Rule 201: struct_declarator ::= : constant_expression
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(false); break;
+ case 206: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 202: struct_declarator ::= declarator : constant_expression
+ // Rule 207: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 202: { action. consumeBitField(true); break;
+ case 207: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 203: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 213: enumerator ::= identifier_token
//
- case 203: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 213: { action. consumeEnumerator(false); break;
}
//
- // Rule 204: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 214: enumerator ::= identifier_token = constant_expression
//
- case 204: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 214: { action. consumeEnumerator(true); break;
}
//
- // Rule 209: enumerator ::= identifier_or_typedefname
+ // Rule 215: type_qualifier ::= type_qualifier_token
//
- case 209: { action. consumeEnumerator(false); break;
- }
-
- //
- // Rule 210: enumerator ::= identifier_or_typedefname = constant_expression
- //
- case 210: { action. consumeEnumerator(true); break;
- }
-
- //
- // Rule 211: type_qualifier ::= type_qualifier_token
- //
- case 211: { action. consumeDeclSpecToken(); break;
+ case 215: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 215: function_specifier ::= inline
+ // Rule 219: function_specifier ::= inline
//
- case 215: { action. consumeDeclSpecToken(); break;
+ case 219: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 221: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 217: { action. consumeDeclaratorWithPointer(true); break;
+ case 221: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 222: basic_direct_declarator ::= declarator_id_name
+ // Rule 226: basic_direct_declarator ::= declarator_id_name
//
- case 222: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 226: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 223: basic_direct_declarator ::= ( declarator )
+ // Rule 227: basic_direct_declarator ::= ( declarator )
//
- case 223: { action. consumeDirectDeclaratorBracketed(); break;
+ case 227: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 224: declarator_id_name ::= identifier
+ // Rule 228: declarator_id_name ::= identifier
//
- case 224: { action. consumeIdentifierName(); break;
+ case 228: { action. consumeIdentifierName(); break;
}
//
- // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 229: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 230: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 230: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 233: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 233: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 235: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 231: { action. consumeDeclaratorWithPointer(true); break;
+ case 235: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 236: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 236: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 238: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 234: { action. consumeDeclaratorWithPointer(true); break;
+ case 238: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 235: identifier_list ::= identifier
+ // Rule 239: identifier_list ::= identifier
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 236: identifier_list ::= identifier_list , identifier
+ // Rule 240: identifier_list ::= identifier_list , identifier
//
- case 236: { action. consumeIdentifierKnR(); break;
+ case 240: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 237: array_modifier ::= [ ]
+ // Rule 241: array_modifier ::= [ ]
//
- case 237: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 241: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 239: array_modifier ::= [ assignment_expression ]
+ // Rule 243: array_modifier ::= [ assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 243: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 241: array_modifier ::= [ static assignment_expression ]
+ // Rule 245: array_modifier ::= [ static assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 246: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 244: array_modifier ::= [ * ]
+ // Rule 248: array_modifier ::= [ * ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 249: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 249: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 247: pointer_seq ::= *
+ // Rule 251: pointer_seq ::= pointer_hook *
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointer(); break;
}
//
- // Rule 248: pointer_seq ::= pointer_seq *
+ // Rule 252: pointer_seq ::= pointer_seq pointer_hook *
//
- case 248: { action. consumePointer(); break;
+ case 252: { action. consumePointer(); break;
}
//
- // Rule 249: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 253: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 253: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 254: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
//
- case 250: { action. consumePointerTypeQualifierList(); break;
+ case 254: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list
+ // Rule 258: parameter_type_list ::= parameter_list
//
- case 253: { action. consumeEmpty(); break;
+ case 258: { action. consumeEmpty(); break;
}
//
- // Rule 254: parameter_type_list ::= parameter_list , ...
+ // Rule 259: parameter_type_list ::= parameter_list , ...
//
- case 254: { action. consumePlaceHolder(); break;
+ case 259: { action. consumePlaceHolder(); break;
}
//
- // Rule 255: parameter_type_list ::= ...
+ // Rule 260: parameter_type_list ::= ...
//
- case 255: { action. consumePlaceHolder(); break;
+ case 260: { action. consumePlaceHolder(); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 263: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 258: { action. consumeParameterDeclaration(); break;
+ case 263: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 259: parameter_declaration ::= declaration_specifiers
+ // Rule 264: parameter_declaration ::= declaration_specifiers
//
- case 259: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 264: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list
+ // Rule 267: type_name ::= specifier_qualifier_list
//
- case 262: { action. consumeTypeId(false); break;
+ case 267: { action. consumeTypeId(false); break;
}
//
- // Rule 263: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 268: type_name ::= specifier_qualifier_list abstract_declarator
//
- case 263: { action. consumeTypeId(true); break;
+ case 268: { action. consumeTypeId(true); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 270: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 271: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 266: { action. consumeDeclaratorWithPointer(false); break;
+ case 271: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 270: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 275: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 270: { action. consumeDirectDeclaratorBracketed(); break;
+ case 275: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= array_modifier
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 277: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 278: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 278: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 274: function_direct_abstract_declarator ::= ( )
+ // Rule 279: function_direct_abstract_declarator ::= ( )
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 281: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 282: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 282: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 278: initializer ::= assignment_expression
+ // Rule 283: initializer ::= assignment_expression
//
- case 278: { action. consumeInitializer(); break;
+ case 283: { action. consumeInitializer(); break;
}
//
- // Rule 279: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 284: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
- case 279: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 280: initializer ::= { <openscope-ast> }
+ // Rule 285: initializer ::= { <openscope-ast> }
//
- case 280: { action. consumeInitializerList(); break;
+ case 285: { action. consumeInitializerList(); break;
}
//
- // Rule 281: start_initializer_list ::= $Empty
+ // Rule 286: start_initializer_list ::= $Empty
//
- case 281: { action. initializerListStart(); break;
+ case 286: { action. initializerListStart(); break;
}
//
- // Rule 282: end_initializer_list ::= $Empty
+ // Rule 287: end_initializer_list ::= $Empty
//
- case 282: { action. initializerListEnd(); break;
+ case 287: { action. initializerListEnd(); break;
}
//
- // Rule 287: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 287: { action. consumeInitializerDesignated(); break;
+ case 292: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 291: designator_base ::= [ constant_expression ]
+ // Rule 296: designator_base ::= [ constant_expression ]
//
- case 291: { action. consumeDesignatorArray(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 292: designator_base ::= . identifier_or_typedefname
+ // Rule 297: designator_base ::= . identifier_token
//
- case 292: { action. consumeDesignatorField(); break;
+ case 297: { action. consumeDesignatorField(); break;
}
//
- // Rule 293: designator ::= [ constant_expression ]
+ // Rule 298: designator ::= [ constant_expression ]
//
- case 293: { action. consumeDesignatorArray(); break;
+ case 298: { action. consumeDesignatorArray(); break;
}
//
- // Rule 294: designator ::= . identifier_or_typedefname
+ // Rule 299: designator ::= . identifier_token
//
- case 294: { action. consumeDesignatorField(); break;
+ case 299: { action. consumeDesignatorField(); break;
}
//
- // Rule 295: translation_unit ::= external_declaration_list
+ // Rule 300: translation_unit ::= external_declaration_list
//
- case 295: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 296: translation_unit ::= $Empty
+ // Rule 301: translation_unit ::= $Empty
//
- case 296: { action. consumeTranslationUnit(); break;
+ case 301: { action. consumeTranslationUnit(); break;
}
//
- // Rule 301: external_declaration ::= ;
+ // Rule 306: external_declaration ::= ;
//
- case 301: { action. consumeDeclarationEmpty(); break;
+ case 306: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 302: external_declaration ::= ERROR_TOKEN
+ // Rule 307: external_declaration ::= ERROR_TOKEN
//
- case 302: { action. consumeDeclarationProblem(); break;
+ case 307: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 305: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 305: { action. consumeFunctionDefinition(true); break;
+ case 310: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 306: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 306: { action. consumeFunctionDefinition(false); break;
+ case 311: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 307: 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 307: { action. consumeFunctionDefinitionKnR(); break;
+ case 312: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 308: function_body ::= { }
+ // Rule 313: function_body ::= { }
//
- case 308: { action. consumeStatementCompoundStatement(false); break;
+ case 313: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 309: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 314: function_body ::= { <openscope-ast> block_item_list }
//
- case 309: { action. consumeStatementCompoundStatement(true); break;
+ case 314: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 311: expression_parser_start ::= ERROR_TOKEN
+ // Rule 316: expression_parser_start ::= ERROR_TOKEN
//
- case 311: { action. consumeExpressionProblem(); break;
+ case 316: { action. consumeExpressionProblem(); 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 ddaefc6eb4..57c08b832f 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
@@ -52,160 +52,159 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
1,2,2,1,3,1,3,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5,5,6,6,2,2,2,1,0,
- 1,2,4,2,1,1,1,3,1,1,
- 2,3,6,7,1,0,1,3,1,3,
- 1,1,1,1,1,1,3,1,1,1,
- 1,1,3,1,2,2,1,5,3,1,
- 3,5,1,3,1,3,2,4,3,5,
- 4,6,6,3,5,1,1,2,3,4,
- 1,2,1,3,1,1,3,2,1,1,
- 1,1,2,1,2,3,1,1,1,3,
- 1,2,2,2,3,4,5,1,7,3,
- 0,0,1,1,3,3,4,1,1,2,
- 3,2,3,2,1,0,1,2,1,1,
- 1,1,1,2,4,3,6,2,4,1,
- 1,-37,0,0,0,0,0,0,0,-2,
+ 1,6,8,0,0,1,1,3,3,3,
+ 0,1,0,1,2,4,2,1,1,1,
+ 3,1,1,2,3,7,8,0,1,0,
+ 1,3,1,3,1,1,1,1,1,1,
+ 3,1,1,1,1,1,3,1,2,2,
+ 1,5,3,1,3,5,1,3,1,3,
+ 2,4,3,5,4,6,6,3,5,1,
+ 2,3,4,5,0,1,2,1,3,1,
+ 1,3,2,1,1,1,1,2,1,2,
+ 3,1,1,1,3,1,2,2,2,3,
+ 4,5,1,7,3,0,0,1,1,3,
+ 3,4,1,1,2,3,2,3,2,1,
+ 0,1,2,1,1,1,1,1,2,4,
+ 3,6,2,4,1,1,-37,0,0,0,
+ 0,0,0,0,0,0,-30,0,0,0,
+ 0,0,0,0,0,0,-82,0,0,-2,
+ -4,-76,-14,0,0,0,0,-124,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-73,0,0,-4,-14,-16,-81,-17,0,
- 0,0,0,-124,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-16,
+ 0,-5,0,0,0,0,0,0,0,0,
+ 0,0,-114,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-130,0,-141,-17,
+ 0,-80,0,-18,-19,0,0,-47,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-38,0,0,0,
- 0,0,0,0,0,0,0,0,-18,-19,
- 0,-20,-21,0,0,0,0,0,0,0,
- -5,0,0,0,0,0,0,-6,0,0,
- 0,0,0,0,0,-12,0,0,0,0,
- 0,0,-30,-22,0,-194,0,0,0,0,
+ -188,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-169,0,0,0,0,
+ -161,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-182,-130,-188,-82,-23,
- -56,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-143,
- 0,-34,0,0,0,0,0,-31,0,0,
+ -31,-20,-202,-56,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-71,0,-74,0,0,0,0,0,
+ -48,0,0,0,0,0,0,0,0,0,
+ 0,-21,0,0,0,0,0,-22,-160,0,
+ -38,0,0,0,0,0,0,0,-83,0,
+ -74,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-24,0,-25,0,-190,
- 0,0,0,0,0,0,0,-26,0,0,
- 0,0,0,0,0,0,0,0,0,-3,
+ 0,0,0,0,-184,0,0,0,0,0,
+ 0,0,0,0,-34,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,-85,-23,-52,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-87,-88,-52,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-89,
- 0,-110,0,0,0,0,0,0,0,0,
+ 0,0,-71,0,-111,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-76,-147,-129,0,0,0,0,0,0,
+ 0,0,0,0,-118,0,-133,-129,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-90,0,0,-27,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-24,0,0,0,0,-27,0,0,
+ 0,0,0,0,0,0,0,-25,0,0,
+ 0,0,0,0,0,0,0,0,0,-26,
+ 0,-12,0,0,0,0,0,0,0,0,
+ 0,0,-39,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-57,0,0,0,
0,0,0,0,0,0,-35,0,0,0,
- 0,0,0,0,0,0,0,0,-57,0,
+ 0,0,0,0,0,0,-58,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-58,0,
+ 0,0,0,0,0,0,-59,0,0,0,
0,0,0,0,0,0,-68,0,0,0,
- 0,0,0,0,0,0,0,0,-59,0,
+ 0,0,0,0,0,0,-60,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-60,0,
+ 0,0,0,0,0,0,-61,0,0,0,
0,0,0,0,0,0,-69,0,0,0,
- 0,0,0,0,0,0,0,0,-61,0,
+ 0,0,0,0,0,0,-62,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-62,0,
+ 0,0,0,0,0,0,-63,0,0,0,
0,0,0,0,0,0,-70,0,0,0,
- 0,0,0,0,0,0,0,0,-63,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-64,0,
- 0,0,0,0,0,0,-114,0,0,0,
- 0,0,0,0,0,0,0,0,-65,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-66,0,
- 0,0,0,0,0,0,-91,0,0,0,
- 0,0,0,0,0,0,0,0,-67,0,
- 0,0,0,0,0,0,-133,0,0,0,
- 0,0,0,0,0,0,0,0,-39,0,
- 0,0,0,0,0,0,-131,0,0,-92,
- -93,-94,-84,-95,0,0,0,0,-148,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-7,0,0,0,0,0,0,-77,0,
- 0,0,0,-13,0,0,0,0,0,0,
- 0,0,0,0,0,-149,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-172,0,0,0,0,
- 0,0,0,-96,0,0,0,0,0,0,
- 0,0,0,0,-187,0,0,0,0,0,
- 0,0,-173,0,0,0,0,0,0,0,
- 0,0,0,-193,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-64,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-197,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-65,0,0,0,
+ 0,0,0,0,0,0,-115,0,0,0,
+ 0,0,0,0,0,0,-66,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,-67,0,0,0,
+ 0,0,0,0,0,0,-131,0,0,0,
+ 0,0,0,0,0,0,-146,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -123,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-97,
- -132,-142,-176,-98,-99,0,-155,0,0,-53,
- 0,0,0,0,0,0,0,-100,0,0,
- 0,0,0,0,0,0,-113,0,0,0,
- 0,0,0,-152,0,0,0,0,0,0,
- 0,0,0,0,0,0,-33,0,-160,-107,
- 0,-109,0,0,0,0,0,0,0,0,
- 0,-86,-101,-126,-211,-164,-116,0,0,0,
+ 0,0,0,0,0,0,-147,0,0,0,
+ 0,0,0,0,0,0,-155,0,0,0,
+ 0,0,0,0,0,0,-164,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-102,0,0,0,0,0,0,0,0,
- 0,0,0,0,-55,0,0,0,0,0,
- 0,0,-157,0,0,0,0,0,0,0,
- 0,-184,-118,0,-140,0,0,0,-111,0,
- 0,0,0,-103,0,0,0,0,-49,0,
- 0,0,0,0,0,0,-206,0,0,0,
- 0,0,0,-128,0,0,0,0,0,0,
- 0,0,-104,0,-105,-150,-79,-153,0,-43,
+ 0,0,0,0,0,-187,0,0,0,0,
+ 0,0,0,0,0,-77,0,0,0,0,
+ 0,0,0,0,-6,0,0,0,0,0,
+ 0,-88,-89,0,-7,0,0,0,0,0,
+ 0,0,-195,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-203,0,0,0,0,0,0,0,0,
+ 0,-90,0,0,0,0,0,0,0,0,
+ -8,0,0,0,0,0,0,-108,-91,0,
+ -9,0,0,0,0,0,0,0,-211,0,
0,0,0,0,0,0,0,0,0,0,
- -32,0,0,0,0,0,0,0,0,-106,
- 0,0,-179,-117,-119,0,0,0,-50,0,
- 0,0,0,0,0,0,-120,0,0,0,
- -122,-134,0,0,0,0,0,-51,0,0,
- 0,0,0,0,0,-189,0,0,0,-44,
- 0,0,0,0,0,0,0,-167,0,0,
- -45,0,0,0,0,0,0,0,-145,0,
- 0,-46,0,0,0,0,0,0,0,-199,
- 0,0,-171,-154,0,0,-177,0,-47,0,
- 0,0,0,0,0,0,0,0,-48,0,
- 0,0,0,0,0,0,-165,0,0,0,
- 0,-196,-75,0,0,0,0,0,0,0,
- 0,-78,-36,-112,0,-121,0,-125,-181,-178,
- 0,-166,0,0,-108,0,0,0,0,0,
- -80,-170,0,0,0,0,-198,0,0,0,
- 0,0,0,0,0,0,0,0,-208,0,
- -210,0,0,-192,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-123,0,0,
+ 0,0,0,0,0,0,0,-132,0,0,
+ 0,0,0,0,0,0,-33,0,-10,0,
+ 0,0,0,0,0,0,0,-54,-92,-126,
+ -116,-119,-93,0,-166,-94,-112,0,-150,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-151,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-8,
- 0,0,0,0,0,0,0,0,-9,0,
- 0,0,0,0,0,-10,0,0,0,0,
- 0,0,-11,0,0,0,0,0,0,-15,
- -136,-28,-138,-29,-159,-204,0,0,0,0,
- 0,0,-40,0,0,0,0,0,0,-141,
- -144,-175,0,-205,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-191,0,
- 0,0,0,0,0,-41,0,0,0,0,
- 0,0,-42,0,0,0,0,0,0,-83,
- -203,0,0,0,-85,0,-72,0,0,0,
- 0,0,0,-163,-115,-54,-1,-168,0,-174,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-137,0,-139,0,
- 0,0,-158,0,0,0,0,-200,0,0,
- 0,0,-180,-183,-202,-127,0,0,-195,0,
- 0,0,0,0,0,0,0,-146,0,0,
- 0,0,-162,0,0,0,0,0,0,0,
+ 0,0,-95,-177,0,0,0,-113,0,-196,
+ -87,-96,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-135,
- 0,0,0,-185,0,-186,-201,0,0,0,
- -156,0,0,0,-209,0,-161,0,0,0,
+ -73,0,0,-151,0,0,0,0,0,0,
+ 0,0,-55,0,0,0,0,0,0,0,
+ 0,0,-175,0,0,0,0,0,0,0,
+ -127,0,0,0,0,-13,0,0,0,0,
+ 0,0,0,0,0,0,-97,0,0,0,
+ -98,0,0,0,-192,-99,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-53,
+ 0,0,0,0,0,0,0,0,0,-145,
+ 0,0,0,-100,-101,-210,0,-137,0,0,
+ 0,0,0,0,0,0,-169,0,-102,-103,
+ 0,0,0,-49,0,0,0,0,0,0,
+ 0,0,0,-140,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-11,0,0,0,
+ 0,0,0,0,-120,0,0,0,-149,0,
+ 0,0,0,0,0,0,-50,0,0,0,
+ 0,0,0,0,0,0,-128,0,-104,0,
+ -105,0,-106,-107,0,-110,-125,0,0,-51,
0,0,0,0,0,0,0,0,0,0,
+ 0,-43,0,0,0,0,0,0,0,0,
+ 0,-44,0,0,0,0,0,0,0,0,
+ 0,-45,0,0,0,0,0,0,0,0,
+ 0,-46,0,0,0,0,0,0,0,0,
+ 0,-205,-75,-78,-40,0,0,0,0,0,
+ 0,0,0,-41,0,0,0,0,0,0,
+ -148,-134,0,-136,0,0,-138,-212,0,-189,
+ 0,0,0,0,-117,0,0,0,0,0,
+ 0,0,-36,0,0,0,0,0,0,0,
+ 0,0,0,-109,0,0,-181,0,0,-173,
0,0,0,0,0,0,0,0,0,0,
+ -15,-42,0,0,0,0,0,0,-143,0,
+ 0,-174,-28,0,0,0,0,0,0,-153,
+ 0,0,0,-121,0,-29,0,0,0,0,
+ 0,0,-172,0,-79,0,0,0,0,0,
+ -122,0,0,0,0,0,0,-178,0,0,
+ 0,-199,0,0,0,0,0,0,0,-81,
+ 0,0,0,0,0,0,0,0,0,-84,
+ -193,0,0,-72,0,0,0,0,0,0,
+ 0,0,-86,-157,-190,0,0,0,0,0,
+ 0,0,-135,0,0,-191,0,0,0,0,
+ -165,-159,0,0,0,0,-180,0,0,0,
+ 0,0,0,-1,-179,-156,0,0,-32,0,
+ -154,0,-206,0,0,0,0,-163,0,-213,
+ 0,0,-162,-139,0,-142,-168,0,0,0,
+ -152,0,0,0,0,0,0,0,-182,0,
+ 0,0,0,0,0,-144,0,0,0,-198,
+ -170,-171,0,0,0,0,0,-183,-158,0,
+ 0,0,-167,-185,0,0,0,0,0,-176,
+ -186,0,0,0,0,0,0,-194,-197,0,
+ 0,0,0,-200,-201,-207,0,-208,-204,0,
+ 0,-209,0,0,0,0,0,0,0,0,
0,0,0,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;
@@ -215,179 +214,178 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface BaseAction {
public final static char baseAction[] = {
- 84,8,24,24,20,20,26,26,69,69,
+ 87,10,23,23,20,20,32,32,70,70,
1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,51,51,70,
- 70,5,5,5,5,5,5,5,5,5,
- 5,5,6,6,7,7,7,7,9,9,
- 9,10,10,10,11,11,11,11,11,12,
+ 4,4,4,4,4,4,4,51,51,71,
+ 71,5,5,5,5,5,5,5,5,5,
+ 5,5,6,6,7,7,7,7,8,8,
+ 8,9,9,9,11,11,11,11,11,12,
12,12,13,13,14,14,15,15,16,16,
17,17,18,18,19,19,19,19,19,19,
- 19,19,19,19,19,19,95,41,33,85,
- 85,72,72,46,96,96,96,96,96,96,
- 96,97,97,97,98,98,103,103,104,104,
- 99,99,100,100,100,106,106,101,101,101,
- 101,102,102,102,102,102,105,105,23,23,
- 23,23,23,28,28,28,78,78,73,73,
- 73,73,74,74,74,75,75,75,76,76,
- 76,77,77,77,107,107,108,108,109,29,
- 31,31,31,31,31,52,54,54,54,54,
- 54,54,54,54,54,54,54,54,66,66,
- 27,27,63,63,63,63,64,64,64,55,
- 55,56,56,48,48,48,32,86,86,79,
- 80,80,80,65,65,81,81,82,82,67,
- 67,21,22,22,22,30,47,47,34,34,
- 34,34,37,37,39,35,35,36,40,40,
- 110,110,38,111,111,87,87,25,25,25,
- 25,25,25,25,25,25,83,49,49,49,
- 49,58,58,57,57,57,59,59,50,50,
- 88,88,62,62,60,60,60,42,42,42,
- 43,44,44,44,45,45,45,45,53,53,
- 53,61,89,71,71,71,71,68,90,91,
- 91,92,92,93,93,112,112,113,113,114,
- 114,114,114,116,116,115,115,115,117,117,
- 84,84,1,14,19,15,336,538,44,339,
- 109,337,380,379,383,382,460,414,528,526,
- 74,91,412,134,211,42,338,51,215,104,
- 136,133,135,159,546,14,19,15,336,538,
- 44,339,480,337,380,379,383,382,460,414,
- 528,526,74,278,138,1274,165,633,14,19,
- 15,336,42,44,590,142,145,148,151,14,
- 107,1395,93,280,335,1382,1237,1401,1550,1555,
- 1142,662,14,19,15,336,40,283,633,14,
- 19,15,336,42,39,1329,691,14,19,15,
- 336,33,284,56,153,1082,604,14,19,15,
- 336,538,44,339,480,337,380,379,383,382,
- 460,414,528,526,74,278,429,14,19,15,
- 336,538,44,339,480,337,380,379,383,382,
- 460,414,528,526,74,278,772,348,651,263,
- 343,633,14,19,15,336,42,44,339,283,
- 337,380,379,383,382,460,1233,1329,252,211,
- 501,271,377,23,284,1367,1275,1551,56,285,
- 217,1238,219,1344,221,222,227,1329,266,929,
- 612,269,1557,262,286,369,14,19,15,336,
- 538,44,339,1384,337,380,379,383,382,460,
- 414,528,526,74,1199,208,307,20,141,237,
- 575,14,19,15,336,538,44,339,727,337,
- 380,379,383,382,460,414,528,526,74,278,
- 633,14,19,15,336,538,44,339,22,337,
- 380,379,383,382,460,414,528,526,74,91,
- 1402,993,289,749,775,633,14,19,15,336,
- 42,44,339,287,337,380,379,383,382,1098,
- 200,1329,720,14,19,15,336,538,44,339,
- 1606,337,380,379,383,382,460,414,528,526,
- 74,1224,219,487,399,14,19,15,336,538,
- 44,339,335,337,380,379,383,382,460,414,
- 528,526,74,1236,252,211,248,272,238,633,
- 14,19,15,336,538,44,339,377,337,380,
- 379,383,382,460,414,528,526,74,92,633,
- 14,19,15,336,538,44,339,16,337,380,
- 379,383,382,460,414,528,526,74,85,633,
- 14,19,15,336,538,44,339,377,337,380,
- 379,383,382,460,414,528,526,74,84,633,
- 14,19,15,336,538,44,339,1235,337,380,
- 379,383,382,460,414,528,526,74,83,633,
- 14,19,15,336,538,44,339,377,337,380,
- 379,383,382,460,414,528,526,74,82,633,
- 14,19,15,336,538,44,339,1270,337,380,
- 379,383,382,460,414,528,526,74,81,633,
- 14,19,15,336,538,44,339,377,337,380,
- 379,383,382,460,414,528,526,74,80,633,
- 14,19,15,336,538,44,339,21,337,380,
- 379,383,382,460,414,528,526,74,79,633,
- 14,19,15,336,538,44,339,377,337,380,
- 379,383,382,460,414,528,526,74,78,633,
- 14,19,15,336,538,44,339,270,337,380,
- 379,383,382,460,414,528,526,74,77,633,
- 14,19,15,336,538,44,339,251,337,380,
- 379,383,382,460,414,528,526,74,76,633,
- 14,19,15,336,538,44,339,287,337,380,
- 379,383,382,460,414,528,526,74,75,633,
- 14,19,15,336,42,44,636,377,134,211,
- 261,398,474,311,524,136,133,135,159,633,
- 14,19,15,336,538,44,339,276,337,380,
- 379,383,382,460,414,528,526,74,1347,138,
- 1291,165,633,14,19,15,336,42,38,415,
- 142,145,148,151,691,14,19,15,336,32,
- 1382,1237,1401,1550,1555,1142,633,14,19,15,
- 336,538,44,339,273,337,380,379,383,382,
- 460,414,528,526,74,1390,633,14,19,15,
- 336,42,44,339,611,337,380,379,383,382,
- 460,414,528,526,93,633,14,19,15,336,
- 42,44,339,712,337,380,379,383,382,460,
- 414,528,526,93,633,14,19,15,336,42,
- 44,339,1529,337,380,379,383,382,460,414,
- 528,526,93,633,14,19,15,336,42,44,
- 339,210,337,380,379,383,382,460,414,528,
- 526,93,633,14,19,15,336,42,44,339,
- 1605,337,380,379,383,382,460,414,528,526,
- 93,633,14,19,15,336,42,44,339,201,
- 337,380,379,383,382,460,414,528,526,73,
- 588,737,763,557,62,110,290,412,202,1087,
- 633,14,19,15,336,42,44,339,465,337,
- 380,379,383,1143,252,211,271,458,14,19,
- 15,336,42,35,435,216,1238,219,1344,221,
- 222,227,1603,264,929,612,269,6,260,641,
- 6,244,67,1568,274,550,456,1192,344,271,
- 1144,261,287,237,115,27,771,581,216,1238,
- 219,1344,221,222,227,1650,264,929,612,269,
- 87,1273,136,134,211,251,211,275,503,258,
- 137,133,135,159,807,633,14,19,15,336,
- 42,44,339,377,337,380,379,383,382,460,
- 414,1204,386,6,139,551,165,1656,194,262,
- 1598,1587,613,277,285,143,146,149,152,633,
- 14,19,15,336,42,44,339,386,337,380,
- 379,1080,1367,239,262,1598,216,1238,219,1344,
- 221,222,227,265,279,504,262,807,567,1407,
- 633,14,19,15,336,42,44,339,241,337,
- 847,216,1238,219,1344,221,222,227,134,211,
- 240,292,207,226,1407,144,133,135,159,550,
- 536,197,199,377,583,591,1146,1392,1372,633,
- 14,19,15,336,42,44,339,6,337,380,
- 1084,702,99,223,89,1589,198,199,633,14,
- 19,15,336,42,44,339,771,337,380,1085,
- 633,14,19,15,336,42,44,339,551,337,
- 890,633,14,19,15,336,42,44,339,710,
- 337,891,633,14,19,15,336,42,44,339,
- 678,337,892,651,610,1367,767,262,1598,633,
- 14,19,15,336,42,44,339,1657,894,633,
- 14,19,15,336,42,44,339,499,974,225,
- 292,242,147,464,216,1238,219,1344,221,222,
- 227,1565,328,201,115,207,6,1273,163,581,
- 262,332,784,274,1195,808,1618,1609,271,1306,
- 1392,827,673,134,211,251,211,184,271,229,
- 141,133,135,159,243,264,929,612,269,592,
- 271,506,134,211,651,264,929,612,269,147,
- 133,135,159,807,140,1730,165,266,929,612,
- 269,193,457,263,458,14,19,15,336,42,
- 35,294,1730,217,1238,219,1344,221,222,227,
- 633,14,19,15,336,42,37,614,245,633,
- 14,19,15,336,42,36,633,14,19,15,
- 336,42,35,633,14,19,15,336,42,34,
- 6,6,6,6,6,639,377,1730,312,1593,
- 312,1623,312,633,14,19,15,336,42,47,
- 6,6,6,196,831,196,228,196,1318,1570,
- 416,183,1383,87,1383,87,1383,87,1730,262,
- 1730,647,1730,647,232,647,633,14,19,15,
- 336,42,46,633,14,19,15,336,42,45,
- 847,763,482,291,687,867,727,517,14,19,
- 15,336,42,43,639,475,6,488,639,1730,
- 639,134,211,867,550,550,134,211,150,133,
- 135,159,1730,153,133,135,159,47,1081,95,
- 182,1730,1730,143,26,867,280,867,412,87,
- 87,867,1665,475,639,262,115,1162,310,667,
- 196,867,196,1730,1395,256,196,867,115,1129,
- 1730,1129,887,239,1292,1129,1081,251,211,293,
- 185,867,1081,1730,1730,191,1730,191,1730,251,
- 211,191,1495,1667,1564,1667,196,1419,1604,1667,
- 625,320,456,256,639,1129,639,639,867,256,
- 887,638,1292,1730,457,639,1496,191,1292,867,
- 1730,191,1730,1081,1730,867,1083,1730,1654,1667,
- 184,1730,203,204,1081,1730,1730,1730,1730,899,
- 196,1145,1730,1730,1730,1730,1514,1730,1730,1129,
- 256,1730,1730,1730,1730,1730,1730,1183,1730,1292,
- 1730,257,1730,1730,1730,192,1730,0,17,179,
- 0,18,178,0,1,1954,0,1,1965,0
+ 19,19,19,19,19,19,101,41,33,88,
+ 88,73,73,47,102,102,102,102,102,102,
+ 102,103,103,103,104,104,109,109,110,110,
+ 105,105,106,106,106,112,112,107,107,107,
+ 107,108,108,108,108,108,111,111,24,24,
+ 24,24,24,27,27,27,79,79,74,74,
+ 74,74,75,75,75,76,76,76,77,77,
+ 77,78,78,78,113,113,114,114,115,28,
+ 30,30,30,30,30,52,54,54,54,54,
+ 54,54,54,54,54,54,54,54,64,64,
+ 25,25,61,61,89,90,65,65,62,62,
+ 62,66,80,80,81,81,67,67,67,42,
+ 91,91,82,83,83,83,63,63,92,84,
+ 84,85,85,68,68,21,22,22,22,29,
+ 48,48,34,34,34,34,37,37,39,35,
+ 35,36,40,40,116,116,38,117,117,93,
+ 93,26,26,26,26,26,26,26,26,26,
+ 86,49,49,49,49,31,56,56,55,55,
+ 55,57,57,50,50,94,94,60,60,58,
+ 58,58,43,43,43,44,45,45,45,46,
+ 46,46,46,53,53,53,59,95,72,72,
+ 72,72,69,96,97,97,98,98,99,99,
+ 118,118,119,119,120,120,120,120,122,122,
+ 121,121,121,123,123,87,87,1,14,19,
+ 15,343,670,44,400,370,405,201,404,492,
+ 462,577,498,658,643,74,91,387,134,215,
+ 31,14,144,743,136,133,135,159,434,14,
+ 19,15,343,670,44,400,370,405,399,404,
+ 492,462,577,498,658,643,74,283,277,138,
+ 57,165,530,14,19,15,343,40,142,145,
+ 148,151,402,358,14,19,15,343,42,35,
+ 341,1404,1505,1530,1540,1553,1161,744,23,312,
+ 157,288,191,1122,6,30,248,1479,506,14,
+ 19,15,343,42,44,400,1162,289,257,215,
+ 1294,482,14,19,15,343,670,44,400,370,
+ 405,399,404,492,462,577,498,658,643,74,
+ 283,332,14,19,15,343,670,44,400,370,
+ 405,399,404,492,462,577,498,658,643,74,
+ 283,201,605,421,506,14,19,15,343,42,
+ 44,400,370,405,288,404,492,462,577,1341,
+ 1479,506,14,19,15,343,42,44,400,1227,
+ 289,615,200,1630,290,1603,1571,294,684,323,
+ 1479,506,14,19,15,343,42,44,1042,414,
+ 291,275,14,19,15,343,670,44,400,370,
+ 405,1158,404,492,462,577,498,658,643,74,
+ 1127,26,22,196,241,458,14,19,15,343,
+ 670,44,400,370,405,489,404,492,462,577,
+ 498,658,643,74,283,506,14,19,15,343,
+ 670,44,400,370,405,1544,404,492,462,577,
+ 498,658,643,74,91,1315,439,344,506,14,
+ 19,15,343,42,44,400,370,405,292,404,
+ 492,462,1265,104,1479,578,14,19,15,343,
+ 670,44,400,370,405,1211,404,492,462,577,
+ 498,658,643,74,1337,326,20,189,299,14,
+ 19,15,343,670,44,400,370,405,341,404,
+ 492,462,577,498,658,643,74,1421,134,215,
+ 1424,242,1511,237,136,133,135,159,506,14,
+ 19,15,343,670,44,400,370,405,713,404,
+ 492,462,577,498,658,643,74,92,1494,138,
+ 595,165,554,14,19,15,343,33,142,145,
+ 148,151,402,506,14,19,15,343,42,44,
+ 1059,1404,1505,1530,1540,1553,1161,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,85,506,14,19,
+ 15,343,670,44,400,370,405,16,404,492,
+ 462,577,498,658,643,74,84,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,83,506,14,19,
+ 15,343,670,44,400,370,405,1343,404,492,
+ 462,577,498,658,643,74,82,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,81,506,14,19,
+ 15,343,670,44,400,370,405,1344,404,492,
+ 462,577,498,658,643,74,80,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,79,506,14,19,
+ 15,343,670,44,400,370,405,21,404,492,
+ 462,577,498,658,643,74,78,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,77,506,14,19,
+ 15,343,670,44,400,370,405,275,404,492,
+ 462,577,498,658,643,74,76,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,75,506,14,19,
+ 15,343,670,44,400,370,405,281,404,492,
+ 462,577,498,658,643,74,1631,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,1632,506,14,19,
+ 15,343,42,44,400,370,405,282,404,492,
+ 462,577,498,658,643,93,506,14,19,15,
+ 343,42,44,400,370,405,243,404,492,462,
+ 577,498,658,643,93,506,14,19,15,343,
+ 42,39,602,632,1644,506,14,19,15,343,
+ 42,38,278,506,14,19,15,343,42,44,
+ 400,370,405,1659,404,492,462,577,498,658,
+ 643,93,506,14,19,15,343,42,44,400,
+ 370,405,194,404,492,462,577,498,658,643,
+ 93,506,14,19,15,343,42,37,118,199,
+ 214,506,14,19,15,343,42,36,348,506,
+ 14,19,15,343,42,44,400,370,405,204,
+ 404,492,462,577,498,658,643,93,506,14,
+ 19,15,343,42,44,400,370,405,113,404,
+ 492,462,577,498,658,643,73,118,1490,506,
+ 14,19,15,343,42,35,205,555,118,416,
+ 645,307,583,465,276,323,488,104,555,207,
+ 1260,617,220,1184,223,1611,225,226,231,1460,
+ 87,269,986,342,274,1098,265,189,593,279,
+ 243,87,1346,490,323,276,266,285,52,1280,
+ 583,189,241,220,1184,223,1611,225,226,231,
+ 1454,261,269,986,342,274,907,1503,1422,256,
+ 215,124,134,215,511,1619,182,867,137,133,
+ 135,159,263,506,14,19,15,343,42,44,
+ 400,370,405,151,404,492,462,577,498,1339,
+ 230,52,1346,139,397,165,554,14,19,15,
+ 343,32,143,146,149,152,402,654,212,276,
+ 1454,499,256,215,1347,281,13,221,1184,223,
+ 1611,225,226,231,618,1593,271,986,342,274,
+ 506,14,19,15,343,42,44,400,370,405,
+ 52,404,492,1279,50,622,281,397,118,220,
+ 1184,223,1611,225,226,231,1593,756,1554,624,
+ 330,256,215,1669,506,14,19,15,343,42,
+ 44,400,370,405,746,404,1231,917,257,215,
+ 220,1184,223,1611,225,226,231,506,14,19,
+ 15,343,42,34,1669,583,1277,200,202,358,
+ 14,19,15,343,42,35,463,506,14,19,
+ 15,343,42,44,400,370,405,104,1236,723,
+ 188,690,249,97,158,499,562,728,201,202,
+ 506,14,19,15,343,42,44,400,370,405,
+ 245,1264,506,14,19,15,343,42,44,400,
+ 370,1119,506,14,19,15,343,42,44,400,
+ 370,1123,506,14,19,15,343,42,44,400,
+ 370,1126,506,14,19,15,343,42,44,400,
+ 370,1153,693,613,232,506,14,19,15,343,
+ 42,47,1593,1121,506,14,19,15,343,42,
+ 46,104,646,279,331,134,215,205,710,276,
+ 765,141,133,135,159,514,220,1184,223,1611,
+ 225,226,231,160,244,1563,269,986,342,274,
+ 1503,257,215,1181,242,280,140,747,165,1347,
+ 307,867,221,1184,223,1611,225,226,231,276,
+ 617,118,506,14,19,15,343,42,45,590,
+ 276,317,514,118,1098,1347,269,986,342,274,
+ 124,1346,1555,317,620,199,118,271,986,342,
+ 274,268,233,489,87,675,317,199,1658,1203,
+ 261,583,707,1443,1586,907,87,1422,612,1427,
+ 199,1346,489,227,707,1443,134,215,1235,87,
+ 680,545,144,133,135,159,190,707,1443,1203,
+ 709,747,232,747,409,14,19,15,343,42,
+ 43,134,215,714,48,718,787,147,133,135,
+ 159,134,215,116,617,617,142,150,133,135,
+ 159,559,647,617,134,215,617,647,199,1098,
+ 153,133,135,159,382,95,766,1098,197,441,
+ 199,357,1666,124,555,617,1518,1619,583,555,
+ 338,617,1619,729,118,261,118,52,1518,199,
+ 1522,677,1422,261,1572,1098,1125,87,947,730,
+ 1422,194,89,297,1346,315,753,1518,256,215,
+ 746,104,104,194,1154,1585,1607,229,768,118,
+ 211,262,1428,118,104,211,1665,1585,1664,1577,
+ 118,583,195,421,246,247,1457,1638,323,104,
+ 1566,1541,1638,1430,365,323,323,296,323,749,
+ 295,340,287,1715,1715,1715,299,827,1715,1715,
+ 1715,1668,298,1715,236,1715,1715,1715,1715,1715,
+ 206,1715,1715,1715,1715,284,1715,183,207,1715,
+ 1600,1715,0,17,179,0,18,178,0,1,
+ 1943,0,1,1954,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -398,101 +396,92 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,0,6,7,8,9,
- 10,11,12,0,14,15,16,17,18,19,
- 20,21,22,23,24,25,0,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,0,0,43,44,45,0,1,0,3,
- 0,5,6,7,8,0,1,11,3,9,
- 10,0,16,17,18,19,0,21,55,56,
- 57,58,6,7,8,29,30,31,32,33,
- 34,35,36,37,38,39,40,46,42,43,
- 44,45,0,47,0,1,0,3,0,5,
- 6,7,8,0,12,11,0,4,0,0,
- 16,17,18,19,0,21,55,56,57,58,
- 6,7,8,29,30,31,32,33,34,35,
- 36,37,38,39,40,0,42,43,44,45,
- 0,47,0,1,46,3,0,5,6,7,
- 8,5,0,11,48,49,53,54,16,17,
- 18,19,0,21,55,56,57,58,6,7,
- 8,29,30,31,32,33,34,35,36,37,
- 38,39,40,0,42,43,44,45,80,47,
- 0,1,46,3,59,5,6,7,8,0,
- 0,11,2,4,4,65,16,17,18,19,
- 0,21,66,13,0,1,64,3,0,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,13,42,43,44,45,0,47,0,1,
- 26,3,59,5,6,7,8,0,12,11,
- 0,4,53,54,16,17,18,19,0,21,
- 0,0,0,1,0,3,5,29,30,31,
- 32,33,34,35,36,37,38,39,40,0,
- 42,43,44,45,0,47,0,1,26,3,
- 0,0,6,7,8,0,5,11,48,49,
- 53,54,16,17,18,19,0,21,48,49,
- 0,1,51,3,0,29,30,31,32,33,
- 34,35,36,37,38,39,40,0,64,43,
- 44,45,41,6,7,8,26,0,11,2,
- 61,62,0,16,17,18,19,0,21,65,
- 13,14,15,6,7,8,29,30,31,32,
- 33,34,35,36,37,38,39,40,0,1,
+ 10,11,0,0,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,0,
+ 0,31,32,33,34,35,36,37,38,39,
+ 40,41,42,30,44,45,46,0,1,0,
+ 3,0,5,6,7,8,0,6,7,8,
+ 55,56,57,58,17,9,10,55,56,57,
+ 58,24,25,26,27,28,47,48,31,32,
+ 33,34,35,36,37,38,39,40,41,42,
+ 43,44,45,46,0,1,0,3,51,5,
+ 6,7,8,0,55,56,57,58,5,13,
+ 80,17,0,1,2,0,4,0,24,25,
+ 26,27,28,0,12,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,0,1,0,3,51,5,6,7,8,
+ 0,1,2,50,4,12,0,0,17,0,
+ 4,2,12,4,49,24,25,26,27,28,
+ 13,12,31,32,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,46,0,1,
+ 0,3,51,0,6,7,8,4,0,0,
+ 0,1,4,3,0,17,0,1,2,53,
+ 54,5,24,25,26,27,28,13,12,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,0,44,45,46,29,0,6,7,8,
+ 0,0,0,2,2,4,53,54,17,9,
+ 10,53,54,12,12,24,25,26,27,28,
+ 61,62,31,32,33,34,35,36,37,38,
+ 39,40,41,42,0,1,2,3,4,5,
+ 0,1,2,9,10,11,0,1,14,15,
+ 16,17,18,19,20,21,22,23,0,1,
2,3,4,5,68,69,0,9,10,11,
- 12,5,14,15,0,0,1,2,20,52,
- 22,23,24,25,0,27,28,0,0,1,
- 2,3,4,5,67,63,0,9,10,11,
- 12,0,14,15,0,4,2,41,20,51,
- 22,23,24,25,0,27,28,13,0,1,
- 2,3,4,5,0,1,2,9,10,5,
- 12,0,14,15,59,48,49,13,20,51,
- 22,23,24,25,26,27,28,0,1,2,
- 3,4,5,0,0,2,9,10,5,12,
- 42,14,15,0,0,41,13,20,4,22,
- 23,24,25,0,27,28,0,0,1,2,
- 3,4,6,7,8,0,9,10,0,12,
- 0,14,15,0,41,0,1,20,51,22,
- 23,24,25,13,27,28,0,1,2,3,
- 4,48,49,0,50,9,10,63,12,26,
- 14,15,9,10,47,0,20,0,22,23,
- 24,25,26,27,28,0,1,2,3,4,
- 0,1,52,3,9,10,0,12,60,14,
- 15,26,6,7,8,20,0,22,23,24,
- 25,26,27,28,0,1,2,3,4,13,
- 0,0,0,9,10,5,12,0,14,15,
- 0,0,1,2,20,4,22,23,24,25,
- 26,27,28,0,1,2,3,4,26,0,
- 0,2,9,10,0,12,26,14,15,9,
- 10,41,13,20,0,22,23,24,25,26,
- 27,28,0,1,2,3,4,0,0,0,
- 0,9,10,5,12,5,14,15,61,62,
- 0,1,20,3,22,23,24,25,0,27,
- 28,0,1,2,3,4,0,1,0,0,
- 9,10,0,12,50,14,15,0,1,2,
- 42,20,0,22,23,24,25,50,27,28,
- 0,1,2,3,4,0,1,0,3,9,
- 10,0,12,0,14,15,66,0,5,0,
- 20,0,22,23,24,25,50,27,28,0,
- 1,2,3,4,13,0,0,26,9,10,
- 0,12,60,14,15,26,0,1,2,20,
- 4,22,23,24,25,42,27,28,0,13,
- 2,0,4,5,6,7,8,0,0,11,
- 0,13,0,52,16,17,18,19,0,21,
- 0,0,1,2,0,4,2,0,4,5,
- 6,7,8,0,13,11,60,13,0,41,
- 16,17,18,19,0,21,70,71,72,73,
- 74,75,76,77,78,79,0,0,46,2,
- 0,4,6,7,8,41,46,11,0,0,
- 13,0,16,17,18,19,0,21,0,46,
- 0,0,6,7,8,5,0,11,0,0,
- 0,0,16,17,18,19,0,21,0,0,
- 0,0,6,7,8,0,0,11,0,0,
- 0,0,16,17,18,19,0,21,0,0,
- 0,41,6,7,8,0,46,11,0,0,
- 0,0,16,17,18,19,0,21,0,0,
+ 4,0,14,15,16,17,18,19,20,21,
+ 22,23,0,12,50,0,1,5,3,0,
+ 0,0,1,2,3,4,5,0,13,59,
+ 9,10,11,0,13,14,15,16,50,18,
+ 19,20,21,22,23,49,0,0,1,2,
+ 3,4,5,52,0,43,9,10,11,5,
+ 0,14,15,16,43,18,19,20,21,22,
+ 23,0,1,2,3,4,0,1,59,3,
+ 9,10,11,29,30,14,15,16,0,18,
+ 19,20,21,22,23,49,63,50,0,1,
+ 2,3,4,0,1,0,3,9,10,11,
+ 0,13,14,15,16,5,18,19,20,21,
+ 22,23,51,0,1,2,3,4,0,1,
+ 0,3,9,10,11,5,13,14,15,16,
+ 30,18,19,20,21,22,23,0,1,2,
+ 3,4,47,48,0,0,9,10,11,29,
+ 13,14,15,16,0,18,19,20,21,22,
+ 23,0,1,2,3,4,66,0,0,0,
+ 9,10,11,5,13,14,15,16,0,18,
+ 19,20,21,22,23,0,1,2,3,4,
+ 0,47,48,0,9,10,11,29,5,14,
+ 15,16,12,18,19,20,21,22,23,0,
+ 1,2,3,4,47,48,47,48,9,10,
+ 11,0,29,14,15,16,5,18,19,20,
+ 21,22,23,0,1,2,3,4,0,61,
+ 62,0,9,10,11,4,0,14,15,16,
+ 12,18,19,20,21,22,23,0,1,2,
+ 3,4,0,1,43,3,9,10,11,0,
+ 0,14,15,16,0,18,19,20,21,22,
+ 23,0,13,2,0,4,5,6,7,8,
+ 52,0,0,12,2,11,5,5,17,0,
+ 1,0,3,0,12,24,25,26,27,28,
+ 29,0,13,2,11,4,5,6,7,8,
+ 0,29,0,12,0,0,0,1,17,3,
+ 6,7,8,0,60,24,25,26,27,28,
+ 29,0,9,10,70,71,72,73,74,75,
+ 76,77,78,79,0,30,0,66,2,0,
+ 6,7,8,0,63,6,7,8,12,0,
+ 0,17,0,1,2,0,17,0,24,25,
+ 26,27,28,24,25,26,27,28,0,0,
+ 1,2,0,0,6,7,8,0,1,6,
+ 7,8,0,0,1,17,3,0,0,0,
+ 17,4,24,25,26,27,28,24,25,26,
+ 27,28,0,0,2,0,0,64,0,6,
+ 7,8,0,64,12,0,14,15,6,7,
+ 8,6,7,8,0,0,49,0,0,0,
+ 6,7,8,0,0,30,30,65,13,0,
+ 0,13,13,0,0,0,13,65,60,60,
+ 0,0,0,0,52,0,0,30,0,0,
+ 0,0,0,0,0,0,0,59,0,67,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,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;
@@ -500,95 +489,87 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface TermAction {
public final static char termAction[] = {0,
- 1730,573,1490,574,1476,1,1942,1943,1944,1469,
- 1460,1892,1483,59,934,406,1893,1891,1945,1894,
- 391,1890,1740,1741,1742,1743,282,922,398,1897,
- 1902,1901,1899,1900,1898,1903,1904,1896,1905,1906,
- 1907,88,1730,893,459,338,1730,1,1730,1,
- 51,190,1,1,1,1730,1759,1,1760,879,
- 367,61,1,1,1,1,247,1,1332,1321,
- 1310,1240,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,639,190,1,
- 1,1,64,1925,1730,1,1730,1,253,190,
- 1,1,1,48,1209,1,54,1543,1730,60,
- 1,1,1,1,1730,1,1332,1321,1310,1240,
- 1942,1943,1944,1,1,1,1,1,1,1,
- 1,1,1,1,1,1730,190,1,1,1,
- 70,1925,1730,1,1661,1,1730,190,1,1,
- 1,1739,68,1,1349,1359,1536,1503,1,1,
- 1,1,248,1,1332,1321,1310,1240,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,200,190,1,1,1,1717,1925,
- 1730,1,1217,1,1061,189,1,1,1,50,
- 262,1,1373,1543,1,461,1,1,1,1,
- 1730,1,1738,505,1730,1910,575,1911,268,1,
+ 1715,1002,1471,1003,1109,59,1931,1932,1933,1061,
+ 1051,1307,61,88,1216,672,372,1877,1725,1726,
+ 1727,1728,1005,995,1878,1876,1934,1879,1875,54,
+ 1715,1882,1887,1886,1884,1885,1883,1888,1889,1881,
+ 1890,1891,1892,648,576,509,337,1715,1,60,
+ 1,1715,193,1,1,1,51,1931,1932,1933,
+ 1392,1382,1372,1362,1,683,501,1392,1382,1372,
+ 1362,1,1,1,1,1,408,481,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,505,189,1,1,1,65,1925,1730,1,
- 1193,1,1042,190,1,1,1,49,1209,1,
- 58,1543,1536,1503,1,1,1,1,1730,1,
- 57,1730,1730,1910,69,1911,1733,1,1,1,
- 1,1,1,1,1,1,1,1,1,62,
- 190,1,1,1,71,1925,1730,1909,1287,1908,
- 1730,1,1942,1943,1944,1730,90,1892,1349,1359,
- 1536,1503,1893,1891,1945,1894,72,1890,1349,1359,
- 1730,1910,1732,1911,1730,1897,1902,1901,1899,1900,
- 1898,1903,1904,1896,1905,1906,1907,128,575,893,
- 459,338,90,1942,1943,1944,1386,31,1892,1261,
- 1298,1279,66,1893,1891,1945,1894,246,1890,461,
- 1127,1754,1755,1942,1943,1944,1897,1902,1901,1899,
- 1900,1898,1903,1904,1896,1905,1906,1907,1,1747,
- 1490,1748,1107,1733,1175,1566,1730,1469,1460,592,
- 1483,1735,934,406,1730,1,1954,1340,391,488,
- 1740,1741,1742,1743,1730,922,398,56,1730,1747,
- 1490,1748,1444,1733,413,1090,1730,1469,1460,946,
- 1483,1730,934,406,267,1132,1147,1734,391,1732,
- 1740,1741,1742,1743,1730,922,398,505,1,1747,
- 1490,1748,1476,27,1,1724,1114,1469,1460,1735,
- 1483,1730,934,406,1023,1349,1359,505,391,1732,
- 1740,1741,1742,1743,2745,922,398,1730,1747,1490,
- 1748,1476,1733,1,67,1373,1469,1460,1735,1483,
- 27,934,406,55,1,1734,505,391,1132,1740,
- 1741,1742,1743,1730,922,398,249,1730,1,1,
- 1,1,1942,1943,1944,1730,1,1,209,1,
- 1730,1,1,41,1734,1730,1966,1,1732,1,
- 1,1,1,966,1,1,1730,1747,1490,1748,
- 1476,1349,1359,53,1985,1469,1460,1090,1483,1130,
- 934,406,879,367,2041,1730,391,1730,1740,1741,
- 1742,1743,1130,922,398,1,1747,1490,1748,1476,
- 206,1910,1343,1911,1469,1460,250,1483,985,934,
- 406,1130,1942,1943,1944,391,218,1740,1741,1742,
- 1743,2745,922,398,1730,1747,1490,1748,1476,505,
- 1,1730,187,1469,1460,1735,1483,63,934,406,
- 186,1730,1954,1340,391,1388,1740,1741,1742,1743,
- 2745,922,398,1,1747,1490,1748,1476,1491,220,
- 52,1389,1469,1460,1730,1483,1493,934,406,879,
- 367,1734,505,391,1,1740,1741,1742,1743,2745,
- 922,398,1730,1747,1490,1748,1476,1,1730,1730,
- 1,1469,1460,1737,1483,1739,934,406,1298,1279,
- 1730,1910,391,1911,1740,1741,1742,1743,1730,922,
- 398,1730,1747,1492,1748,1476,1,1727,1730,1730,
- 1469,1460,1730,1483,1985,934,406,1,1954,1340,
- 1736,391,1730,1740,1741,1742,1743,1984,922,398,
- 1730,1747,1494,1748,1476,205,458,1730,458,1469,
- 1460,188,1483,281,934,406,1738,1730,1511,1730,
- 391,288,1740,1741,1742,1743,1985,922,398,1,
- 1747,1490,1748,1476,1004,1730,42,1510,1469,1460,
- 1730,1483,530,934,406,1512,259,1954,1114,391,
- 1,1740,1741,1742,1743,1511,922,398,17,505,
- 1718,1730,1718,1718,179,179,179,1730,1730,179,
- 1730,1718,28,1424,179,179,179,179,1730,179,
- 28,265,1954,1114,18,1388,1721,1730,1721,1721,
- 178,178,178,205,505,178,859,1721,1730,1718,
- 178,178,178,178,1730,178,839,819,799,779,
- 759,719,739,699,679,659,129,265,436,1373,
- 1730,1388,1942,1943,1944,1721,1757,1892,1730,1730,
- 505,1730,1893,1891,1945,1894,130,1890,1730,2737,
- 1730,1730,1942,1943,1944,1735,1730,1892,1730,1730,
- 1730,1730,1893,1891,1945,1894,131,1890,1730,1730,
- 1730,1730,1942,1943,1944,1730,1730,1892,1730,1730,
- 1730,1730,1893,1891,1945,1894,132,1890,1730,1730,
- 1730,1734,1942,1943,1944,1730,1421,1892,1730,1730,
- 1730,1730,1893,1891,1945,1894,1730,1890
+ 193,1,1,1,1715,1,41,1,1913,192,
+ 1,1,1,1715,1392,1382,1372,1362,1718,1058,
+ 1702,1,264,1943,1129,1,1,1,1,1,
+ 1,1,1,255,511,1,1,1,1,1,
+ 1,1,1,1,1,1,1,192,1,1,
+ 1,1715,1,273,1,1913,193,1,1,1,
+ 270,1943,1129,1717,255,511,48,1715,1,267,
+ 1472,1403,511,1,1975,1,1,1,1,1,
+ 1058,511,1,1,1,1,1,1,1,1,
+ 1,1,1,1,193,1,1,1,1715,1894,
+ 184,1893,1913,50,1931,1932,1933,1472,49,62,
+ 1715,1744,1472,1745,1715,1877,1,1709,1129,1414,
+ 1405,1720,1878,1876,1934,1879,1875,1639,511,1882,
+ 1887,1886,1884,1885,1883,1888,1889,1881,1890,1891,
+ 1892,128,576,509,337,1719,72,1931,1932,1933,
+ 53,270,272,1403,1435,255,1414,1405,1877,683,
+ 501,1414,1405,511,511,1878,1876,1934,1879,1875,
+ 1350,1327,1882,1887,1886,1884,1885,1883,1888,1889,
+ 1881,1890,1891,1892,1,1732,1471,1733,383,1718,
+ 1,1943,1402,1061,1051,1307,1715,1955,1216,672,
+ 372,595,1725,1726,1727,1728,1005,995,1715,1732,
+ 1471,1733,1319,1718,1193,1118,1,1061,1051,1307,
+ 255,1715,1216,672,372,937,1725,1726,1727,1728,
+ 1005,995,1715,957,1717,1715,1895,1722,1896,1715,
+ 185,1,1732,1471,1733,1109,27,287,1268,1032,
+ 1061,1051,1307,66,2573,1216,672,372,1717,1725,
+ 1726,1727,1728,1005,995,1975,1,1715,1732,1471,
+ 1733,1109,1718,1598,1715,1721,1061,1051,1307,1720,
+ 1715,1216,672,372,27,1725,1726,1727,1728,1005,
+ 995,1715,1,1,1,1,187,2800,1088,2800,
+ 1,1,1,1719,1672,1,1,1,1715,1,
+ 1,1,1,1,1,1974,1250,1717,1715,1732,
+ 1471,1733,1109,186,2801,58,2801,1061,1051,1307,
+ 1715,1058,1216,672,372,1724,1725,1726,1727,1728,
+ 1005,995,2031,1,1732,1471,1733,1109,208,2805,
+ 1,2805,1061,1051,1307,90,2573,1216,672,372,
+ 1266,1725,1726,1727,1728,1005,995,1715,1732,1471,
+ 1733,1109,408,481,57,1715,1061,1051,1307,90,
+ 2573,1216,672,372,1715,1725,1726,1727,1728,1005,
+ 995,1,1732,1471,1733,1109,1723,56,1715,55,
+ 1061,1051,1307,1720,2573,1216,672,372,63,1725,
+ 1726,1727,1728,1005,995,1715,1732,1471,1733,1109,
+ 222,408,481,1,1061,1051,1307,1719,1720,1216,
+ 672,372,511,1725,1726,1727,1728,1005,995,1715,
+ 1732,1483,1733,1109,408,481,408,481,1061,1051,
+ 1307,286,1719,1216,672,372,1606,1725,1726,1727,
+ 1728,1005,995,1715,1732,1496,1733,1109,293,1350,
+ 1327,1715,1061,1051,1307,1120,1715,1216,672,372,
+ 976,1725,1726,1727,1728,1005,995,1,1732,1471,
+ 1733,1109,1715,1895,1606,1896,1061,1051,1307,1715,
+ 1715,1216,672,372,42,1725,1726,1727,1728,1005,
+ 995,17,1643,1703,64,1703,1703,179,179,179,
+ 1651,1,1,1703,1403,1284,1724,1720,179,1715,
+ 1895,67,1896,65,511,179,179,179,179,179,
+ 1703,18,1604,1706,1284,1706,1706,178,178,178,
+ 1715,1719,1715,1706,251,258,210,1895,178,1896,
+ 1,1,1,52,897,178,178,178,178,178,
+ 1706,1715,683,501,877,857,837,817,797,757,
+ 777,737,717,697,129,1591,224,1723,1482,130,
+ 1931,1932,1933,68,1250,1931,1932,1933,511,69,
+ 1715,1877,1,1943,1402,1715,1877,1715,1878,1876,
+ 1934,1879,1875,1878,1876,1934,1879,1875,131,255,
+ 1943,1402,70,132,1931,1932,1933,1,1712,1931,
+ 1932,1933,71,209,1160,1877,1160,1715,1715,213,
+ 1877,1626,1878,1876,1934,1879,1875,1878,1876,1934,
+ 1879,1875,31,250,1589,28,28,578,203,1931,
+ 1932,1933,252,578,1107,253,1739,1740,1,1,
+ 1,1931,1932,1933,254,1715,1975,209,191,191,
+ 1931,1932,1933,191,1715,441,1742,464,1650,1715,
+ 1715,187,186,1715,1715,1715,208,464,535,1013,
+ 1715,1715,1715,1715,461,1715,1715,2755,1715,1715,
+ 1715,1715,1715,1715,1715,1715,1715,1069,1715,327
};
};
public final static char termAction[] = TermAction.termAction;
@@ -596,28 +577,28 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface Asb {
public final static char asb[] = {0,
- 427,1,76,41,76,76,76,76,76,76,
- 76,76,76,3,357,218,215,222,220,228,
- 226,230,229,232,231,10,76,357,357,317,
- 317,243,76,139,139,345,357,76,76,76,
+ 377,1,76,41,76,76,76,76,76,76,
+ 76,76,76,3,325,236,233,240,238,246,
+ 244,248,247,250,249,10,76,325,325,291,
+ 291,395,76,159,159,319,325,76,76,76,
76,76,76,76,76,76,76,76,76,76,
76,76,76,76,76,76,76,76,76,76,
- 76,76,76,76,76,76,76,139,139,139,
- 45,52,349,70,287,137,136,320,332,332,
- 66,66,332,66,332,371,93,93,215,215,
- 220,220,220,220,218,218,226,222,222,229,
- 228,280,231,230,203,68,50,345,340,142,
- 45,394,74,139,398,290,262,173,262,173,
- 351,262,76,50,340,394,394,45,73,70,
- 139,343,371,138,292,173,173,173,173,351,
- 351,353,163,200,68,394,340,76,76,45,
- 74,287,275,274,349,292,139,173,200,166,
- 173,173,200,353,282,353,351,200,48,285,
- 317,76,162,200,50,340,45,45,139,398,
- 290,343,200,168,200,200,76,317,353,52,
- 45,317,76,50,292,239,76,238,89,349,
- 200,45,353,139,138,168,76,89,200,318,
- 353
+ 76,76,76,76,76,76,76,159,159,159,
+ 45,52,323,70,261,157,156,294,306,66,
+ 306,66,66,306,66,306,339,113,113,233,
+ 233,238,238,238,238,236,236,244,240,240,
+ 247,246,426,249,248,221,68,50,319,323,
+ 93,45,362,74,159,162,264,66,291,291,
+ 66,291,76,50,323,314,362,45,73,70,
+ 159,317,339,158,266,68,191,68,414,416,
+ 374,218,68,314,362,76,76,45,74,261,
+ 421,420,323,266,159,68,191,414,414,218,
+ 48,431,291,76,373,218,50,362,314,45,
+ 45,159,162,264,317,191,218,366,191,414,
+ 416,428,416,52,45,291,76,50,314,266,
+ 191,368,416,218,76,291,45,416,159,158,
+ 218,257,76,256,89,323,218,218,292,368,
+ 76,89,416
};
};
public final static char asb[] = Asb.asb;
@@ -625,51 +606,50 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface Asr {
public final static byte asr[] = {0,
- 80,0,66,13,2,52,67,14,15,12,
- 4,9,10,53,54,48,49,55,56,57,
- 58,61,62,63,64,65,68,69,42,60,
+ 80,0,66,12,2,52,67,14,15,11,
+ 4,9,10,53,54,47,48,55,56,57,
+ 58,61,62,63,64,65,68,69,43,60,
70,71,72,73,74,76,75,77,78,79,
- 59,41,80,46,51,5,0,5,42,13,
- 52,14,15,12,4,9,10,27,28,20,
- 2,22,23,24,25,1,3,26,0,6,
- 7,8,11,51,5,22,23,24,25,3,
- 14,15,12,9,10,27,28,20,4,2,
- 1,0,7,11,21,8,19,18,17,6,
- 16,52,67,14,15,12,9,10,53,54,
- 48,49,55,56,57,58,61,62,63,64,
+ 59,29,80,30,50,5,0,5,43,12,
+ 52,14,15,11,4,9,10,22,23,16,
+ 2,18,19,20,21,1,3,13,0,6,
+ 7,8,17,50,5,18,19,20,21,3,
+ 14,15,11,9,10,22,23,16,4,2,
+ 1,0,6,7,8,2,18,19,20,21,
+ 1,3,14,15,11,4,9,10,22,23,
+ 16,0,7,17,28,8,27,26,25,6,
+ 24,52,67,14,15,11,9,10,53,54,
+ 47,48,55,56,57,58,61,62,63,64,
65,68,69,60,70,71,72,73,74,75,
- 76,77,78,79,4,2,13,46,41,5,
- 0,6,7,8,2,22,23,24,25,1,
- 3,14,15,12,4,9,10,27,28,20,
- 0,60,13,52,0,66,5,4,1,2,
- 59,0,16,29,6,30,43,17,31,18,
- 32,33,19,7,34,35,11,44,21,45,
- 36,37,8,38,39,40,1,3,47,5,
- 42,0,60,70,71,72,73,74,75,76,
- 77,78,79,26,4,53,54,9,10,49,
- 48,55,56,57,58,61,62,12,63,64,
- 65,51,41,42,80,68,69,59,66,5,
- 46,0,5,41,20,22,23,24,25,1,
- 3,2,14,15,12,4,9,10,27,28,
- 0,16,6,17,18,19,7,11,21,8,
- 1,4,26,2,5,46,41,66,13,59,
- 0,5,46,42,60,0,4,2,13,41,
- 5,16,29,6,30,43,17,31,18,32,
- 33,19,7,34,35,11,44,21,45,36,
- 37,8,38,39,40,50,3,1,0,37,
- 29,34,32,33,31,30,35,36,38,39,
- 40,59,66,21,17,11,16,19,18,6,
- 7,8,46,1,5,41,2,13,4,0,
- 1,3,5,42,46,0,20,22,23,24,
- 25,2,14,15,12,4,9,10,27,28,
- 3,1,43,44,45,37,29,34,32,33,
- 31,30,35,36,38,39,40,21,17,11,
- 16,19,18,6,7,8,0,16,29,6,
- 30,43,17,31,18,32,33,19,7,34,
- 35,11,44,21,45,36,37,8,38,39,
- 40,1,3,50,4,0,20,22,23,24,
- 25,1,3,2,14,15,12,4,9,10,
- 27,28,47,0
+ 76,77,78,79,4,2,12,30,29,5,
+ 0,4,24,31,6,32,44,25,33,26,
+ 34,35,27,7,36,37,17,45,28,46,
+ 38,39,8,40,41,42,1,3,49,0,
+ 24,31,6,32,44,25,33,26,34,35,
+ 27,7,36,37,17,45,28,46,38,39,
+ 8,40,41,42,1,3,51,5,43,0,
+ 60,70,71,72,73,74,75,76,77,78,
+ 79,13,4,53,54,9,10,48,47,55,
+ 56,57,58,61,62,11,63,64,65,50,
+ 29,43,80,68,69,59,66,5,30,0,
+ 4,2,12,29,5,24,31,6,32,44,
+ 25,33,26,34,35,27,7,36,37,17,
+ 45,28,46,38,39,8,40,41,42,49,
+ 3,1,0,39,31,36,34,35,33,32,
+ 37,38,40,41,42,59,66,28,25,17,
+ 24,27,26,6,7,8,30,1,5,29,
+ 2,12,4,0,16,18,19,20,21,2,
+ 14,15,11,4,9,10,22,23,3,1,
+ 44,45,46,39,31,36,34,35,33,32,
+ 37,38,40,41,42,28,25,17,24,27,
+ 26,6,7,8,0,66,5,4,1,2,
+ 59,0,60,12,52,0,16,18,19,20,
+ 21,1,3,2,14,15,11,4,9,10,
+ 22,23,51,0,5,29,16,18,19,20,
+ 21,1,3,2,14,15,11,4,9,10,
+ 22,23,0,1,3,5,43,30,0,2,
+ 5,30,29,66,12,59,0,5,30,43,
+ 60,0
};
};
public final static byte asr[] = Asr.asr;
@@ -677,28 +657,28 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface Nasb {
public final static byte nasb[] = {0,
- 81,8,16,8,16,16,16,16,16,16,
- 16,16,16,8,71,8,8,8,8,8,
- 8,8,8,8,8,8,16,71,71,11,
- 11,61,72,55,55,65,1,16,16,16,
- 16,16,16,16,16,16,16,16,16,16,
- 16,16,16,72,16,16,16,16,16,16,
- 16,16,16,16,16,16,16,55,55,55,
- 24,16,79,22,64,29,29,49,50,50,
- 9,9,50,9,50,45,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,90,66,90,26,
- 24,69,23,55,77,54,8,90,8,90,
- 90,8,16,14,90,69,69,24,23,18,
- 55,36,2,8,89,90,84,90,84,9,
- 90,33,20,90,8,69,18,16,16,24,
- 23,35,29,29,79,89,55,84,75,42,
- 92,84,75,33,8,8,9,75,13,8,
- 9,16,31,75,90,18,24,24,55,77,
- 54,37,75,57,75,75,16,9,33,15,
- 24,9,16,14,88,43,16,8,57,79,
- 75,24,33,55,55,57,16,39,75,8,
- 52
+ 103,9,23,9,23,23,23,23,23,23,
+ 23,23,23,9,86,9,9,9,9,9,
+ 9,9,9,9,9,9,23,86,86,10,
+ 10,110,87,80,80,73,1,23,23,23,
+ 23,23,23,23,23,23,23,23,23,23,
+ 23,23,23,87,23,23,23,23,23,23,
+ 23,23,23,23,23,23,23,80,80,80,
+ 29,23,61,27,72,12,12,58,59,18,
+ 59,32,32,59,31,59,53,9,9,9,
+ 9,9,9,9,9,9,9,9,9,9,
+ 9,9,9,9,9,9,9,49,82,9,
+ 34,29,51,28,80,39,79,37,37,37,
+ 37,37,23,21,9,49,51,29,28,14,
+ 80,45,2,9,41,77,49,9,49,70,
+ 16,49,9,49,51,23,23,29,28,44,
+ 12,12,61,41,80,9,93,49,37,25,
+ 20,9,37,23,101,25,49,51,14,29,
+ 29,80,39,79,64,49,25,90,106,37,
+ 70,9,9,22,29,37,23,21,14,97,
+ 93,47,70,25,23,37,29,70,80,80,
+ 25,91,23,9,47,61,25,25,9,47,
+ 23,66,113
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -706,16 +686,18 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface Nasr {
public final static char nasr[] = {0,
- 4,78,77,76,75,74,73,0,27,0,
- 70,0,68,8,61,4,0,21,0,91,
- 0,8,4,24,0,4,8,0,25,0,
- 93,0,51,0,20,8,44,43,37,35,
- 0,8,69,0,63,64,65,66,52,28,
- 0,89,0,8,20,0,8,37,35,0,
- 8,85,0,20,8,44,43,0,58,0,
- 32,8,41,0,26,0,8,23,49,0,
- 8,84,0,56,8,32,0,87,23,8,
- 0,8,32,48,0
+ 4,79,78,77,76,65,75,74,0,71,
+ 0,26,0,21,0,97,0,89,0,69,
+ 10,59,4,0,32,0,10,4,23,0,
+ 92,66,0,4,10,0,25,0,31,49,
+ 10,24,0,20,45,44,37,35,10,0,
+ 56,0,65,61,62,63,64,52,27,0,
+ 31,49,0,45,44,37,35,31,0,51,
+ 0,20,44,45,10,0,90,0,10,20,
+ 0,45,44,31,0,42,10,41,0,10,
+ 70,0,81,10,42,0,93,10,24,0,
+ 99,0,10,87,0,10,42,67,0,10,
+ 88,0,95,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -724,11 +706,11 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
85,2,86,9,87,48,64,76,10,11,
- 69,8,1,6,7,44,55,60,63,68,
- 72,81,82,83,84,3,12,13,47,52,
- 56,61,62,66,67,74,75,78,79,80,
- 90,91,54,70,73,42,93,16,17,30,
- 89,4,14,15,18,19,20,21,29,31,
+ 8,1,3,6,7,68,69,81,82,83,
+ 84,12,13,44,55,60,63,72,90,42,
+ 47,52,56,61,62,66,67,74,75,78,
+ 79,80,91,54,70,73,16,17,30,89,
+ 93,4,14,15,18,19,20,21,29,31,
22,23,24,25,26,92,5,27,28,32,
33,34,35,36,37,38,39,40,41,94,
45,46,49,50,51,53,57,58,59,65,
@@ -740,18 +722,19 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,0,0,101,105,106,107,0,108,109,
+ 0,0,0,101,105,106,107,108,109,0,
110,111,112,113,114,115,116,117,118,97,
- 129,0,122,96,149,98,121,128,0,0,
- 0,140,0,145,147,0,148,0,0,0,
- 100,158,159,160,0,120,137,139,146,155,
- 0,131,136,0,0,138,150,153,154,157,
- 0,103,132,133,134,135,144,161,99,102,
- 104,119,123,124,125,126,127,130,142,0,
- 0,143,152,95,0,141,151,156,0,162,
- 163,0,164,0,0,0,0,0,0,0,
+ 129,0,96,122,121,150,128,0,0,0,
+ 0,98,0,146,148,0,149,0,0,0,
+ 100,141,159,160,161,0,120,137,147,156,
+ 0,131,136,0,151,154,155,158,0,103,
+ 132,133,134,135,138,0,140,145,162,99,
+ 102,104,119,123,124,125,126,127,130,0,
+ 139,143,0,0,144,153,95,0,0,0,
+ 142,0,152,157,0,163,164,0,165,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -759,10 +742,10 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 168,82,35,41,91,111,117,12,142,21,
- 51,69,123,128,28,47,101,164,183,187,
- 151,1,1,32,56,79,191,6,105,158,
- 133,158,97,59,59,59
+ 82,113,162,92,35,41,121,12,136,21,
+ 51,69,28,47,103,158,177,181,145,1,
+ 1,32,56,79,185,6,107,152,127,152,
+ 99,59,59,59
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -770,10 +753,10 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 89,89,4,4,89,89,89,18,148,26,
- 4,26,89,89,26,4,99,26,26,4,
- 155,4,4,26,4,26,26,9,108,161,
- 136,176,99,66,61,74
+ 90,90,90,90,4,4,90,18,142,26,
+ 4,26,26,4,101,26,26,4,149,4,
+ 4,26,4,26,26,9,110,155,130,170,
+ 101,66,61,74
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -781,10 +764,10 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 4,65,25,25,65,63,63,53,100,45,
- 25,40,63,63,45,25,48,5,4,4,
- 18,93,92,43,25,37,2,68,48,6,
- 101,4,48,40,38,40
+ 63,61,4,63,26,26,61,53,106,46,
+ 26,40,46,26,67,5,4,4,18,99,
+ 98,44,26,37,2,69,67,6,107,4,
+ 67,40,38,40
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -792,10 +775,10 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopeLa {
public final static byte scopeLa[] = {
- 42,42,51,51,42,42,42,42,86,41,
- 51,41,42,42,41,51,66,41,41,51,
- 59,51,51,41,51,41,41,60,1,41,
- 92,41,66,2,2,2
+ 43,43,43,43,50,50,43,43,86,29,
+ 50,29,29,50,66,29,29,50,59,50,
+ 50,29,50,29,29,60,1,29,92,29,
+ 66,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -803,10 +786,10 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
- 34,19,23,23,19,19,19,89,-1,27,
- 23,11,19,19,27,23,5,34,34,34,
- 64,1,3,27,23,11,34,90,5,37,
- -1,34,5,11,11,11
+ 17,17,32,17,21,21,17,87,-1,25,
+ 21,9,25,21,3,32,32,32,62,1,
+ 7,25,21,9,32,88,3,35,-1,32,
+ 3,9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -814,26 +797,25 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 139,13,0,96,0,183,101,0,31,136,
- 0,144,164,101,26,154,0,98,0,0,
- 150,101,2,136,0,97,0,150,101,2,
- 0,153,2,0,112,11,176,101,13,0,
- 112,176,101,11,13,0,112,11,13,0,
- 112,176,101,13,0,112,13,0,130,0,
- 2,0,151,97,0,2,97,0,150,101,
- 2,130,0,2,0,150,97,0,140,2,
- 0,144,174,101,26,120,43,0,98,0,
- 144,174,101,26,43,0,125,0,99,0,
- 179,101,125,0,101,125,0,141,99,0,
- 148,101,26,120,45,0,148,101,26,120,
- 44,0,148,101,26,45,0,148,101,26,
- 44,0,189,85,0,77,2,100,97,99,
- 0,189,113,134,2,89,0,53,0,0,
- 134,69,110,0,29,117,0,155,2,0,
- 97,106,0,155,2,20,0,144,164,101,
- 26,113,155,2,0,97,3,0,104,0,
- 98,0,178,2,97,0,134,13,97,0,
- 134,2,0
+ 140,12,0,96,0,189,103,0,31,136,
+ 0,144,165,103,13,152,0,98,0,0,
+ 148,103,2,137,0,97,0,148,103,2,
+ 0,151,2,0,112,17,179,103,12,0,
+ 112,179,103,17,12,0,112,17,12,0,
+ 112,179,103,12,0,112,12,0,130,0,
+ 2,0,152,97,0,2,97,0,148,103,
+ 2,130,0,2,0,151,97,0,141,2,
+ 0,144,177,103,13,118,185,44,0,98,
+ 0,144,177,103,13,185,44,0,135,0,
+ 99,0,184,103,135,0,103,135,0,142,
+ 99,0,173,103,13,183,118,182,158,0,
+ 173,103,13,182,158,0,195,85,0,77,
+ 2,100,97,99,0,195,113,134,2,89,
+ 0,53,0,0,134,69,110,0,29,117,
+ 0,153,2,0,97,106,0,153,2,16,
+ 0,144,165,103,13,113,153,2,0,97,
+ 3,0,104,0,98,0,181,2,97,0,
+ 134,12,97,0,134,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -841,16 +823,16 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface ScopeState {
public final static char scopeState[] = {0,
- 993,0,480,0,1623,1667,1593,1589,1587,0,
- 1419,1217,1340,1192,456,1114,1081,0,867,1142,
- 312,0,1344,1238,929,612,456,1114,1081,1395,
- 1373,1383,0,934,406,391,1444,1107,1557,461,
- 1175,1090,575,1298,1279,1209,1359,1349,1332,1321,
- 1310,1240,1543,1536,1503,879,367,1483,1476,1469,
- 1460,922,398,1042,1023,1004,985,966,946,899,
- 614,1061,592,505,859,839,819,799,779,759,
- 739,719,699,679,659,312,639,550,530,416,
- 436,344,0
+ 1571,0,1566,1585,1554,0,399,0,1428,1266,
+ 1402,1235,1203,1129,1098,0,617,1161,317,0,
+ 1611,1184,986,342,1203,1129,1098,1454,1403,1443,
+ 0,1216,672,372,1319,383,1544,464,1193,1250,
+ 578,1350,1327,1284,481,408,1392,1382,1372,1362,
+ 1472,1414,1405,683,501,1307,1109,1061,1051,1005,
+ 995,1069,1032,1013,976,957,937,917,618,1088,
+ 595,511,897,877,857,837,817,797,777,757,
+ 737,717,697,317,648,555,535,421,441,348,
+ 0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -858,28 +840,28 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public interface InSymb {
public final static char inSymb[] = {0,
- 0,177,101,165,20,28,27,10,9,4,
- 12,15,14,97,2,102,100,104,103,106,
- 105,108,107,110,109,98,46,2,2,67,
- 52,2,13,155,134,125,101,10,9,54,
- 53,4,58,57,56,55,48,49,12,62,
+ 0,180,103,166,16,23,22,10,9,4,
+ 11,15,14,97,2,101,100,104,102,106,
+ 105,108,107,110,109,98,30,2,2,67,
+ 52,2,12,153,134,135,103,10,9,54,
+ 53,4,58,57,56,55,47,48,11,62,
61,64,63,69,68,65,79,78,77,75,
- 76,74,73,72,71,70,60,155,155,178,
- 134,113,101,13,2,137,136,166,167,168,
- 45,44,169,43,170,171,1,3,100,100,
- 103,103,103,103,102,102,105,104,104,107,
- 106,134,109,108,113,113,26,142,4,11,
- 112,101,4,153,101,2,120,26,120,26,
- 26,120,59,101,4,101,101,112,176,151,
- 150,116,101,152,101,26,101,26,101,101,
- 26,164,101,26,154,101,151,176,11,112,
- 4,2,128,130,101,46,150,101,148,125,
- 149,101,148,174,120,175,101,144,46,183,
- 52,13,184,101,26,151,112,112,140,101,
- 2,142,148,101,148,144,60,46,174,60,
- 139,52,13,101,101,179,59,140,2,101,
- 144,139,164,150,180,46,59,142,144,46,
- 119
+ 76,74,73,72,71,70,60,153,153,181,
+ 134,113,103,12,2,138,137,167,168,158,
+ 169,46,45,170,44,171,172,1,3,100,
+ 100,102,102,102,102,101,101,105,104,104,
+ 107,106,134,109,108,113,113,13,142,124,
+ 17,112,103,4,151,103,2,182,159,159,
+ 185,159,59,103,124,4,103,112,179,149,
+ 148,117,103,150,103,118,13,118,13,165,
+ 103,13,152,4,103,179,17,112,4,2,
+ 128,130,103,30,148,183,103,13,103,144,
+ 30,189,52,12,190,103,13,103,149,112,
+ 112,141,103,2,142,13,173,135,174,103,
+ 177,118,178,60,140,52,12,103,149,103,
+ 103,103,177,144,60,30,140,165,148,186,
+ 173,184,59,141,2,103,144,144,30,30,
+ 59,142,125
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1008,7 +990,7 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
"assignment_expression",
"expression_list_actual",
"constant_expression",
- "identifier_or_typedefname",
+ "identifier_token",
"declaration_specifiers",
"simple_declaration_specifiers",
"struct_or_union_declaration_sp" +
@@ -1028,6 +1010,7 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
"typedef_name_in_declspec",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1063,9 +1046,9 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 47,
- SCOPE_UBOUND = 35,
- SCOPE_SIZE = 36,
+ ERROR_SYMBOL = 51,
+ SCOPE_UBOUND = 33,
+ SCOPE_SIZE = 34,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1074,20 +1057,20 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 211,
+ NUM_STATES = 213,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2041,
+ LA_STATE_OFFSET = 2031,
MAX_LA = 2,
- NUM_RULES = 311,
- NUM_NONTERMINALS = 117,
- NUM_SYMBOLS = 210,
+ NUM_RULES = 316,
+ NUM_NONTERMINALS = 123,
+ NUM_SYMBOLS = 216,
SEGMENT_SIZE = 8192,
- START_STATE = 1567,
+ START_STATE = 1584,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
- ACCEPT_ACTION = 1717,
- ERROR_ACTION = 1730;
+ ACCEPT_ACTION = 1702,
+ ERROR_ACTION = 1715;
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 cb2f6b0e54..a8dbdbeee1 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
@@ -15,68 +15,68 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99;
public interface C99ExpressionParsersym {
public final static int
- TK_auto = 16,
+ TK_auto = 24,
TK_break = 81,
TK_case = 82,
- TK_char = 29,
+ TK_char = 31,
TK_const = 6,
TK_continue = 83,
TK_default = 84,
TK_do = 85,
- TK_double = 30,
+ TK_double = 32,
TK_else = 86,
- TK_enum = 43,
- TK_extern = 17,
- TK_float = 31,
+ TK_enum = 44,
+ TK_extern = 25,
+ TK_float = 33,
TK_for = 87,
TK_goto = 88,
TK_if = 89,
- TK_inline = 18,
- TK_int = 32,
- TK_long = 33,
- TK_register = 19,
+ TK_inline = 26,
+ TK_int = 34,
+ TK_long = 35,
+ TK_register = 27,
TK_restrict = 7,
TK_return = 90,
- TK_short = 34,
- TK_signed = 35,
- TK_sizeof = 20,
- TK_static = 11,
- TK_struct = 44,
+ TK_short = 36,
+ TK_signed = 37,
+ TK_sizeof = 16,
+ TK_static = 17,
+ TK_struct = 45,
TK_switch = 91,
- TK_typedef = 21,
- TK_union = 45,
- TK_unsigned = 36,
- TK_void = 37,
+ TK_typedef = 28,
+ TK_union = 46,
+ TK_unsigned = 38,
+ TK_void = 39,
TK_volatile = 8,
TK_while = 92,
- TK__Bool = 38,
- TK__Complex = 39,
- TK__Imaginary = 40,
- TK_integer = 22,
- TK_floating = 23,
- TK_charconst = 24,
- TK_stringlit = 25,
+ TK__Bool = 40,
+ TK__Complex = 41,
+ TK__Imaginary = 42,
+ TK_integer = 18,
+ TK_floating = 19,
+ TK_charconst = 20,
+ TK_stringlit = 21,
TK_identifier = 1,
TK_Completion = 3,
TK_EndOfCompletion = 5,
TK_Invalid = 93,
- TK_LeftBracket = 13,
+ TK_LeftBracket = 12,
TK_LeftParen = 2,
- TK_LeftBrace = 26,
+ TK_LeftBrace = 13,
TK_Dot = 52,
TK_Arrow = 67,
TK_PlusPlus = 14,
TK_MinusMinus = 15,
- TK_And = 12,
+ TK_And = 11,
TK_Star = 4,
TK_Plus = 9,
TK_Minus = 10,
- TK_Tilde = 27,
- TK_Bang = 28,
+ TK_Tilde = 22,
+ TK_Bang = 23,
TK_Slash = 53,
TK_Percent = 54,
- TK_RightShift = 48,
- TK_LeftShift = 49,
+ TK_RightShift = 47,
+ TK_LeftShift = 48,
TK_LT = 55,
TK_GT = 56,
TK_LE = 57,
@@ -89,7 +89,7 @@ public interface C99ExpressionParsersym {
TK_OrOr = 68,
TK_Question = 69,
TK_Colon = 59,
- TK_DotDotDot = 50,
+ TK_DotDotDot = 49,
TK_Assign = 60,
TK_StarAssign = 70,
TK_SlashAssign = 71,
@@ -101,12 +101,12 @@ public interface C99ExpressionParsersym {
TK_AndAssign = 77,
TK_CaretAssign = 78,
TK_OrAssign = 79,
- TK_Comma = 46,
- TK_RightBracket = 51,
- TK_RightParen = 41,
- TK_RightBrace = 42,
+ TK_Comma = 30,
+ TK_RightBracket = 50,
+ TK_RightParen = 29,
+ TK_RightBrace = 43,
TK_SemiColon = 66,
- TK_ERROR_TOKEN = 47,
+ TK_ERROR_TOKEN = 51,
TK_EOF_TOKEN = 80;
public final static String orderedTerminalSymbols[] = {
@@ -121,24 +121,26 @@ public interface C99ExpressionParsersym {
"volatile",
"Plus",
"Minus",
- "static",
"And",
"LeftBracket",
+ "LeftBrace",
"PlusPlus",
"MinusMinus",
- "auto",
- "extern",
- "inline",
- "register",
"sizeof",
- "typedef",
+ "static",
"integer",
"floating",
"charconst",
"stringlit",
- "LeftBrace",
"Tilde",
"Bang",
+ "auto",
+ "extern",
+ "inline",
+ "register",
+ "typedef",
+ "RightParen",
+ "Comma",
"char",
"double",
"float",
@@ -151,17 +153,15 @@ public interface C99ExpressionParsersym {
"_Bool",
"_Complex",
"_Imaginary",
- "RightParen",
"RightBrace",
"enum",
"struct",
"union",
- "Comma",
- "ERROR_TOKEN",
"RightShift",
"LeftShift",
"DotDotDot",
"RightBracket",
+ "ERROR_TOKEN",
"Dot",
"Slash",
"Percent",
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 54e0886cc2..635a675bd5 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
@@ -585,7 +585,7 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 100: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 100: labeled_statement ::= identifier_token : statement
//
case 100: { action. consumeStatementLabeled(); break;
}
@@ -681,7 +681,7 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 120: jump_statement ::= goto identifier_or_typedefname ;
+ // Rule 120: jump_statement ::= goto identifier_token ;
//
case 120: { action. consumeStatementGoto(); break;
}
@@ -783,489 +783,477 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 181: struct_or_union_specifier ::= struct { <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(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 181: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 182: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // 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 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 182: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 183: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 183: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 184: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 185: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 186: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 195: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 187: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 196: struct_declaration ::= specifier_qualifier_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 196: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 197: struct_declaration ::= ERROR_TOKEN
//
- case 192: { action. consumeStructDeclaration(true); break;
+ case 197: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 203: struct_declarator ::= : constant_expression
//
- case 193: { action. consumeStructDeclaration(false); break;
+ case 203: { action. consumeBitField(false); break;
}
//
- // Rule 194: struct_declaration ::= ERROR_TOKEN
+ // Rule 204: struct_declarator ::= declarator : constant_expression
//
- case 194: { action. consumeDeclarationProblem(); break;
+ case 204: { action. consumeBitField(true); break;
}
//
- // Rule 200: struct_declarator ::= : constant_expression
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 200: { action. consumeBitField(false); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 201: struct_declarator ::= declarator : constant_expression
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(true); break;
+ case 206: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 202: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 212: enumerator ::= identifier_token
//
- case 202: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 212: { action. consumeEnumerator(false); break;
}
//
- // Rule 203: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 213: enumerator ::= identifier_token = constant_expression
//
- case 203: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 213: { action. consumeEnumerator(true); break;
}
//
- // Rule 208: enumerator ::= identifier_or_typedefname
+ // Rule 214: type_qualifier ::= type_qualifier_token
//
- case 208: { action. consumeEnumerator(false); break;
- }
-
- //
- // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression
- //
- case 209: { action. consumeEnumerator(true); break;
- }
-
- //
- // Rule 210: type_qualifier ::= type_qualifier_token
- //
- case 210: { action. consumeDeclSpecToken(); break;
+ case 214: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 214: function_specifier ::= inline
+ // Rule 218: function_specifier ::= inline
//
- case 214: { action. consumeDeclSpecToken(); break;
+ case 218: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 216: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 216: { action. consumeDeclaratorWithPointer(true); break;
+ case 220: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 221: basic_direct_declarator ::= declarator_id_name
+ // Rule 225: basic_direct_declarator ::= declarator_id_name
//
- case 221: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 225: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 222: basic_direct_declarator ::= ( declarator )
+ // Rule 226: basic_direct_declarator ::= ( declarator )
//
- case 222: { action. consumeDirectDeclaratorBracketed(); break;
+ case 226: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 223: declarator_id_name ::= identifier
+ // Rule 227: declarator_id_name ::= identifier
//
- case 223: { action. consumeIdentifierName(); break;
+ case 227: { action. consumeIdentifierName(); break;
}
//
- // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 227: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 230: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 230: { action. consumeDeclaratorWithPointer(true); break;
+ case 234: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 233: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 233: { action. consumeDeclaratorWithPointer(true); break;
+ case 237: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 234: identifier_list ::= identifier
+ // Rule 238: identifier_list ::= identifier
//
- case 234: { action. consumeIdentifierKnR(); break;
+ case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 235: identifier_list ::= identifier_list , identifier
+ // Rule 239: identifier_list ::= identifier_list , identifier
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 236: array_modifier ::= [ ]
+ // Rule 240: array_modifier ::= [ ]
//
- case 236: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 237: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 238: array_modifier ::= [ assignment_expression ]
+ // Rule 242: array_modifier ::= [ assignment_expression ]
//
- case 238: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 242: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 240: array_modifier ::= [ static assignment_expression ]
+ // Rule 244: array_modifier ::= [ static assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 241: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 243: array_modifier ::= [ * ]
+ // Rule 247: array_modifier ::= [ * ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 246: pointer_seq ::= *
+ // Rule 250: pointer_seq ::= pointer_hook *
//
- case 246: { action. consumePointer(); break;
+ case 250: { action. consumePointer(); break;
}
//
- // Rule 247: pointer_seq ::= pointer_seq *
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook *
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointer(); break;
}
//
- // Rule 248: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 252: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
//
- case 248: { action. consumePointerTypeQualifierList(); break;
+ case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 249: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 253: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 253: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 252: parameter_type_list ::= parameter_list
+ // Rule 257: parameter_type_list ::= parameter_list
//
- case 252: { action. consumeEmpty(); break;
+ case 257: { action. consumeEmpty(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list , ...
+ // Rule 258: parameter_type_list ::= parameter_list , ...
//
- case 253: { action. consumePlaceHolder(); break;
+ case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 254: parameter_type_list ::= ...
+ // Rule 259: parameter_type_list ::= ...
//
- case 254: { action. consumePlaceHolder(); break;
+ case 259: { action. consumePlaceHolder(); break;
}
//
- // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 257: { action. consumeParameterDeclaration(); break;
+ case 262: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers
+ // Rule 263: parameter_declaration ::= declaration_specifiers
//
- case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 261: type_name ::= specifier_qualifier_list
+ // Rule 266: type_name ::= specifier_qualifier_list
//
- case 261: { action. consumeTypeId(false); break;
+ case 266: { action. consumeTypeId(false); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 267: type_name ::= specifier_qualifier_list abstract_declarator
//
- case 262: { action. consumeTypeId(true); break;
+ case 267: { action. consumeTypeId(true); break;
}
//
- // Rule 264: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 264: { action. consumeDeclaratorWithPointer(false); break;
+ case 269: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 270: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 269: { action. consumeDirectDeclaratorBracketed(); break;
+ case 274: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 270: array_direct_abstract_declarator ::= array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= array_modifier
//
- case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 273: function_direct_abstract_declarator ::= ( )
+ // Rule 278: function_direct_abstract_declarator ::= ( )
//
- case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 276: 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 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 277: initializer ::= assignment_expression
+ // Rule 282: initializer ::= assignment_expression
//
- case 277: { action. consumeInitializer(); break;
+ case 282: { action. consumeInitializer(); break;
}
//
- // Rule 278: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 283: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
- case 278: { action. consumeInitializerList(); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 279: initializer ::= { <openscope-ast> }
+ // Rule 284: initializer ::= { <openscope-ast> }
//
- case 279: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 280: start_initializer_list ::= $Empty
+ // Rule 285: start_initializer_list ::= $Empty
//
- case 280: { action. initializerListStart(); break;
+ case 285: { action. initializerListStart(); break;
}
//
- // Rule 281: end_initializer_list ::= $Empty
+ // Rule 286: end_initializer_list ::= $Empty
//
- case 281: { action. initializerListEnd(); break;
+ case 286: { action. initializerListEnd(); break;
}
//
- // Rule 286: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 286: { action. consumeInitializerDesignated(); break;
+ case 291: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 290: designator_base ::= [ constant_expression ]
+ // Rule 295: designator_base ::= [ constant_expression ]
//
- case 290: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 291: designator_base ::= . identifier_or_typedefname
+ // Rule 296: designator_base ::= . identifier_token
//
- case 291: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorField(); break;
}
//
- // Rule 292: designator ::= [ constant_expression ]
+ // Rule 297: designator ::= [ constant_expression ]
//
- case 292: { action. consumeDesignatorArray(); break;
+ case 297: { action. consumeDesignatorArray(); break;
}
//
- // Rule 293: designator ::= . identifier_or_typedefname
+ // Rule 298: designator ::= . identifier_token
//
- case 293: { action. consumeDesignatorField(); break;
+ case 298: { action. consumeDesignatorField(); break;
}
//
- // Rule 294: translation_unit ::= external_declaration_list
+ // Rule 299: translation_unit ::= external_declaration_list
//
- case 294: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 295: translation_unit ::= $Empty
+ // Rule 300: translation_unit ::= $Empty
//
- case 295: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 300: external_declaration ::= ;
+ // Rule 305: external_declaration ::= ;
//
- case 300: { action. consumeDeclarationEmpty(); break;
+ case 305: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 301: external_declaration ::= ERROR_TOKEN
+ // Rule 306: external_declaration ::= ERROR_TOKEN
//
- case 301: { action. consumeDeclarationProblem(); break;
+ case 306: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 304: { action. consumeFunctionDefinition(true); break;
+ case 309: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 305: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 305: { action. consumeFunctionDefinition(false); break;
+ case 310: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 306: 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 306: { action. consumeFunctionDefinitionKnR(); break;
+ case 311: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 307: function_body ::= { }
+ // Rule 312: function_body ::= { }
//
- case 307: { action. consumeStatementCompoundStatement(false); break;
+ case 312: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 308: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 313: function_body ::= { <openscope-ast> block_item_list }
//
- case 308: { action. consumeStatementCompoundStatement(true); break;
+ case 313: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 310: no_cast_start ::= ERROR_TOKEN
+ // Rule 315: no_cast_start ::= ERROR_TOKEN
//
- case 310: { action. consumeExpressionProblem(); break;
+ case 315: { action. consumeExpressionProblem(); 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 8ea9b4db7f..b21ab65784 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
@@ -52,159 +52,158 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
2,2,1,3,1,3,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5,5,6,6,2,2,2,1,0,1,
- 2,4,2,1,1,1,3,1,1,2,
- 3,6,7,1,0,1,3,1,3,1,
- 1,1,1,1,1,3,1,1,1,1,
- 1,3,1,2,2,1,5,3,1,3,
- 5,1,3,1,3,2,4,3,5,4,
- 6,6,3,5,1,1,2,3,4,1,
- 2,1,3,1,1,3,2,1,1,1,
- 1,2,1,2,3,1,1,1,3,1,
- 2,2,2,3,4,5,1,7,3,0,
- 0,1,1,3,3,4,1,1,2,3,
- 2,3,2,1,0,1,2,1,1,1,
- 1,1,2,4,3,6,2,4,1,1,
- -32,0,0,0,0,0,0,0,-208,0,
+ 6,8,0,0,1,1,3,3,3,0,
+ 1,0,1,2,4,2,1,1,1,3,
+ 1,1,2,3,7,8,0,1,0,1,
+ 3,1,3,1,1,1,1,1,1,3,
+ 1,1,1,1,1,3,1,2,2,1,
+ 5,3,1,3,5,1,3,1,3,2,
+ 4,3,5,4,6,6,3,5,1,2,
+ 3,4,5,0,1,2,1,3,1,1,
+ 3,2,1,1,1,1,2,1,2,3,
+ 1,1,1,3,1,2,2,2,3,4,
+ 5,1,7,3,0,0,1,1,3,3,
+ 4,1,1,2,3,2,3,2,1,0,
+ 1,2,1,1,1,1,1,2,4,3,
+ 6,2,4,1,1,-32,0,0,0,0,
+ 0,0,0,0,0,-2,0,0,0,0,
+ 0,0,0,0,0,0,0,-78,-79,-4,
+ -72,-15,0,0,0,0,-121,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,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-16,0,
+ -17,-76,-73,-209,-18,0,0,0,0,0,
+ -37,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-127,-81,-138,0,0,
+ -133,-19,0,0,0,0,0,0,0,0,
+ 0,0,0,-20,0,0,0,-21,0,-185,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-196,0,-12,0,0,0,0,
- 0,0,0,0,0,0,-13,0,0,0,
- 0,0,0,0,0,0,0,0,0,-33,
- -2,-127,-140,-4,-15,0,0,0,0,0,
- 0,0,0,0,-16,-17,-18,0,-19,0,
- 0,0,0,0,-191,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-166,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-34,-179,-144,-29,0,-55,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-113,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-70,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-20,0,-21,0,-187,0,0,0,
- 0,0,0,0,-22,0,0,0,0,0,
- 0,0,0,0,0,0,-3,0,0,0,
- 0,0,0,0,-23,0,0,0,0,0,
- 0,0,0,0,0,0,-24,-25,-26,-170,
- -68,-51,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-30,0,-107,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-67,
- -126,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-158,
0,0,0,0,0,0,0,0,0,0,
- -83,0,-84,0,-27,0,0,0,0,0,
- 0,0,-87,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,0,
- 0,0,0,0,-57,0,0,0,0,0,
- 0,0,-88,0,0,0,0,0,0,0,
- 0,0,0,0,-58,0,0,0,0,0,
- 0,0,-89,0,0,0,0,0,0,0,
- 0,0,0,0,-59,0,0,0,0,0,
- 0,0,-90,0,0,0,0,0,0,0,
- 0,0,0,0,-60,0,0,0,0,0,
- 0,0,-91,0,0,0,0,0,0,0,
- 0,0,0,0,-61,0,0,0,0,0,
- 0,0,-92,0,0,0,0,0,0,0,
- 0,0,0,0,-62,0,0,0,0,0,
- 0,0,-93,0,0,0,0,0,0,0,
- 0,0,0,0,-63,0,0,0,0,0,
- 0,0,-94,0,0,0,0,0,0,0,
- 0,0,0,0,-64,0,0,0,0,0,
- 0,0,-95,0,0,0,0,0,0,0,
- 0,0,0,0,-65,0,0,0,0,0,
- 0,0,-96,0,0,0,0,0,0,0,
- 0,0,0,0,-66,0,0,0,0,0,
- 0,0,-130,0,0,0,0,0,0,0,
- 0,0,0,0,-37,0,0,0,0,0,
- 0,0,0,0,-205,-97,-98,-99,-77,-100,
- 0,0,0,0,-145,0,0,0,0,0,
- 0,0,-101,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-6,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-146,0,0,0,0,0,0,0,-102,
+ 0,0,0,0,0,0,0,0,0,-33,
+ 0,0,-55,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,-22,
+ 0,0,0,0,0,0,-157,-23,0,-6,
+ 0,0,0,0,0,0,-193,0,-70,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-169,0,0,0,0,0,0,0,-103,
0,0,0,0,0,0,0,0,0,0,
- -184,0,0,0,0,0,0,0,-114,0,
- 0,0,0,0,0,0,0,0,0,-190,
+ 0,0,-181,0,0,0,0,0,0,0,
+ 0,0,-163,0,0,0,0,0,0,0,
+ 0,0,-3,0,0,0,0,0,0,0,
+ 0,0,-105,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-51,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-194,0,
+ -29,0,-108,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-204,0,0,
+ 0,0,0,-24,-30,-126,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-120,0,0,0,
+ 0,0,0,0,0,-130,0,-142,0,-52,
+ 0,0,0,0,0,0,0,0,0,-123,
+ 0,0,0,-25,-26,0,0,0,0,0,
+ -174,-68,0,0,0,0,-27,0,0,0,
+ 0,0,0,0,0,0,-175,0,0,0,
+ 0,0,0,0,0,0,0,0,-84,0,
+ -210,-85,0,0,-88,0,0,0,0,0,
+ -46,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-56,0,0,0,0,
+ 0,0,0,0,0,-89,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,-116,-129,-119,-131,-123,
- -72,-73,-143,0,0,-52,0,0,0,0,
- 0,0,0,-142,0,0,0,0,0,0,
- 0,0,0,0,-173,0,0,-150,-149,0,
+ 0,0,0,0,0,-58,0,0,0,0,
+ 0,0,0,0,0,-90,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,-157,-162,0,0,0,-178,-185,-69,0,
- 0,-85,0,0,0,-163,0,0,-167,-152,
+ 0,0,0,0,0,-60,0,0,0,0,
+ 0,0,0,0,0,-91,0,0,0,0,
+ 0,0,0,0,0,-61,0,0,0,0,
+ 0,0,0,0,0,-92,0,0,0,0,
+ 0,0,0,0,0,-62,0,0,0,0,
+ 0,0,0,0,0,-93,0,0,0,0,
+ 0,0,0,0,0,-63,0,0,0,0,
+ 0,0,0,0,0,-94,0,0,0,0,
+ 0,0,0,0,0,-64,0,0,0,0,
+ 0,0,0,0,0,-95,0,0,0,0,
+ 0,0,0,0,0,-65,0,0,0,0,
+ 0,0,0,0,0,-162,0,0,0,0,
+ 0,0,0,0,0,-66,0,0,0,0,
+ 0,0,0,0,0,-96,0,0,0,0,
+ 0,0,0,0,0,-143,0,0,0,0,
+ 0,0,0,0,0,-97,0,0,0,0,
+ 0,0,0,0,0,-144,0,0,0,0,
+ 0,0,0,0,0,-98,0,0,0,0,
+ 0,0,0,0,0,-161,0,0,0,0,
+ 0,0,0,0,0,-99,0,0,0,0,
+ 0,0,0,0,-184,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-46,0,0,0,
- 0,0,0,0,0,0,-82,-86,0,-54,
+ 0,0,0,-7,0,0,0,0,0,0,
+ -100,0,-8,0,0,0,0,0,0,-101,
+ -192,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-200,
+ 0,0,0,0,0,0,0,0,0,-102,
+ 0,0,0,0,0,0,0,0,-9,0,
+ 0,0,0,0,0,-34,0,-10,0,0,
+ 0,0,0,0,-103,-208,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-120,0,0,0,0,0,
+ 0,0,0,0,-129,0,0,0,0,0,
+ 0,0,0,-137,0,-5,0,0,0,0,
+ 0,0,-11,0,0,0,0,0,0,-165,
+ 0,-148,-87,-110,-147,0,-67,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-195,-78,0,0,0,0,0,-80,-181,
- -110,0,0,0,0,0,0,0,-47,0,
- 0,0,0,0,0,0,-104,0,0,0,
- 0,-207,0,0,0,0,-139,0,0,0,
- 0,0,0,0,0,0,0,0,0,-148,
- 0,0,0,0,0,0,0,-48,0,0,
- 0,0,0,0,0,-203,0,0,0,0,
- -108,-151,0,0,-49,0,0,0,0,0,
- 0,0,-106,0,0,0,-115,0,0,0,
+ 0,0,-86,0,0,0,0,0,0,-166,
+ 0,-104,0,-186,0,-109,-83,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-7,0,0,0,0,
- 0,0,0,-50,0,0,0,0,0,0,
- 0,0,0,0,0,-42,0,0,0,0,
- 0,0,0,-197,0,0,-38,0,0,0,
- 0,0,0,0,0,0,-43,0,0,0,
- 0,0,0,0,0,0,0,-44,0,0,
- 0,0,0,0,0,-111,0,0,-45,0,
- 0,0,0,0,0,0,-71,0,0,-74,
- -31,-161,0,-75,0,0,0,0,0,-8,
- 0,0,0,0,0,0,0,-193,0,0,
- 0,0,-125,0,0,0,-128,0,0,0,
- 0,0,0,0,0,0,-147,0,0,0,
- 0,0,0,0,0,0,-117,-118,0,-122,
- -133,0,0,0,0,0,0,0,0,0,
- 0,-9,0,0,0,0,0,0,-10,0,
- 0,0,0,0,0,-11,0,0,0,0,
- 0,0,-14,-28,-156,0,-160,0,-76,-154,
- 0,0,-39,0,0,0,0,0,0,-40,
+ 0,0,-107,0,0,0,0,0,0,0,
+ -122,-131,0,0,0,0,0,-135,0,-54,
+ 0,0,0,0,0,0,0,0,0,-172,
+ 0,0,0,0,0,0,-112,-115,0,0,
+ 0,-189,-134,-136,-139,-116,0,0,0,0,
+ 0,0,0,0,0,0,-140,-153,0,-159,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-112,0,0,0,0,0,0,
- -79,0,0,0,0,-186,-81,0,0,-41,
- 0,0,0,0,0,0,-134,0,-165,-171,
- 0,0,0,-200,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-136,-135,
- 0,-155,0,0,0,0,0,0,0,0,
- 0,-159,0,-177,-168,-1,0,-189,-192,0,
- -137,0,0,0,0,0,0,0,-132,0,
- 0,0,0,0,0,0,0,0,-164,-105,
- -138,0,0,0,0,0,0,0,0,0,
- -141,-174,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-109,
- 0,-124,0,0,0,0,-158,0,0,0,
- 0,0,0,0,0,0,0,0,-35,0,
- 0,0,0,-175,0,-36,0,-180,-53,0,
- 0,0,0,0,0,0,0,-153,0,-172,
- -176,-182,-201,-183,-202,0,0,0,-188,0,
- 0,-198,-199,0,0,-206,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-39,0,0,0,0,0,0,0,-48,
+ 0,0,0,0,0,0,0,0,0,-179,
+ 0,0,-207,-47,0,0,0,0,0,0,
+ 0,0,0,-42,0,0,0,0,0,0,
+ 0,0,0,0,0,-111,0,0,0,0,
+ 0,0,0,-180,-149,0,0,0,0,0,
+ 0,0,-12,0,0,0,0,0,0,0,
+ -49,0,0,0,0,0,0,0,0,0,
+ 0,0,-50,0,0,0,0,0,0,0,
+ 0,0,-201,0,-43,0,0,0,0,0,
+ 0,0,0,0,0,0,-44,0,0,0,
+ 0,0,0,0,0,0,-45,0,0,0,
+ 0,0,0,0,0,0,-202,-71,-146,0,
+ 0,0,0,0,0,-114,0,0,-40,0,
+ 0,0,0,0,0,0,-31,-206,0,0,
+ 0,0,0,0,-74,-117,0,0,-128,0,
+ 0,0,0,0,0,0,-113,-35,0,0,
+ 0,0,0,0,0,0,0,0,-125,0,
+ 0,0,0,0,0,0,-170,0,0,0,
+ 0,0,-171,-141,-118,-119,0,0,-152,-14,
+ -28,0,0,0,0,0,0,0,0,0,
+ 0,0,-155,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-41,0,0,0,
+ 0,0,0,-75,0,0,0,-77,0,0,
+ 0,0,-178,0,0,0,0,0,0,-154,
+ 0,-160,-80,0,0,0,-82,0,0,0,
+ 0,0,0,0,0,0,0,0,-106,-124,
+ 0,0,0,0,0,0,0,0,-187,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-132,-188,0,0,-164,-69,0,-1,0,
+ -199,0,0,0,0,0,-190,-156,0,0,
+ 0,0,0,-145,-176,0,0,0,-13,0,
+ 0,0,0,0,0,0,-177,0,0,0,
+ 0,0,-150,0,-203,0,0,-36,0,0,
+ 0,0,-169,0,-53,0,0,0,0,-173,
+ 0,-151,-167,-195,0,0,-168,0,0,0,
+ 0,0,0,0,0,0,-191,-182,0,0,
+ -183,0,0,0,0,0,0,0,-196,0,
+ 0,0,0,0,0,0,-194,-198,-204,0,
+ 0,0,0,0,0,-197,-205,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,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;
@@ -214,178 +213,178 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 84,8,23,23,22,22,26,26,68,68,
+ 87,10,23,23,22,22,32,32,69,69,
1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,51,51,69,
- 69,5,5,5,5,5,5,5,5,5,
- 5,5,6,7,7,7,7,9,9,9,
- 10,10,10,11,11,11,11,11,12,12,
+ 4,4,4,4,4,4,4,51,51,70,
+ 70,5,5,5,5,5,5,5,5,5,
+ 5,5,6,7,7,7,7,8,8,8,
+ 9,9,9,11,11,11,11,11,12,12,
12,13,13,14,14,15,15,16,16,17,
17,18,18,19,19,19,19,19,19,19,
- 19,19,19,19,19,95,45,40,85,85,
- 72,72,46,96,96,96,96,96,96,96,
- 97,97,97,98,98,103,103,104,104,99,
- 99,100,100,100,106,106,101,101,101,101,
- 102,102,102,102,102,105,105,24,24,24,
- 24,24,28,28,28,78,78,73,73,73,
- 73,74,74,74,75,75,75,76,76,76,
- 77,77,77,107,107,108,108,109,29,31,
- 31,31,31,31,52,54,54,54,54,54,
- 54,54,54,54,54,54,54,65,65,27,
- 27,62,62,62,62,63,63,63,55,55,
- 56,56,48,48,48,32,86,86,79,80,
- 80,80,64,64,81,81,82,82,66,66,
- 20,21,21,21,30,47,47,33,33,33,
- 33,36,36,38,34,34,35,39,39,110,
- 110,37,111,111,87,87,25,25,25,25,
- 25,25,25,25,25,83,49,49,49,49,
- 58,58,57,57,57,59,59,50,50,88,
- 88,70,70,60,60,60,41,41,41,42,
- 43,43,43,44,44,44,44,53,53,53,
- 61,89,71,71,71,71,67,90,91,91,
- 92,92,93,93,112,112,113,113,114,114,
- 114,114,116,116,115,115,115,117,117,84,
- 84,1,14,19,15,395,569,43,406,71,
- 405,409,407,525,523,555,535,568,567,73,
- 90,133,210,642,14,19,15,395,40,135,
- 132,134,158,526,14,19,15,395,569,43,
- 406,393,405,409,407,525,523,555,535,568,
- 567,73,277,137,503,164,613,14,19,15,
- 395,33,1324,141,144,147,150,613,14,19,
- 15,395,32,394,1370,1374,1459,1491,1497,1167,
- 470,43,376,649,42,802,282,215,1108,218,
- 1262,220,221,226,1094,388,68,58,278,430,
- 283,1641,251,210,1227,584,14,19,15,395,
- 569,43,406,393,405,409,407,525,523,555,
- 535,568,567,73,277,435,14,19,15,395,
- 569,43,406,393,405,409,407,525,523,555,
- 535,568,567,73,277,470,346,408,501,23,
- 613,14,19,15,395,42,43,406,282,405,
- 409,407,525,523,555,950,1094,251,210,680,
- 571,270,283,1139,570,288,1514,1559,284,216,
- 1108,218,1262,220,221,226,1094,265,1082,1081,
- 268,274,285,369,14,19,15,395,569,43,
- 406,1600,405,409,407,525,523,555,535,568,
- 567,73,1261,147,22,432,236,555,14,19,
- 15,395,569,43,406,354,405,409,407,525,
- 523,555,535,568,567,73,277,613,14,19,
- 15,395,569,43,406,564,405,409,407,525,
- 523,555,535,568,567,73,90,441,201,676,
- 651,74,613,14,19,15,395,42,43,406,
- 286,405,409,407,525,523,887,501,1094,671,
- 14,19,15,395,569,43,406,1602,405,409,
- 407,525,523,555,535,568,567,73,1393,16,
- 501,401,14,19,15,395,569,43,406,394,
- 405,409,407,525,523,555,535,568,567,73,
- 1407,700,970,718,237,613,14,19,15,395,
- 569,43,406,164,405,409,407,525,523,555,
- 535,568,567,73,91,613,14,19,15,395,
- 569,43,406,289,405,409,407,525,523,555,
- 535,568,567,73,84,613,14,19,15,395,
- 569,43,406,285,405,409,407,525,523,555,
- 535,568,567,73,83,613,14,19,15,395,
- 569,43,406,512,405,409,407,525,523,555,
- 535,568,567,73,82,613,14,19,15,395,
- 569,43,406,541,405,409,407,525,523,555,
- 535,568,567,73,81,613,14,19,15,395,
- 569,43,406,570,405,409,407,525,523,555,
- 535,568,567,73,80,613,14,19,15,395,
- 569,43,406,599,405,409,407,525,523,555,
- 535,568,567,73,79,613,14,19,15,395,
- 569,43,406,767,405,409,407,525,523,555,
- 535,568,567,73,78,613,14,19,15,395,
- 569,43,406,813,405,409,407,525,523,555,
- 535,568,567,73,77,613,14,19,15,395,
- 569,43,406,472,405,409,407,525,523,555,
- 535,568,567,73,76,613,14,19,15,395,
- 569,43,406,154,405,409,407,525,523,555,
- 535,568,567,73,75,613,14,19,15,395,
- 569,43,406,287,405,409,407,525,523,555,
- 535,568,567,73,74,613,14,19,15,395,
- 42,43,643,133,210,351,203,592,262,117,
- 532,135,132,134,158,613,14,19,15,395,
- 569,43,406,333,405,409,407,525,523,555,
- 535,568,567,73,1582,137,989,164,216,1108,
- 218,1262,220,221,226,141,144,147,150,613,
- 14,19,15,395,42,39,1370,1374,1459,1491,
- 1497,1167,613,14,19,15,395,569,43,406,
- 431,405,409,407,525,523,555,535,568,567,
- 73,1624,613,14,19,15,395,42,43,406,
- 658,405,409,407,525,523,555,535,568,567,
- 92,613,14,19,15,395,42,43,406,711,
- 405,409,407,525,523,555,535,568,567,92,
- 613,14,19,15,395,42,43,406,1649,405,
- 409,407,525,523,555,535,568,567,92,613,
- 14,19,15,395,42,43,406,209,405,409,
- 407,525,523,555,535,568,567,92,613,14,
- 19,15,395,42,43,406,1653,405,409,407,
- 525,523,555,535,568,567,92,613,14,19,
- 15,395,42,43,406,200,405,409,407,525,
- 523,555,535,568,567,72,719,305,739,195,
- 257,620,49,257,201,1140,613,14,19,15,
- 395,42,43,406,814,405,409,407,525,888,
- 250,210,270,250,210,442,271,272,622,65,
- 215,1108,218,1262,220,221,226,1544,263,1082,
- 1081,268,535,451,259,251,210,680,562,141,
- 1200,273,501,225,270,1549,745,260,457,597,
- 141,1105,215,1108,218,1262,220,221,226,228,
- 263,1082,1081,268,21,1123,1641,613,14,19,
- 15,395,42,43,406,257,783,287,6,1356,
- 613,14,19,15,395,42,43,406,1570,405,
- 409,407,525,523,555,535,903,133,210,456,
- 193,20,539,213,207,136,132,134,158,310,
- 443,464,14,19,15,395,42,35,1324,613,
- 14,19,15,395,42,43,406,20,803,138,
- 1076,164,433,1719,243,343,1078,340,1719,142,
- 145,148,151,215,1108,218,1262,220,221,226,
- 464,14,19,15,395,42,35,1192,613,14,
- 19,15,395,42,43,406,443,405,409,407,
- 823,6,97,244,1324,613,14,19,15,395,
- 42,43,406,243,405,409,843,20,1509,196,
- 198,1080,1719,1719,238,1507,1388,224,1719,215,
- 1108,218,1262,220,221,226,613,14,19,15,
- 395,42,38,1192,613,14,19,15,395,42,
- 43,406,1719,405,409,886,613,14,19,15,
- 395,42,43,406,141,405,703,613,14,19,
- 15,395,42,43,683,197,198,613,14,19,
- 15,395,42,43,406,1719,405,723,613,14,
- 19,15,395,42,43,406,501,405,743,613,
- 14,19,15,395,42,43,406,161,405,763,
- 328,375,744,885,756,1484,1719,1719,269,1129,
- 613,14,19,15,395,42,37,1719,810,273,
- 133,210,270,6,133,210,270,501,140,132,
- 134,158,143,132,134,158,1719,6,263,1082,
- 1081,268,263,1082,1081,268,240,20,20,275,
- 291,20,139,1644,164,1529,1551,1356,1083,1532,
- 239,262,613,14,19,15,395,42,36,613,
- 14,19,15,395,42,35,613,14,19,15,
- 395,42,34,20,20,761,192,761,1719,768,
- 501,311,311,613,14,19,15,395,42,46,
- 613,14,19,15,395,42,45,195,195,133,
- 210,182,276,181,69,1371,1371,146,132,134,
- 158,780,863,86,86,1719,744,792,587,587,
- 613,14,19,15,395,42,44,47,1077,761,
- 761,133,210,1719,340,863,1719,133,210,149,
- 132,134,158,458,610,152,132,134,158,95,
- 20,195,143,1570,255,26,279,863,1542,1122,
- 863,1397,239,1079,69,562,496,1652,562,169,
- 863,480,863,195,547,190,195,863,1719,105,
- 1719,1122,1455,1607,1122,1656,195,863,1077,480,
- 407,20,291,1077,1122,293,1719,190,1123,1569,
- 190,20,6,1077,1457,1607,86,1628,1607,1510,
- 190,309,1719,456,255,270,1123,1642,1607,255,
- 257,1397,257,1079,1719,241,1643,191,1079,255,
- 1719,265,1082,1081,268,863,1460,206,1079,531,
- 250,210,250,210,6,1719,20,547,761,20,
- 391,195,1372,1136,547,206,1645,547,600,1122,
- 20,501,761,501,761,811,863,242,415,6,
- 1496,1136,761,6,184,191,761,1719,392,88,
- 392,1719,1077,222,1719,227,86,231,183,86,
- 202,1168,290,1719,890,1719,292,1719,203,1719,
- 1719,1719,319,611,1719,895,1719,1719,256,1719,
- 1719,1719,1719,1719,1719,1719,1719,1719,1719,1719,
- 1719,1719,1719,1719,1132,1719,0,17,178,0,
- 18,177,0,1,1942,0,1,1953,0
+ 19,19,19,19,19,101,45,40,88,88,
+ 73,73,46,102,102,102,102,102,102,102,
+ 103,103,103,104,104,109,109,110,110,105,
+ 105,106,106,106,112,112,107,107,107,107,
+ 108,108,108,108,108,111,111,25,25,25,
+ 25,25,27,27,27,79,79,74,74,74,
+ 74,75,75,75,76,76,76,77,77,77,
+ 78,78,78,113,113,114,114,115,28,30,
+ 30,30,30,30,52,54,54,54,54,54,
+ 54,54,54,54,54,54,54,63,63,24,
+ 24,60,60,89,90,64,64,61,61,61,
+ 65,80,80,81,81,66,66,66,48,91,
+ 91,82,83,83,83,62,62,92,84,84,
+ 85,85,67,67,20,21,21,21,29,47,
+ 47,33,33,33,33,36,36,38,34,34,
+ 35,39,39,116,116,37,117,117,93,93,
+ 26,26,26,26,26,26,26,26,26,86,
+ 49,49,49,49,31,56,56,55,55,55,
+ 57,57,50,50,94,94,71,71,58,58,
+ 58,41,41,41,42,43,43,43,44,44,
+ 44,44,53,53,53,59,95,72,72,72,
+ 72,68,96,97,97,98,98,99,99,118,
+ 118,119,119,120,120,120,120,122,122,121,
+ 121,121,123,123,87,87,1,14,19,15,
+ 342,655,43,371,369,402,156,375,418,414,
+ 498,490,654,614,73,90,133,214,199,242,
+ 283,288,744,135,132,134,158,424,14,19,
+ 15,342,655,43,371,369,402,398,375,418,
+ 414,498,490,654,614,73,282,276,137,246,
+ 164,69,104,50,654,6,141,144,147,150,
+ 372,511,14,19,15,342,42,43,695,340,
+ 1425,1504,1508,1523,1527,1177,377,292,549,277,
+ 287,119,10,1236,1426,1201,1247,220,1142,222,
+ 1325,224,225,230,327,288,256,214,14,1124,
+ 482,14,19,15,342,655,43,371,369,402,
+ 398,375,418,414,498,490,654,614,73,282,
+ 335,14,19,15,342,655,43,371,369,402,
+ 398,375,418,414,498,490,654,614,73,282,
+ 71,1228,1466,511,14,19,15,342,42,43,
+ 371,369,402,287,375,418,414,498,1085,1247,
+ 511,14,19,15,342,42,43,726,288,1465,
+ 323,1248,1624,289,1250,906,293,576,241,1247,
+ 511,14,19,15,342,42,39,488,290,275,
+ 14,19,15,342,655,43,371,369,402,1144,
+ 375,418,414,498,490,654,614,73,1176,26,
+ 23,1290,240,453,14,19,15,342,655,43,
+ 371,369,402,576,375,418,414,498,490,654,
+ 614,73,282,511,14,19,15,342,655,43,
+ 371,369,402,31,375,418,414,498,490,654,
+ 614,73,90,347,211,284,511,14,19,15,
+ 342,42,43,371,369,402,291,375,418,414,
+ 986,403,1247,569,14,19,15,342,655,43,
+ 371,369,402,1540,375,418,414,498,490,654,
+ 614,73,1449,662,284,403,305,14,19,15,
+ 342,655,43,371,369,402,340,375,418,414,
+ 498,490,654,614,73,1584,189,16,163,241,
+ 511,14,19,15,342,42,43,371,369,402,
+ 210,375,418,1021,172,587,133,214,255,214,
+ 638,576,281,135,132,134,158,511,14,19,
+ 15,342,655,43,371,369,402,635,375,418,
+ 414,498,490,654,614,73,91,1232,137,598,
+ 164,124,624,181,1170,151,141,144,147,150,
+ 372,511,14,19,15,342,42,43,371,866,
+ 1425,1504,1508,1523,1527,1177,511,14,19,15,
+ 342,655,43,371,369,402,194,375,418,414,
+ 498,490,654,614,73,84,511,14,19,15,
+ 342,655,43,371,369,402,196,375,418,414,
+ 498,490,654,614,73,83,511,14,19,15,
+ 342,655,43,371,369,402,30,375,418,414,
+ 498,490,654,614,73,82,511,14,19,15,
+ 342,655,43,371,369,402,283,375,418,414,
+ 498,490,654,614,73,81,511,14,19,15,
+ 342,655,43,371,369,402,382,375,418,414,
+ 498,490,654,614,73,80,511,14,19,15,
+ 342,655,43,371,369,402,413,375,418,414,
+ 498,490,654,614,73,79,511,14,19,15,
+ 342,655,43,371,369,402,470,375,418,414,
+ 498,490,654,614,73,78,511,14,19,15,
+ 342,655,43,371,369,402,490,375,418,414,
+ 498,490,654,614,73,77,511,14,19,15,
+ 342,655,43,371,369,402,519,375,418,414,
+ 498,490,654,614,73,76,511,14,19,15,
+ 342,655,43,371,369,402,582,375,418,414,
+ 498,490,654,614,73,75,511,14,19,15,
+ 342,655,43,371,369,402,44,375,418,414,
+ 498,490,654,614,73,74,511,14,19,15,
+ 342,655,43,371,369,402,110,375,418,414,
+ 498,490,654,614,73,1623,511,14,19,15,
+ 342,655,43,371,369,402,157,375,418,414,
+ 498,490,654,614,73,1627,511,14,19,15,
+ 342,42,43,371,369,402,344,375,418,414,
+ 498,490,654,614,92,511,14,19,15,342,
+ 42,43,371,369,402,294,375,418,414,498,
+ 490,654,614,92,511,14,19,15,342,42,
+ 38,343,1638,511,14,19,15,342,42,37,
+ 374,511,14,19,15,342,42,43,371,369,
+ 402,1657,375,418,414,498,490,654,614,92,
+ 511,14,19,15,342,42,43,371,369,402,
+ 557,375,418,414,498,490,654,614,92,511,
+ 14,19,15,342,42,36,71,213,511,14,
+ 19,15,342,42,35,547,511,14,19,15,
+ 342,42,43,371,369,402,203,375,418,414,
+ 498,490,654,614,92,511,14,19,15,342,
+ 42,43,371,369,402,668,375,418,414,498,
+ 490,654,614,72,609,1603,540,14,19,15,
+ 342,40,204,511,14,19,15,342,42,34,
+ 163,275,690,153,163,756,22,403,219,1142,
+ 222,1325,224,225,230,1457,268,373,341,273,
+ 255,214,264,403,255,214,20,278,229,1172,
+ 436,275,462,265,465,497,153,189,219,1142,
+ 222,1325,224,225,230,21,268,373,341,273,
+ 256,214,1613,516,256,214,1174,133,214,242,
+ 396,678,334,1227,136,132,134,158,562,262,
+ 511,14,19,15,342,42,43,371,369,402,
+ 762,375,418,414,498,490,1060,403,108,138,
+ 616,164,259,31,31,31,488,142,145,148,
+ 151,372,1605,1520,1578,543,275,586,625,274,
+ 354,1201,401,220,1142,222,1325,224,225,230,
+ 188,270,373,341,273,219,1142,222,1325,224,
+ 225,230,511,14,19,15,342,42,46,1363,
+ 511,14,19,15,342,42,43,371,369,402,
+ 652,375,926,259,511,14,19,15,342,42,
+ 43,371,886,1605,511,14,19,15,342,42,
+ 43,371,369,766,199,201,365,14,19,15,
+ 342,42,35,1571,693,612,219,1142,222,1325,
+ 224,225,230,511,14,19,15,342,33,247,
+ 1363,511,14,19,15,342,42,43,371,369,
+ 402,228,946,511,14,19,15,342,42,43,
+ 371,369,402,645,966,511,14,19,15,342,
+ 42,43,371,369,806,200,201,511,14,19,
+ 15,342,42,43,371,369,826,511,14,19,
+ 15,342,42,43,371,369,846,648,253,365,
+ 14,19,15,342,42,35,523,1605,1437,511,
+ 14,19,15,342,42,45,1562,116,458,1714,
+ 278,1714,248,1714,275,232,488,1567,279,403,
+ 219,1142,222,1325,224,225,230,574,412,268,
+ 373,341,273,275,1613,133,214,636,553,153,
+ 187,280,140,132,134,158,1227,574,268,373,
+ 341,273,1115,523,394,311,488,636,1193,403,
+ 31,31,244,1549,1140,267,1714,139,88,164,
+ 316,316,1115,31,1714,232,1539,260,1193,1208,
+ 189,281,1429,1597,1202,198,198,511,14,19,
+ 15,342,42,44,667,1714,1220,260,688,1714,
+ 86,86,1429,692,1202,615,615,1714,1417,1417,
+ 48,1714,488,709,133,214,1163,730,133,214,
+ 636,143,132,134,158,146,132,134,158,768,
+ 163,591,1147,133,214,198,296,133,214,588,
+ 149,132,134,158,152,132,134,158,1714,636,
+ 255,214,504,142,1637,275,31,97,677,395,
+ 1201,494,636,636,1115,1714,420,692,545,553,
+ 270,373,341,273,153,95,193,1115,198,511,
+ 14,19,15,342,32,636,396,545,1193,260,
+ 661,1585,1290,97,1649,97,1202,243,31,86,
+ 198,677,260,403,314,31,1539,1469,553,1202,
+ 31,1290,671,153,609,553,936,153,1659,193,
+ 1563,1714,636,677,1193,226,1193,576,153,1714,
+ 195,488,1666,1658,1585,210,245,1115,86,403,
+ 246,194,1220,1143,374,86,326,153,576,576,
+ 1030,295,1513,1324,210,298,342,576,1714,205,
+ 1714,231,261,1714,1714,1667,1714,1714,1714,1714,
+ 297,1577,1324,1714,1714,1714,1714,1714,235,1714,
+ 182,206,1714,1714,1714,1714,1714,1714,1714,691,
+ 1714,0,17,178,0,18,177,0,1,1941,
+ 0,1,1952,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -395,98 +394,93 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermCheck {
public final static byte termCheck[] = {0,
- 0,1,2,3,4,0,6,7,8,9,
- 5,11,12,13,14,15,16,17,18,0,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,0,0,43,44,45,0,1,0,3,
- 2,5,6,7,8,9,51,0,10,13,
- 14,15,16,17,0,1,2,0,0,5,
- 0,4,4,0,10,29,30,31,32,33,
- 34,35,36,37,38,39,40,46,42,43,
- 44,45,19,47,0,1,0,3,2,5,
- 6,7,8,9,0,41,10,13,14,15,
- 16,17,55,56,57,58,0,1,50,3,
- 53,54,80,29,30,31,32,33,34,35,
- 36,37,38,39,40,19,42,43,44,45,
- 0,47,0,1,4,3,0,5,6,7,
- 8,9,0,0,50,13,14,15,16,17,
- 0,0,2,0,18,5,0,4,0,1,
- 10,29,30,31,32,33,34,35,36,37,
- 38,39,40,0,42,43,44,45,0,47,
- 0,1,0,3,0,5,6,7,8,9,
- 0,41,0,13,14,15,16,17,55,56,
- 57,58,0,1,0,3,53,54,50,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,19,42,43,44,45,0,47,0,1,
- 46,3,0,5,6,7,8,9,6,7,
- 8,13,14,15,16,17,0,55,56,57,
- 58,0,6,7,8,65,0,29,30,31,
- 32,33,34,35,36,37,38,39,40,18,
- 42,43,44,45,0,47,0,1,4,3,
- 0,0,6,7,8,9,6,7,8,13,
- 14,15,16,17,0,1,2,0,4,0,
- 1,0,3,0,10,29,30,31,32,33,
- 34,35,36,37,38,39,40,0,19,43,
- 44,45,0,6,7,8,9,53,54,0,
- 13,14,15,16,17,0,1,2,0,4,
- 0,1,2,0,4,10,29,30,31,32,
- 33,34,35,36,37,38,39,40,0,1,
- 2,3,4,5,0,0,2,9,4,11,
- 12,6,7,8,10,46,18,0,20,21,
- 22,23,24,25,26,27,28,65,11,12,
- 0,1,2,3,4,5,0,0,2,9,
- 4,11,12,6,7,8,10,64,18,51,
+ 0,1,2,3,4,0,6,7,8,0,
+ 10,11,12,0,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,0,
- 0,0,0,1,0,1,2,3,4,5,
- 0,0,0,1,2,11,12,6,7,8,
- 0,51,18,19,20,21,22,23,24,25,
- 26,27,28,0,1,2,3,4,5,0,
- 1,0,3,0,11,12,42,48,49,0,
- 1,18,3,20,21,22,23,24,25,26,
- 27,28,61,62,64,0,1,2,3,4,
- 0,59,0,1,2,5,11,12,68,69,
- 60,0,0,18,51,20,21,22,23,24,
- 25,26,27,28,0,0,1,2,3,4,
- 0,0,61,62,0,5,11,12,0,5,
- 0,41,47,18,19,20,21,22,23,24,
- 25,26,27,28,0,1,2,3,4,48,
- 49,0,1,0,3,11,12,0,1,0,
- 3,41,18,19,20,21,22,23,24,25,
- 26,27,28,0,1,2,3,4,48,49,
- 59,0,0,0,11,12,0,59,0,0,
- 66,18,19,20,21,22,23,24,25,26,
- 27,28,0,1,2,3,4,48,49,0,
- 0,0,0,11,12,0,63,0,0,10,
- 18,10,20,21,22,23,24,25,26,27,
- 28,0,1,2,3,4,48,49,0,50,
- 0,0,11,12,63,0,60,0,10,18,
- 10,20,21,22,23,24,25,26,27,28,
- 0,1,2,3,4,0,19,0,0,0,
- 0,11,12,0,5,0,0,0,18,0,
- 20,21,22,23,24,25,26,27,28,0,
- 52,2,52,4,5,6,7,8,9,10,
- 0,0,13,14,15,16,17,0,0,2,
- 41,4,5,6,7,8,9,10,0,19,
- 13,14,15,16,17,60,0,19,0,0,
- 41,0,0,0,0,70,71,72,73,74,
- 75,76,77,78,79,0,0,19,41,0,
- 0,6,7,8,9,5,0,0,13,14,
- 15,16,17,6,7,8,9,11,12,0,
- 13,14,15,16,17,6,7,8,9,46,
- 46,0,13,14,15,16,17,6,7,8,
- 9,0,42,2,13,14,15,16,17,0,
- 0,10,0,0,5,5,0,0,0,0,
- 0,20,21,11,12,5,0,0,0,0,
- 0,0,19,0,0,0,0,0,0,0,
+ 0,31,32,33,34,35,36,37,38,39,
+ 40,41,42,0,44,45,46,0,1,0,
+ 3,2,5,6,7,8,47,48,9,12,
+ 55,56,57,58,17,18,19,20,0,22,
+ 0,1,4,3,61,62,47,48,31,32,
+ 33,34,35,36,37,38,39,40,41,42,
+ 43,44,45,46,0,1,0,3,51,5,
+ 6,7,8,0,61,62,12,0,1,0,
+ 3,17,18,19,20,0,22,2,0,4,
+ 13,53,54,0,9,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,0,1,0,3,51,5,6,7,8,
+ 0,0,0,12,4,0,0,5,17,18,
+ 19,20,0,22,55,56,57,58,6,7,
+ 8,0,31,32,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,46,0,1,
+ 0,3,51,0,6,7,8,4,0,1,
+ 12,3,50,53,54,17,18,19,20,0,
+ 22,55,56,57,58,6,7,8,0,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,0,44,45,46,80,65,6,7,8,
+ 0,0,1,12,3,0,53,54,17,18,
+ 19,20,0,22,2,10,11,5,0,1,
+ 2,9,31,32,33,34,35,36,37,38,
+ 39,40,41,42,0,1,2,3,4,5,
+ 0,29,0,0,10,11,12,0,14,15,
+ 16,0,1,13,3,21,9,23,24,25,
+ 26,27,28,63,0,1,2,3,4,5,
+ 0,1,30,3,10,11,12,59,14,15,
+ 16,0,0,13,50,21,0,23,24,25,
+ 26,27,28,0,0,1,2,3,4,5,
+ 14,0,0,0,10,11,5,13,14,15,
+ 16,68,69,0,50,21,14,23,24,25,
+ 26,27,28,30,0,1,2,3,4,5,
+ 29,30,0,0,10,11,0,43,14,15,
+ 16,0,6,7,8,21,64,23,24,25,
+ 26,27,28,0,0,1,2,3,4,6,
+ 7,8,0,0,10,11,63,5,14,15,
+ 16,0,0,60,50,21,5,23,24,25,
+ 26,27,28,0,1,2,3,4,47,48,
+ 0,29,59,10,11,0,13,14,15,16,
+ 29,6,7,8,21,51,23,24,25,26,
+ 27,28,0,1,2,3,4,0,1,47,
+ 48,0,10,11,0,13,14,15,16,0,
+ 6,7,8,21,13,23,24,25,26,27,
+ 28,0,1,2,3,4,0,0,1,0,
+ 3,10,11,0,13,14,15,16,5,10,
+ 11,0,21,0,23,24,25,26,27,28,
+ 0,1,2,3,4,0,47,48,0,4,
+ 10,11,0,30,14,15,16,5,10,11,
+ 0,21,0,23,24,25,26,27,28,0,
+ 1,2,3,4,0,1,0,3,0,10,
+ 11,29,49,14,15,16,0,9,0,66,
+ 21,0,23,24,25,26,27,28,0,1,
+ 2,3,4,0,13,0,0,4,10,11,
+ 5,0,14,15,16,0,0,0,1,21,
+ 9,23,24,25,26,27,28,0,13,2,
+ 52,4,5,6,7,8,9,0,0,12,
+ 64,0,5,2,17,18,19,20,43,22,
+ 9,65,49,0,0,2,29,4,5,6,
+ 7,8,9,52,0,12,49,13,30,5,
+ 17,18,19,20,0,22,60,0,1,2,
+ 43,0,29,0,1,2,70,71,72,73,
+ 74,75,76,77,78,79,0,0,1,2,
+ 0,4,6,7,8,0,9,0,12,0,
+ 1,4,3,17,18,19,20,0,22,0,
+ 0,0,0,6,7,8,0,0,9,12,
+ 66,0,0,59,17,18,19,20,0,22,
+ 13,60,0,0,6,7,8,0,0,49,
+ 12,30,30,0,0,17,18,19,20,0,
+ 22,13,0,0,0,6,7,8,0,0,
+ 0,12,0,0,0,2,17,18,19,20,
+ 0,22,9,13,0,0,1,2,15,16,
+ 5,0,1,2,9,4,0,0,0,2,
+ 9,4,0,0,0,0,9,0,0,0,
+ 0,0,0,0,29,0,0,0,0,0,
+ 0,0,0,0,0,52,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 67,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,41,0,52,0,46,46,0,0,0,
- 0,0,42,0,0,0,0,0,67,0,
- 0,0,0,0,0,66,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0
+ 0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -494,94 +488,88 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1719,631,1453,633,1439,1719,1930,1931,1932,1880,
- 1722,1432,1380,1881,1879,1933,1882,1878,1446,1,
- 377,366,333,1729,1730,1731,1732,1296,929,1885,
- 1890,1889,1887,1888,1886,1891,1892,1884,1893,1894,
- 1895,87,1719,1199,1193,889,1719,1,266,1,
- 479,189,1,1,1,1,1721,58,503,1,
- 1,1,1,1,1,1713,1109,47,1,1724,
- 281,1500,1273,1719,503,1,1,1,1,1,
- 1,1,1,1,1,1,1,635,189,1,
- 1,1,1217,1913,1719,1,219,1,1127,189,
- 1,1,1,1,1,1723,503,1,1,1,
- 1,1,1359,1348,1337,1316,1719,1898,1973,1899,
- 1470,1463,1706,1,1,1,1,1,1,1,
- 1,1,1,1,1,1277,189,1,1,1,
- 1719,1913,1719,1,1273,1,63,189,1,1,
- 1,1,1719,60,1973,1,1,1,1,1,
- 1,1719,1367,49,1248,1724,1719,1500,1,1716,
- 503,1,1,1,1,1,1,1,1,1,
- 1,1,1,1719,189,1,1,1,1719,1913,
- 1719,1,1719,1,252,188,1,1,1,1,
- 69,1723,59,1,1,1,1,1,1359,1348,
- 1337,1316,1719,1898,1719,1899,1470,1463,1973,1,
+ 1714,689,1470,692,1078,58,1929,1930,1931,53,
+ 1069,1023,1875,61,1133,1589,1333,1876,1874,1932,
+ 1877,1126,1873,1724,1725,1726,1727,1014,500,57,
+ 1,1880,1885,1884,1882,1883,1881,1886,1887,1879,
+ 1888,1889,1890,62,397,339,338,1714,1,271,
+ 1,1406,192,1,1,1,701,1294,509,1,
+ 1387,1377,1365,1304,1,1,1,1,47,1,
+ 1714,1743,1497,1744,1353,1341,701,1294,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1417,188,1,1,1,1719,1913,1719,1,
- 1638,1,246,189,1,1,1,1,1,1,
- 1,1,1,1,1,1,1719,1359,1348,1337,
- 1316,64,1930,1931,1932,460,1719,1,1,1,
- 1,1,1,1,1,1,1,1,1,1248,
- 189,1,1,1,48,1913,1719,1897,1500,1896,
- 247,1719,1930,1931,1932,1880,1,1,1,1881,
- 1879,1933,1882,1878,258,1942,1109,1719,1,1719,
- 1898,1719,1899,1719,503,1885,1890,1889,1887,1888,
- 1886,1891,1892,1884,1893,1894,1895,127,1418,1199,
- 1193,889,70,1930,1931,1932,1880,1470,1463,28,
- 1881,1879,1933,1882,1878,264,1942,1109,1719,1420,
- 1719,1942,364,67,1420,503,1885,1890,1889,1887,
- 1888,1886,1891,1892,1884,1893,1894,1895,1,1736,
- 1453,1737,1201,1722,261,245,1367,589,1,1432,
- 1380,1930,1931,1932,503,435,1446,50,377,366,
- 333,1729,1730,1731,1732,1296,929,460,1327,875,
- 1719,1736,1453,1737,1240,1722,264,248,1367,942,
- 1420,1432,1380,1930,1931,1932,503,572,1446,1721,
- 377,366,333,1729,1730,1731,1732,1296,929,53,
- 68,61,1719,1954,1,1736,1453,1737,1439,27,
- 71,249,1,1942,364,1432,1380,1930,1931,1932,
- 208,1721,1446,2850,377,366,333,1729,1730,1731,
- 1732,1296,929,1719,1736,1453,1737,1439,1722,1719,
- 1748,62,1749,1719,1432,1380,27,1157,1209,205,
- 1898,1446,1899,377,366,333,1729,1730,1731,1732,
- 1296,929,1304,1265,572,1719,1,1,1,1,
- 1719,1019,1,1942,364,1724,1,1,1170,1629,
- 981,57,1719,1,1721,1,1,1,1,1,
- 1,1,1,1,1719,1,1736,1453,1737,1439,
- 1,1719,1304,1265,1,89,1432,1380,199,1728,
- 56,1723,2029,1446,2850,377,366,333,1729,1730,
- 1731,1732,1296,929,1719,1736,1453,1737,1439,1157,
- 1209,1719,1898,65,1899,1432,1380,204,1128,55,
- 1128,89,1446,2850,377,366,333,1729,1730,1731,
- 1732,1296,929,1,1736,1453,1737,1439,1157,1209,
- 1057,66,1719,1719,1432,1380,1719,1038,54,1,
- 1727,1446,2850,377,366,333,1729,1730,1731,1732,
- 1296,929,1719,1736,1453,1737,1439,1157,1209,267,
- 1719,217,1719,1432,1380,1719,1086,1719,1719,503,
- 1446,503,377,366,333,1729,1730,1731,1732,1296,
- 929,1719,1736,1454,1737,1439,1157,1209,1719,1972,
- 287,1719,1432,1380,1086,1719,527,41,962,1446,
- 1000,377,366,333,1729,1730,1731,1732,1296,929,
- 1,1736,1453,1737,1439,42,1217,1719,1719,1,
- 1719,1432,1380,1719,1724,1719,1719,1719,1446,1719,
- 377,366,333,1729,1730,1731,1732,1296,929,17,
- 1545,1707,1548,1707,1707,178,178,178,178,1707,
- 186,1719,178,178,178,178,178,18,185,1710,
- 1723,1710,1710,177,177,177,177,1710,1719,1421,
- 177,177,177,177,177,855,1719,1530,187,1719,
- 1707,1719,1719,28,204,835,815,795,775,755,
- 715,735,695,675,655,128,1719,1571,1710,1719,
- 1719,1930,1931,1932,1880,1726,52,129,1881,1879,
- 1933,1882,1878,1930,1931,1932,1880,1327,875,130,
- 1881,1879,1933,1882,1878,1930,1931,1932,1880,1746,
- 2597,131,1881,1879,1933,1882,1878,1930,1931,1932,
- 1880,31,1725,1619,1881,1879,1933,1882,1878,1719,
- 1719,1626,51,1719,1728,1724,1719,1719,1719,1719,
- 280,1743,1744,1327,875,1581,1719,1719,1719,1719,
- 1719,1719,1640,1719,1719,1719,1719,1719,1719,1719,
- 1719,1719,1719,1719,1719,1719,1719,1719,1719,1719,
- 1719,1723,1719,455,1719,1256,1222,1719,1719,1719,
- 1719,1719,1581,1719,1719,1719,1719,1719,390,1719,
- 1719,1719,1719,1719,1719,1727
+ 192,1,1,1,1714,1,254,1,1911,191,
+ 1,1,1,183,1353,1341,1,1714,1893,60,
+ 1894,1,1,1,1,266,1,1398,184,1,
+ 1233,1409,1272,286,509,1,1,1,1,1,
+ 1,1,1,1,1,1,1,191,1,1,
+ 1,1714,1,1714,1,1911,192,1,1,1,
+ 49,1714,1714,1,1497,1714,59,1717,1,1,
+ 1,1,1714,1,1387,1377,1365,1304,1929,1930,
+ 1931,69,1,1,1,1,1,1,1,1,
+ 1,1,1,1,192,1,1,1,1714,1892,
+ 1714,1891,1911,48,1929,1930,1931,1497,186,2727,
+ 1875,2727,1716,1409,1272,1876,1874,1932,1877,250,
+ 1873,1387,1377,1365,1304,1,1,1,1714,1880,
+ 1885,1884,1882,1883,1881,1886,1887,1879,1888,1889,
+ 1890,127,397,339,338,1701,463,1929,1930,1931,
+ 65,185,2748,1875,2748,50,1409,1272,1876,1874,
+ 1932,1877,1,1873,1398,480,381,1719,1,1941,
+ 1397,509,1880,1885,1884,1882,1883,1881,1886,1887,
+ 1879,1888,1889,1890,1,1731,1470,1732,1316,1717,
+ 1714,1718,87,71,1069,1023,593,272,1133,1589,
+ 1333,207,2770,563,2770,1126,509,1724,1725,1726,
+ 1727,1014,500,640,1714,1731,1470,1732,1399,1717,
+ 1714,1893,667,1894,1069,1023,956,1050,1133,1589,
+ 1333,1714,67,1234,1716,1126,63,1724,1725,1726,
+ 1727,1014,500,257,1,1731,1470,1732,1078,27,
+ 1280,1714,64,66,1069,1023,1719,2637,1133,1589,
+ 1333,1210,1615,1714,1716,1126,1280,1724,1725,1726,
+ 1727,1014,500,1622,1714,1731,1470,1732,1078,1717,
+ 1718,1418,1714,1714,1069,1023,249,27,1133,1589,
+ 1333,56,1929,1930,1931,1126,576,1724,1725,1726,
+ 1727,1014,500,251,1714,1,1,1,1,1,
+ 1,1,1714,1714,1,1,640,1719,1,1,
+ 1,1,55,533,1716,1,89,1,1,1,
+ 1,1,1,1,1731,1470,1732,1078,701,1294,
+ 1714,1718,1105,1069,1023,252,2637,1133,1589,1333,
+ 89,1929,1930,1931,1126,2029,1724,1725,1726,1727,
+ 1014,500,1714,1731,1470,1732,1078,1714,1953,701,
+ 1294,41,1069,1023,253,2637,1133,1589,1333,54,
+ 1929,1930,1931,1126,563,1724,1725,1726,1727,1014,
+ 500,1,1731,1470,1732,1078,1714,1714,1893,52,
+ 1894,1069,1023,1714,2637,1133,1589,1333,1723,480,
+ 381,1714,1126,1,1724,1725,1726,1727,1014,500,
+ 1714,1731,1470,1732,1078,1714,701,1294,51,650,
+ 1069,1023,1,1293,1133,1589,1333,1719,480,381,
+ 1714,1126,1714,1724,1725,1726,1727,1014,500,1714,
+ 1731,1471,1732,1078,209,1893,68,1894,1714,1069,
+ 1023,1718,1973,1133,1589,1333,70,976,1714,1722,
+ 1126,1714,1724,1725,1726,1727,1014,500,1,1731,
+ 1470,1732,1078,1,1483,1714,1714,254,1069,1023,
+ 1721,292,1133,1589,1333,1714,42,1,1711,1126,
+ 995,1724,1725,1726,1727,1014,500,17,1566,1702,
+ 1522,1702,1702,178,178,178,1702,285,28,178,
+ 576,223,1235,1463,178,178,178,178,1720,178,
+ 509,463,1973,18,1714,1705,1702,1705,1705,177,
+ 177,177,1705,1641,1,177,1973,1620,440,1723,
+ 177,177,177,177,202,177,916,1,1941,1397,
+ 1235,212,1705,254,1941,1397,896,876,856,836,
+ 816,776,796,756,736,716,128,263,1941,1145,
+ 1,1,1929,1930,1931,1714,509,1714,1875,208,
+ 507,1464,507,1876,1874,1932,1877,129,1873,221,
+ 1714,28,208,1929,1930,1931,1714,190,509,1875,
+ 1722,1714,1714,1086,1876,1874,1932,1877,130,1873,
+ 186,1031,1714,1714,1929,1930,1931,1714,190,1972,
+ 1875,1741,2709,1714,1714,1876,1874,1932,1877,131,
+ 1873,185,1714,1714,1714,1929,1930,1931,1714,1714,
+ 190,1875,1714,31,1714,1438,1876,1874,1932,1877,
+ 1714,1873,1608,207,1714,1,1708,1145,1738,1739,
+ 1719,269,1941,1145,509,254,1714,269,1714,1398,
+ 509,254,1714,1714,1714,1714,509,1714,1714,1714,
+ 1714,1714,1714,1714,1718,1714,1714,1714,1714,1714,
+ 1714,1714,1714,1714,1714,1076,1714,1714,1714,1714,
+ 1714,1714,1714,1714,1714,1714,1714,1714,1714,1714,
+ 460
};
};
public final static char termAction[] = TermAction.termAction;
@@ -589,27 +577,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 408,1,76,41,76,76,76,76,76,76,
- 76,76,76,338,3,181,178,185,183,191,
- 189,193,192,195,194,10,76,338,163,163,
- 326,338,298,298,426,76,76,76,76,76,
+ 415,1,76,41,76,76,76,76,76,76,
+ 76,76,76,374,3,188,185,192,190,198,
+ 196,200,199,202,201,10,76,374,166,166,
+ 320,374,292,292,355,76,76,76,76,76,
76,76,76,76,76,76,76,76,76,76,
76,76,76,76,76,76,76,76,76,76,
- 76,76,76,76,76,76,163,68,330,70,
- 268,161,160,301,313,313,66,66,313,66,
- 313,352,117,117,163,45,178,178,183,183,
- 183,183,181,181,189,185,185,192,191,224,
- 194,193,166,50,326,321,97,45,375,74,
- 163,379,271,206,238,206,238,332,206,76,
- 50,321,375,375,45,73,70,163,324,352,
- 162,273,238,238,238,238,332,332,334,94,
- 265,68,375,321,76,76,45,74,268,219,
- 218,330,273,163,238,265,226,238,238,265,
- 334,233,334,332,265,48,236,298,76,93,
- 265,50,321,45,45,163,379,271,324,265,
- 228,265,265,76,298,334,52,45,298,76,
- 50,273,202,76,201,89,330,265,45,334,
- 163,162,228,76,89,265,299,334
+ 76,76,76,76,76,76,166,68,324,70,
+ 262,164,163,295,307,66,307,66,66,307,
+ 66,307,388,120,120,166,45,185,185,190,
+ 190,190,190,188,188,196,192,192,199,198,
+ 260,201,200,173,50,320,324,93,45,411,
+ 74,166,326,265,66,292,292,66,292,76,
+ 50,324,315,411,45,73,70,166,318,388,
+ 165,267,68,213,68,243,245,170,240,68,
+ 315,411,76,76,45,74,262,255,254,324,
+ 267,166,68,213,243,243,240,48,252,292,
+ 76,169,240,50,411,315,45,45,166,326,
+ 265,318,213,240,113,213,243,245,249,245,
+ 52,45,292,76,50,315,267,213,115,245,
+ 240,76,292,45,245,166,165,240,209,76,
+ 208,89,324,240,240,293,115,76,89,245
};
};
public final static char asb[] = Asb.asb;
@@ -617,51 +605,50 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 80,0,66,10,2,52,67,20,21,18,
- 4,11,12,53,54,48,49,55,56,57,
- 58,61,62,63,64,65,68,69,42,60,
+ 80,0,66,9,2,52,67,15,16,14,
+ 4,10,11,53,54,47,48,55,56,57,
+ 58,61,62,63,64,65,68,69,43,60,
70,71,72,73,74,76,75,77,78,79,
- 59,41,80,46,51,5,0,5,42,10,
- 52,20,21,18,4,11,12,27,28,22,
- 2,23,24,25,26,1,3,19,0,6,
- 7,8,9,51,5,23,24,25,26,3,
- 20,21,18,11,12,27,28,22,4,2,
- 1,0,60,10,52,0,6,7,8,2,
- 23,24,25,26,1,3,20,21,18,4,
- 11,12,27,28,22,0,7,9,17,8,
- 16,15,14,6,13,52,67,20,21,18,
- 11,12,53,54,48,49,55,56,57,58,
- 61,62,63,64,65,68,69,60,70,71,
- 72,73,74,75,76,77,78,79,4,2,
- 10,46,41,5,0,60,70,71,72,73,
- 74,75,76,77,78,79,19,4,53,54,
- 11,12,49,48,55,56,57,58,61,62,
- 18,63,64,65,51,41,42,80,68,69,
- 59,66,5,46,0,13,6,14,15,16,
- 7,9,17,8,1,4,19,2,5,46,
- 41,66,10,59,0,66,5,4,1,2,
- 59,0,5,46,42,60,0,13,29,6,
- 30,43,14,31,15,32,33,16,7,34,
- 35,9,44,17,45,36,37,8,38,39,
- 40,1,3,47,5,42,0,4,2,10,
- 41,5,13,29,6,30,43,14,31,15,
- 32,33,16,7,34,35,9,44,17,45,
- 36,37,8,38,39,40,50,3,1,0,
- 37,29,34,32,33,31,30,35,36,38,
- 39,40,59,66,17,14,9,13,16,15,
- 6,7,8,46,1,5,41,2,10,4,
- 0,1,3,5,42,46,0,22,23,24,
- 25,26,2,20,21,18,4,11,12,27,
- 28,3,1,43,44,45,37,29,34,32,
- 33,31,30,35,36,38,39,40,17,14,
- 9,13,16,15,6,7,8,0,13,29,
- 6,30,43,14,31,15,32,33,16,7,
- 34,35,9,44,17,45,36,37,8,38,
- 39,40,1,3,50,4,0,22,23,24,
- 25,26,1,3,2,20,21,18,4,11,
- 12,27,28,47,0,5,41,22,23,24,
- 25,26,1,3,2,20,21,18,4,11,
- 12,27,28,0
+ 59,29,80,30,50,5,0,5,43,9,
+ 52,15,16,14,4,10,11,27,28,21,
+ 2,23,24,25,26,1,3,13,0,6,
+ 7,8,12,50,5,23,24,25,26,3,
+ 15,16,14,10,11,27,28,21,4,2,
+ 1,0,6,7,8,2,23,24,25,26,
+ 1,3,15,16,14,4,10,11,27,28,
+ 21,0,66,5,4,1,2,59,0,7,
+ 12,22,8,20,19,18,6,17,52,67,
+ 15,16,14,10,11,53,54,47,48,55,
+ 56,57,58,61,62,63,64,65,68,69,
+ 60,70,71,72,73,74,75,76,77,78,
+ 79,4,2,9,30,29,5,0,60,9,
+ 52,0,60,70,71,72,73,74,75,76,
+ 77,78,79,13,4,53,54,10,11,48,
+ 47,55,56,57,58,61,62,14,63,64,
+ 65,50,29,43,80,68,69,59,66,5,
+ 30,0,17,31,6,32,44,18,33,19,
+ 34,35,20,7,36,37,12,45,22,46,
+ 38,39,8,40,41,42,1,3,51,5,
+ 43,0,1,3,5,43,30,0,5,30,
+ 43,60,0,2,5,30,29,66,9,59,
+ 0,4,2,9,29,5,17,31,6,32,
+ 44,18,33,19,34,35,20,7,36,37,
+ 12,45,22,46,38,39,8,40,41,42,
+ 49,3,1,0,39,31,36,34,35,33,
+ 32,37,38,40,41,42,59,66,22,18,
+ 12,17,20,19,6,7,8,30,1,5,
+ 29,2,9,4,0,4,17,31,6,32,
+ 44,18,33,19,34,35,20,7,36,37,
+ 12,45,22,46,38,39,8,40,41,42,
+ 1,3,49,0,5,29,21,23,24,25,
+ 26,1,3,2,15,16,14,4,10,11,
+ 27,28,0,21,23,24,25,26,2,15,
+ 16,14,4,10,11,27,28,3,1,44,
+ 45,46,39,31,36,34,35,33,32,37,
+ 38,40,41,42,22,18,12,17,20,19,
+ 6,7,8,0,21,23,24,25,26,1,
+ 3,2,15,16,14,4,10,11,27,28,
+ 51,0
};
};
public final static byte asr[] = Asr.asr;
@@ -669,27 +656,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static byte nasb[] = {0,
- 80,8,20,8,20,20,20,20,20,20,
- 20,20,20,66,8,8,8,8,8,8,
- 8,8,8,8,8,8,20,66,23,23,
- 62,1,11,11,93,67,20,20,20,20,
- 20,20,20,20,20,20,20,20,20,20,
- 20,20,67,20,20,20,20,20,20,20,
- 20,20,20,20,20,20,23,8,74,25,
- 61,36,36,52,53,53,34,34,53,34,
- 53,48,8,8,23,27,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 8,8,8,85,63,85,31,27,87,26,
- 23,72,22,8,85,8,85,85,8,20,
- 18,85,87,87,27,26,13,23,39,2,
- 8,84,85,76,85,76,34,85,59,15,
- 85,8,87,13,20,20,27,26,38,36,
- 36,74,84,23,76,70,45,89,76,70,
- 59,8,8,34,70,17,8,34,20,29,
- 70,85,13,27,27,23,72,22,40,70,
- 55,70,70,20,34,59,19,27,34,20,
- 18,83,46,20,8,55,74,70,27,59,
- 23,23,55,20,42,70,8,9
+ 108,9,26,9,26,26,26,26,26,26,
+ 26,26,26,89,9,9,9,9,9,9,
+ 9,9,9,9,9,9,26,89,79,79,
+ 74,1,28,28,86,90,26,26,26,26,
+ 26,26,26,26,26,26,26,26,26,26,
+ 26,26,90,26,26,26,26,26,26,26,
+ 26,26,26,26,26,26,79,9,105,32,
+ 73,10,10,62,63,12,63,17,17,63,
+ 16,63,57,9,9,79,34,9,9,9,
+ 9,9,9,9,9,9,9,9,9,9,
+ 9,9,9,9,55,97,9,36,34,48,
+ 33,79,81,78,71,71,71,71,71,26,
+ 24,9,55,48,34,33,14,79,51,2,
+ 9,83,21,55,9,55,46,19,55,9,
+ 55,48,26,26,34,33,50,10,10,105,
+ 83,79,9,93,55,71,30,23,9,71,
+ 26,44,30,55,48,14,34,34,79,81,
+ 78,65,55,30,39,111,71,46,9,9,
+ 25,34,71,26,24,14,101,93,53,46,
+ 30,26,71,34,46,79,79,30,40,26,
+ 9,53,105,30,30,9,53,26,67,42
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -697,16 +684,18 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 4,78,77,76,75,74,73,0,89,0,
- 69,0,20,0,91,0,67,8,61,4,
- 0,8,22,0,8,4,23,0,93,0,
- 4,8,0,27,0,25,0,22,8,43,
- 42,36,34,0,8,68,0,62,63,64,
- 65,52,28,0,8,36,34,0,51,0,
- 22,8,43,42,0,32,8,45,0,26,
- 0,8,24,49,0,56,8,32,0,8,
- 84,0,87,24,8,0,58,0,8,32,
- 48,0,8,85,0
+ 4,79,78,77,76,64,75,74,0,26,
+ 0,89,0,20,0,92,65,0,97,0,
+ 90,0,68,10,59,4,0,70,0,32,
+ 0,10,4,23,0,4,10,0,10,69,
+ 0,95,0,99,0,51,0,56,0,22,
+ 43,42,36,34,10,0,64,60,61,62,
+ 63,52,27,0,43,42,36,34,31,0,
+ 24,0,22,42,43,10,0,10,22,0,
+ 31,49,10,25,0,10,88,0,48,10,
+ 45,0,81,10,48,0,43,42,31,0,
+ 93,10,25,0,31,49,0,10,87,0,
+ 10,48,66,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -714,12 +703,12 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
- 85,2,86,9,87,48,64,76,69,1,
- 10,11,44,55,60,63,72,8,3,6,
- 7,68,81,82,83,84,12,13,47,52,
- 56,61,62,66,67,74,75,78,79,80,
- 90,91,54,70,73,42,93,16,17,30,
- 89,4,14,15,18,19,20,21,29,31,
+ 85,2,86,9,87,48,64,76,1,10,
+ 11,69,3,8,6,7,44,55,60,63,
+ 68,72,81,82,83,84,12,13,90,42,
+ 47,52,56,61,62,66,67,74,75,78,
+ 79,80,91,54,70,73,16,17,30,89,
+ 93,4,14,15,18,19,20,21,29,31,
22,23,24,25,26,92,5,27,28,32,
33,34,35,36,37,38,39,40,41,94,
45,46,49,50,51,53,57,58,59,65,
@@ -731,18 +720,19 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,0,0,101,105,106,107,0,108,109,
+ 0,0,0,101,105,106,107,108,109,0,
110,111,112,113,114,115,116,117,118,129,
- 0,97,96,122,149,98,121,128,0,0,
- 0,140,145,147,0,148,0,0,0,0,
- 158,159,160,0,100,120,137,139,146,155,
- 0,131,136,0,0,138,150,153,154,157,
- 0,132,133,134,135,144,161,99,102,103,
- 104,119,123,124,125,126,127,130,142,0,
- 0,143,152,95,0,141,151,156,0,162,
- 163,0,164,0,0,0,0,0,0,0,
+ 0,97,96,121,122,150,128,0,0,0,
+ 0,98,146,148,0,149,0,0,0,0,
+ 159,160,161,0,100,120,137,141,147,156,
+ 0,131,136,0,151,154,155,158,0,132,
+ 133,134,135,138,0,140,145,162,99,102,
+ 103,104,119,123,124,125,126,127,130,0,
+ 139,143,0,0,144,153,95,0,0,0,
+ 142,0,152,157,0,163,164,0,165,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -750,10 +740,10 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 162,82,35,41,91,111,117,12,142,21,
- 51,69,123,128,28,47,101,158,180,184,
- 151,1,1,32,56,79,188,6,105,133,
- 170,97,59,59,59
+ 82,113,156,92,35,41,121,12,136,21,
+ 51,69,28,47,103,152,174,178,145,1,
+ 1,32,56,79,182,6,107,127,164,99,
+ 59,59,59
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -761,10 +751,10 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 89,89,4,4,89,89,89,18,148,26,
- 4,26,89,89,26,4,99,26,26,4,
- 155,4,4,26,4,26,26,9,108,136,
- 173,99,66,61,74
+ 90,90,90,90,4,4,90,18,142,26,
+ 4,26,26,4,101,26,26,4,149,4,
+ 4,26,4,26,26,9,110,130,167,101,
+ 66,61,74
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -772,10 +762,10 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 4,64,25,25,64,62,62,53,100,44,
- 25,39,62,62,44,25,48,5,4,4,
- 18,93,92,42,25,36,2,67,48,101,
- 4,48,39,37,39
+ 62,60,4,62,26,26,60,53,106,44,
+ 26,39,44,26,66,5,4,4,18,99,
+ 98,42,26,36,2,68,66,107,4,66,
+ 39,37,39
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -783,10 +773,10 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
- 42,42,51,51,42,42,42,42,86,41,
- 51,41,42,42,41,51,66,41,41,51,
- 59,51,51,41,51,41,41,60,1,92,
- 41,66,2,2,2
+ 43,43,43,43,50,50,43,43,86,29,
+ 50,29,29,50,66,29,29,50,59,50,
+ 50,29,50,29,29,60,1,92,29,66,
+ 2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -794,10 +784,10 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
- 34,19,23,23,19,19,19,88,-1,27,
- 23,11,19,19,27,23,5,34,34,34,
- 63,1,3,27,23,11,34,89,5,-1,
- 34,5,11,11,11
+ 17,17,32,17,21,21,17,86,-1,25,
+ 21,9,25,21,3,32,32,32,61,1,
+ 7,25,21,9,32,87,3,-1,32,3,
+ 9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -805,25 +795,25 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 139,10,0,96,0,183,101,0,31,136,
- 0,144,164,101,19,154,0,98,0,0,
- 150,101,2,135,0,97,0,150,101,2,
- 0,153,2,0,112,9,176,101,10,0,
- 112,176,101,9,10,0,112,9,10,0,
- 112,176,101,10,0,112,10,0,129,0,
- 2,0,151,97,0,2,97,0,150,101,
- 2,129,0,2,0,150,97,0,140,2,
- 0,144,174,101,19,120,43,0,98,0,
- 144,174,101,19,43,0,125,0,99,0,
- 179,101,125,0,101,125,0,141,99,0,
- 148,101,19,120,45,0,148,101,19,120,
- 44,0,148,101,19,45,0,148,101,19,
- 44,0,189,85,0,77,2,100,97,99,
- 0,189,115,138,2,89,0,53,0,0,
- 138,69,110,0,29,117,0,163,2,22,
- 0,144,164,101,19,115,163,2,0,163,
- 2,0,97,3,0,104,0,98,0,178,
- 2,97,0,138,10,97,0,138,2,0
+ 139,9,0,96,0,189,103,0,31,136,
+ 0,144,165,103,13,152,0,98,0,0,
+ 148,103,2,135,0,97,0,148,103,2,
+ 0,151,2,0,112,12,179,103,9,0,
+ 112,179,103,12,9,0,112,12,9,0,
+ 112,179,103,9,0,112,9,0,129,0,
+ 2,0,152,97,0,2,97,0,148,103,
+ 2,129,0,2,0,151,97,0,140,2,
+ 0,144,177,103,13,117,185,44,0,98,
+ 0,144,177,103,13,185,44,0,141,0,
+ 99,0,184,103,141,0,103,141,0,142,
+ 99,0,173,103,13,183,117,182,157,0,
+ 173,103,13,182,157,0,195,85,0,77,
+ 2,100,97,99,0,195,115,138,2,89,
+ 0,53,0,0,138,69,110,0,29,117,
+ 0,164,2,21,0,144,165,103,13,115,
+ 164,2,0,164,2,0,97,3,0,104,
+ 0,98,0,181,2,97,0,138,9,97,
+ 0,138,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -831,16 +821,15 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 570,0,393,0,1542,1607,1532,1529,1507,0,
- 885,1256,364,1200,456,1109,1077,0,863,1167,
- 311,0,1262,1108,1082,1081,456,1109,1077,1570,
- 1367,1371,0,1240,1201,460,1170,1086,572,1304,
- 1265,1248,1209,1157,1359,1348,1337,1316,1500,1470,
- 1463,1327,875,377,366,1446,1439,1432,1380,1296,
- 929,333,1038,1019,1000,981,962,942,895,611,
- 1057,589,503,855,835,815,795,775,755,735,
- 715,695,675,655,311,635,547,527,415,435,
- 343,0
+ 906,0,1563,1585,1520,0,398,0,374,1293,
+ 1397,1232,1220,1145,1115,0,636,1177,316,0,
+ 1325,1142,373,341,1220,1145,1115,1539,1398,1417,
+ 0,1399,1316,463,1210,640,576,1353,1341,1280,
+ 1294,701,1387,1377,1365,1304,1497,1409,1272,480,
+ 381,1589,1333,1133,1078,1069,1023,1014,500,1126,
+ 1086,1050,1031,995,976,956,936,616,1105,593,
+ 509,916,896,876,856,836,816,796,776,756,
+ 736,716,316,667,553,533,420,440,347,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -848,27 +837,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,177,101,165,22,28,27,12,11,4,
- 18,21,20,2,97,102,100,104,103,106,
- 105,108,107,110,109,98,46,2,163,138,
- 125,101,67,52,2,10,12,11,54,53,
- 4,58,57,56,55,48,49,18,62,61,
+ 0,180,103,166,21,28,27,11,10,4,
+ 14,16,15,2,97,101,100,104,102,106,
+ 105,108,107,110,109,98,30,2,164,138,
+ 141,103,67,52,2,9,11,10,54,53,
+ 4,58,57,56,55,47,48,14,62,61,
64,63,69,68,65,79,78,77,75,76,
- 74,73,72,71,70,60,163,115,101,10,
- 2,136,135,166,167,168,45,44,169,43,
- 170,171,1,3,178,138,100,100,103,103,
- 103,103,102,102,105,104,104,107,106,138,
- 109,108,115,19,142,4,9,112,101,4,
- 153,101,2,120,19,120,19,19,120,59,
- 101,4,101,101,112,176,151,150,117,101,
- 152,101,19,101,19,101,101,19,164,101,
- 19,154,101,151,176,9,112,4,2,127,
- 129,101,46,150,101,148,125,149,101,148,
- 174,120,175,101,144,46,183,52,10,184,
- 101,19,151,112,112,140,101,2,142,148,
- 101,148,144,60,46,174,60,139,52,10,
- 101,101,179,59,140,2,101,144,139,164,
- 150,180,46,59,142,144,46,119
+ 74,73,72,71,70,60,164,115,103,9,
+ 2,136,135,167,168,157,169,46,45,170,
+ 44,171,172,1,3,181,138,100,100,102,
+ 102,102,102,101,101,105,104,104,107,106,
+ 138,109,108,115,13,142,124,12,112,103,
+ 4,151,103,2,182,158,158,185,158,59,
+ 103,124,4,103,112,179,149,148,118,103,
+ 150,103,117,13,117,13,165,103,13,152,
+ 4,103,179,12,112,4,2,127,129,103,
+ 30,148,183,103,13,103,144,30,189,52,
+ 9,190,103,13,103,149,112,112,140,103,
+ 2,142,13,173,141,174,103,177,117,178,
+ 60,139,52,9,103,149,103,103,103,177,
+ 144,60,30,139,165,148,186,173,184,59,
+ 140,2,103,144,144,30,30,59,142,125
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -997,7 +986,7 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"assignment_expression",
"expression_list_actual",
"constant_expression",
- "identifier_or_typedefname",
+ "identifier_token",
"declaration_specifiers",
"simple_declaration_specifiers",
"struct_or_union_declaration_sp" +
@@ -1017,6 +1006,7 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"typedef_name_in_declspec",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1052,9 +1042,9 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 47,
- SCOPE_UBOUND = 34,
- SCOPE_SIZE = 35,
+ ERROR_SYMBOL = 51,
+ SCOPE_UBOUND = 32,
+ SCOPE_SIZE = 33,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1063,20 +1053,20 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 208,
+ NUM_STATES = 210,
NT_OFFSET = 93,
LA_STATE_OFFSET = 2029,
MAX_LA = 2,
- NUM_RULES = 310,
- NUM_NONTERMINALS = 117,
- NUM_SYMBOLS = 210,
+ NUM_RULES = 315,
+ NUM_NONTERMINALS = 123,
+ NUM_SYMBOLS = 216,
SEGMENT_SIZE = 8192,
- START_STATE = 1546,
+ START_STATE = 1569,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
- ACCEPT_ACTION = 1706,
- ERROR_ACTION = 1719;
+ ACCEPT_ACTION = 1701,
+ ERROR_ACTION = 1714;
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 a0a8d2ed1d..28fbc1917b 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
@@ -15,43 +15,43 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99;
public interface C99NoCastExpressionParsersym {
public final static int
- TK_auto = 13,
+ TK_auto = 17,
TK_break = 81,
TK_case = 82,
- TK_char = 29,
+ TK_char = 31,
TK_const = 6,
TK_continue = 83,
TK_default = 84,
TK_do = 85,
- TK_double = 30,
+ TK_double = 32,
TK_else = 86,
- TK_enum = 43,
- TK_extern = 14,
- TK_float = 31,
+ TK_enum = 44,
+ TK_extern = 18,
+ TK_float = 33,
TK_for = 87,
TK_goto = 88,
TK_if = 89,
- TK_inline = 15,
- TK_int = 32,
- TK_long = 33,
- TK_register = 16,
+ TK_inline = 19,
+ TK_int = 34,
+ TK_long = 35,
+ TK_register = 20,
TK_restrict = 7,
TK_return = 90,
- TK_short = 34,
- TK_signed = 35,
- TK_sizeof = 22,
- TK_static = 9,
- TK_struct = 44,
+ TK_short = 36,
+ TK_signed = 37,
+ TK_sizeof = 21,
+ TK_static = 12,
+ TK_struct = 45,
TK_switch = 91,
- TK_typedef = 17,
- TK_union = 45,
- TK_unsigned = 36,
- TK_void = 37,
+ TK_typedef = 22,
+ TK_union = 46,
+ TK_unsigned = 38,
+ TK_void = 39,
TK_volatile = 8,
TK_while = 92,
- TK__Bool = 38,
- TK__Complex = 39,
- TK__Imaginary = 40,
+ TK__Bool = 40,
+ TK__Complex = 41,
+ TK__Imaginary = 42,
TK_integer = 23,
TK_floating = 24,
TK_charconst = 25,
@@ -60,23 +60,23 @@ public interface C99NoCastExpressionParsersym {
TK_Completion = 3,
TK_EndOfCompletion = 5,
TK_Invalid = 93,
- TK_LeftBracket = 10,
+ TK_LeftBracket = 9,
TK_LeftParen = 2,
- TK_LeftBrace = 19,
+ TK_LeftBrace = 13,
TK_Dot = 52,
TK_Arrow = 67,
- TK_PlusPlus = 20,
- TK_MinusMinus = 21,
- TK_And = 18,
+ TK_PlusPlus = 15,
+ TK_MinusMinus = 16,
+ TK_And = 14,
TK_Star = 4,
- TK_Plus = 11,
- TK_Minus = 12,
+ TK_Plus = 10,
+ TK_Minus = 11,
TK_Tilde = 27,
TK_Bang = 28,
TK_Slash = 53,
TK_Percent = 54,
- TK_RightShift = 48,
- TK_LeftShift = 49,
+ TK_RightShift = 47,
+ TK_LeftShift = 48,
TK_LT = 55,
TK_GT = 56,
TK_LE = 57,
@@ -89,7 +89,7 @@ public interface C99NoCastExpressionParsersym {
TK_OrOr = 68,
TK_Question = 69,
TK_Colon = 59,
- TK_DotDotDot = 50,
+ TK_DotDotDot = 49,
TK_Assign = 60,
TK_StarAssign = 70,
TK_SlashAssign = 71,
@@ -101,12 +101,12 @@ public interface C99NoCastExpressionParsersym {
TK_AndAssign = 77,
TK_CaretAssign = 78,
TK_OrAssign = 79,
- TK_Comma = 46,
- TK_RightBracket = 51,
- TK_RightParen = 41,
- TK_RightBrace = 42,
+ TK_Comma = 30,
+ TK_RightBracket = 50,
+ TK_RightParen = 29,
+ TK_RightBrace = 43,
TK_SemiColon = 66,
- TK_ERROR_TOKEN = 47,
+ TK_ERROR_TOKEN = 51,
TK_EOF_TOKEN = 80;
public final static String orderedTerminalSymbols[] = {
@@ -119,26 +119,28 @@ public interface C99NoCastExpressionParsersym {
"const",
"restrict",
"volatile",
- "static",
"LeftBracket",
"Plus",
"Minus",
+ "static",
+ "LeftBrace",
+ "And",
+ "PlusPlus",
+ "MinusMinus",
"auto",
"extern",
"inline",
"register",
- "typedef",
- "And",
- "LeftBrace",
- "PlusPlus",
- "MinusMinus",
"sizeof",
+ "typedef",
"integer",
"floating",
"charconst",
"stringlit",
"Tilde",
"Bang",
+ "RightParen",
+ "Comma",
"char",
"double",
"float",
@@ -151,17 +153,15 @@ public interface C99NoCastExpressionParsersym {
"_Bool",
"_Complex",
"_Imaginary",
- "RightParen",
"RightBrace",
"enum",
"struct",
"union",
- "Comma",
- "ERROR_TOKEN",
"RightShift",
"LeftShift",
"DotDotDot",
"RightBracket",
+ "ERROR_TOKEN",
"Dot",
"Slash",
"Percent",
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 480c234eef..5b123b462f 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
@@ -591,7 +591,7 @@ public C99Parser(String[] mapFrom) { // constructor
}
//
- // Rule 101: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 101: labeled_statement ::= identifier_token : statement
//
case 101: { action. consumeStatementLabeled(); break;
}
@@ -687,7 +687,7 @@ public C99Parser(String[] mapFrom) { // constructor
}
//
- // Rule 121: jump_statement ::= goto identifier_or_typedefname ;
+ // Rule 121: jump_statement ::= goto identifier_token ;
//
case 121: { action. consumeStatementGoto(); break;
}
@@ -789,483 +789,471 @@ public C99Parser(String[] mapFrom) { // constructor
}
//
- // Rule 182: struct_or_union_specifier ::= struct { <openscope-ast> struct_declaration_list_opt }
+ // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 182: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 183: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // Rule 183: 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 183: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 183: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 184: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 188: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 185: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 189: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 189: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 186: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 190: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 190: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 187: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 196: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 196: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 188: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 197: struct_declaration ::= specifier_qualifier_list ;
//
- case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 197: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 198: struct_declaration ::= ERROR_TOKEN
//
- case 193: { action. consumeStructDeclaration(true); break;
+ case 198: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 204: struct_declarator ::= : constant_expression
//
- case 194: { action. consumeStructDeclaration(false); break;
+ case 204: { action. consumeBitField(false); break;
}
//
- // Rule 195: struct_declaration ::= ERROR_TOKEN
+ // Rule 205: struct_declarator ::= declarator : constant_expression
//
- case 195: { action. consumeDeclarationProblem(); break;
+ case 205: { action. consumeBitField(true); break;
}
//
- // Rule 201: struct_declarator ::= : constant_expression
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(false); break;
+ case 206: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 202: struct_declarator ::= declarator : constant_expression
+ // Rule 207: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 202: { action. consumeBitField(true); break;
+ case 207: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 203: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 213: enumerator ::= identifier_token
//
- case 203: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 213: { action. consumeEnumerator(false); break;
}
//
- // Rule 204: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 214: enumerator ::= identifier_token = constant_expression
//
- case 204: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 214: { action. consumeEnumerator(true); break;
}
//
- // Rule 209: enumerator ::= identifier_or_typedefname
+ // Rule 215: type_qualifier ::= type_qualifier_token
//
- case 209: { action. consumeEnumerator(false); break;
- }
-
- //
- // Rule 210: enumerator ::= identifier_or_typedefname = constant_expression
- //
- case 210: { action. consumeEnumerator(true); break;
- }
-
- //
- // Rule 211: type_qualifier ::= type_qualifier_token
- //
- case 211: { action. consumeDeclSpecToken(); break;
+ case 215: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 215: function_specifier ::= inline
+ // Rule 219: function_specifier ::= inline
//
- case 215: { action. consumeDeclSpecToken(); break;
+ case 219: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 221: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 217: { action. consumeDeclaratorWithPointer(true); break;
+ case 221: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 222: basic_direct_declarator ::= declarator_id_name
+ // Rule 226: basic_direct_declarator ::= declarator_id_name
//
- case 222: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 226: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 223: basic_direct_declarator ::= ( declarator )
+ // Rule 227: basic_direct_declarator ::= ( declarator )
//
- case 223: { action. consumeDirectDeclaratorBracketed(); break;
+ case 227: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 224: declarator_id_name ::= identifier
+ // Rule 228: declarator_id_name ::= identifier
//
- case 224: { action. consumeIdentifierName(); break;
+ case 228: { action. consumeIdentifierName(); break;
}
//
- // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 229: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 230: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 230: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 233: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 233: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 235: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 231: { action. consumeDeclaratorWithPointer(true); break;
+ case 235: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 236: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 236: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 238: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 234: { action. consumeDeclaratorWithPointer(true); break;
+ case 238: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 235: identifier_list ::= identifier
+ // Rule 239: identifier_list ::= identifier
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 236: identifier_list ::= identifier_list , identifier
+ // Rule 240: identifier_list ::= identifier_list , identifier
//
- case 236: { action. consumeIdentifierKnR(); break;
+ case 240: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 237: array_modifier ::= [ ]
+ // Rule 241: array_modifier ::= [ ]
//
- case 237: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 241: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 239: array_modifier ::= [ assignment_expression ]
+ // Rule 243: array_modifier ::= [ assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 243: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 241: array_modifier ::= [ static assignment_expression ]
+ // Rule 245: array_modifier ::= [ static assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 246: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 244: array_modifier ::= [ * ]
+ // Rule 248: array_modifier ::= [ * ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 249: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 249: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 247: pointer_seq ::= *
+ // Rule 251: pointer_seq ::= pointer_hook *
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointer(); break;
}
//
- // Rule 248: pointer_seq ::= pointer_seq *
+ // Rule 252: pointer_seq ::= pointer_seq pointer_hook *
//
- case 248: { action. consumePointer(); break;
+ case 252: { action. consumePointer(); break;
}
//
- // Rule 249: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 253: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 253: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 254: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
//
- case 250: { action. consumePointerTypeQualifierList(); break;
+ case 254: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list
+ // Rule 258: parameter_type_list ::= parameter_list
//
- case 253: { action. consumeEmpty(); break;
+ case 258: { action. consumeEmpty(); break;
}
//
- // Rule 254: parameter_type_list ::= parameter_list , ...
+ // Rule 259: parameter_type_list ::= parameter_list , ...
//
- case 254: { action. consumePlaceHolder(); break;
+ case 259: { action. consumePlaceHolder(); break;
}
//
- // Rule 255: parameter_type_list ::= ...
+ // Rule 260: parameter_type_list ::= ...
//
- case 255: { action. consumePlaceHolder(); break;
+ case 260: { action. consumePlaceHolder(); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 263: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 258: { action. consumeParameterDeclaration(); break;
+ case 263: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 259: parameter_declaration ::= declaration_specifiers
+ // Rule 264: parameter_declaration ::= declaration_specifiers
//
- case 259: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 264: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list
+ // Rule 267: type_name ::= specifier_qualifier_list
//
- case 262: { action. consumeTypeId(false); break;
+ case 267: { action. consumeTypeId(false); break;
}
//
- // Rule 263: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 268: type_name ::= specifier_qualifier_list abstract_declarator
//
- case 263: { action. consumeTypeId(true); break;
+ case 268: { action. consumeTypeId(true); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 270: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 271: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 266: { action. consumeDeclaratorWithPointer(false); break;
+ case 271: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 270: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 275: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 270: { action. consumeDirectDeclaratorBracketed(); break;
+ case 275: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= array_modifier
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 277: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 278: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 278: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 274: function_direct_abstract_declarator ::= ( )
+ // Rule 279: function_direct_abstract_declarator ::= ( )
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 281: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 282: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 282: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 278: initializer ::= assignment_expression
+ // Rule 283: initializer ::= assignment_expression
//
- case 278: { action. consumeInitializer(); break;
+ case 283: { action. consumeInitializer(); break;
}
//
- // Rule 279: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 284: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
- case 279: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 280: initializer ::= { <openscope-ast> }
+ // Rule 285: initializer ::= { <openscope-ast> }
//
- case 280: { action. consumeInitializerList(); break;
+ case 285: { action. consumeInitializerList(); break;
}
//
- // Rule 281: start_initializer_list ::= $Empty
+ // Rule 286: start_initializer_list ::= $Empty
//
- case 281: { action. initializerListStart(); break;
+ case 286: { action. initializerListStart(); break;
}
//
- // Rule 282: end_initializer_list ::= $Empty
+ // Rule 287: end_initializer_list ::= $Empty
//
- case 282: { action. initializerListEnd(); break;
+ case 287: { action. initializerListEnd(); break;
}
//
- // Rule 287: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 287: { action. consumeInitializerDesignated(); break;
+ case 292: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 291: designator_base ::= [ constant_expression ]
+ // Rule 296: designator_base ::= [ constant_expression ]
//
- case 291: { action. consumeDesignatorArray(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 292: designator_base ::= . identifier_or_typedefname
+ // Rule 297: designator_base ::= . identifier_token
//
- case 292: { action. consumeDesignatorField(); break;
+ case 297: { action. consumeDesignatorField(); break;
}
//
- // Rule 293: designator ::= [ constant_expression ]
+ // Rule 298: designator ::= [ constant_expression ]
//
- case 293: { action. consumeDesignatorArray(); break;
+ case 298: { action. consumeDesignatorArray(); break;
}
//
- // Rule 294: designator ::= . identifier_or_typedefname
+ // Rule 299: designator ::= . identifier_token
//
- case 294: { action. consumeDesignatorField(); break;
+ case 299: { action. consumeDesignatorField(); break;
}
//
- // Rule 295: translation_unit ::= external_declaration_list
+ // Rule 300: translation_unit ::= external_declaration_list
//
- case 295: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 296: translation_unit ::= $Empty
+ // Rule 301: translation_unit ::= $Empty
//
- case 296: { action. consumeTranslationUnit(); break;
+ case 301: { action. consumeTranslationUnit(); break;
}
//
- // Rule 301: external_declaration ::= ;
+ // Rule 306: external_declaration ::= ;
//
- case 301: { action. consumeDeclarationEmpty(); break;
+ case 306: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 302: external_declaration ::= ERROR_TOKEN
+ // Rule 307: external_declaration ::= ERROR_TOKEN
//
- case 302: { action. consumeDeclarationProblem(); break;
+ case 307: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 305: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 305: { action. consumeFunctionDefinition(true); break;
+ case 310: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 306: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 306: { action. consumeFunctionDefinition(false); break;
+ case 311: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 307: 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 307: { action. consumeFunctionDefinitionKnR(); break;
+ case 312: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 308: function_body ::= { }
+ // Rule 313: function_body ::= { }
//
- case 308: { action. consumeStatementCompoundStatement(false); break;
+ case 313: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 309: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 314: function_body ::= { <openscope-ast> block_item_list }
//
- case 309: { action. consumeStatementCompoundStatement(true); break;
+ case 314: { 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 8a2a7a91c4..f877cc39a8 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
@@ -52,208 +52,210 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
1,2,2,1,3,1,3,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5,5,6,6,2,2,2,1,0,
- 1,2,4,2,1,1,1,3,1,1,
- 2,3,6,7,1,0,1,3,1,3,
- 1,1,1,1,1,1,3,1,1,1,
- 1,1,3,1,2,2,1,5,3,1,
- 3,5,1,3,1,3,2,4,3,5,
- 4,6,6,3,5,1,1,2,3,4,
- 1,2,1,3,1,1,3,2,1,1,
- 1,1,2,1,2,3,1,1,1,3,
- 1,2,2,2,3,4,5,1,7,3,
- 0,0,1,1,3,3,4,1,1,2,
- 3,2,3,2,1,0,1,2,1,1,
- 1,1,1,2,4,3,6,2,4,-75,
- -2,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-32,0,0,-18,
- 0,-19,-118,0,0,0,-3,0,-192,-22,
+ 1,6,8,0,0,1,1,3,3,3,
+ 0,1,0,1,2,4,2,1,1,1,
+ 3,1,1,2,3,7,8,0,1,0,
+ 1,3,1,3,1,1,1,1,1,1,
+ 3,1,1,1,1,1,3,1,2,2,
+ 1,5,3,1,3,5,1,3,1,3,
+ 2,4,3,5,4,6,6,3,5,1,
+ 2,3,4,5,0,1,2,1,3,1,
+ 1,3,2,1,1,1,1,2,1,2,
+ 3,1,1,1,3,1,2,2,2,3,
+ 4,5,1,7,3,0,0,1,1,3,
+ 3,4,1,1,2,3,2,3,2,1,
+ 0,1,2,1,1,1,1,1,2,4,
+ 3,6,2,4,-73,-30,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-6,0,0,-22,0,0,-23,0,0,
+ 0,-261,-9,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-95,-28,0,0,0,0,0,
- 0,0,0,0,0,0,-21,0,0,0,
- 0,0,0,0,0,0,0,-24,0,0,
- 0,0,0,0,-4,0,-27,0,-6,0,
- 0,0,0,0,-23,0,0,0,0,0,
- -38,0,0,-25,0,0,0,0,0,0,
- 0,-188,-39,0,0,0,0,0,0,0,
- 0,0,0,0,0,-245,0,0,0,0,
+ 0,-32,0,0,0,0,-86,-2,0,0,
+ 0,0,0,-3,0,0,0,-19,0,-34,
+ 0,-120,0,-37,0,0,0,0,0,-18,
+ 0,-20,0,0,0,0,0,0,0,0,
+ 0,0,0,-33,-142,0,0,0,0,0,
+ 0,0,-173,-147,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-10,0,0,-11,0,-270,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-41,
- -53,0,0,0,0,0,0,0,0,0,
+ -36,0,0,0,0,0,0,0,-29,0,
+ 0,0,0,0,0,0,0,-242,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-189,-64,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-50,0,0,
+ -272,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-43,0,0,
+ 0,-38,0,-275,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-146,-13,0,0,0,-190,-65,0,0,
+ 0,0,0,-11,0,0,-186,-39,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-34,0,0,0,0,-67,0,-273,0,
+ 0,0,0,0,-14,0,0,0,0,-70,
+ -82,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-57,0,
+ 0,0,-51,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-16,0,0,-284,0,
+ 0,0,0,-171,0,0,0,0,0,0,
+ 0,0,0,0,-238,0,0,-68,0,0,
+ -55,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-30,0,0,0,0,
- 0,-66,0,-115,-187,0,0,0,0,0,
+ 0,-286,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-37,0,-68,0,0,0,0,0,
- 0,0,0,0,0,0,0,-26,0,0,
- 0,-29,0,-172,0,0,-90,0,0,0,
+ 0,-35,0,0,-108,0,-81,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-126,0,0,0,
+ 0,0,0,0,0,0,-24,0,0,0,
+ 0,-182,-41,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-44,0,0,0,-46,
+ 0,-45,0,0,0,0,-172,-47,0,0,
+ 0,0,0,0,0,0,0,-93,0,0,
+ 0,0,0,0,0,0,0,0,0,-48,
+ 0,-12,0,0,0,0,0,0,-118,-62,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-71,0,0,-152,0,0,0,
+ 0,0,0,0,0,-25,0,0,-208,-146,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-79,0,0,-72,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-36,0,0,0,-31,0,0,
- -261,-283,0,0,0,0,0,0,0,0,
+ -183,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-63,-148,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-197,0,-73,0,-35,0,
- 0,-74,0,-84,0,-100,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-85,
- 0,-93,0,0,0,0,0,0,-145,-104,
+ 0,0,0,0,-65,0,0,0,-177,0,
+ 0,0,0,0,0,0,0,0,0,-149,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-154,0,
+ 0,0,0,0,0,0,0,0,0,-26,
+ -150,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-27,0,0,
+ 0,-151,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-181,0,
+ 0,-61,-152,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-277,
+ 0,0,0,-153,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-155,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-91,0,
- 0,-156,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-151,0,
- 0,-157,0,0,0,0,0,0,0,0,
+ 0,0,0,-145,-154,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-158,0,0,0,0,0,0,0,0,
+ 0,-66,0,0,-213,-155,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-159,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-216,0,
- 0,-160,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-224,0,
- 0,-161,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-221,-156,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-162,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-254,-157,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-163,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-105,0,
- 0,-164,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-106,0,
- 0,-208,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-149,0,
- 0,-210,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-40,0,
- 0,-214,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-107,0,
- 0,-182,0,0,0,0,0,0,0,0,
- 0,0,0,-108,-215,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-288,-158,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-253,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-202,
0,0,0,0,0,0,0,0,0,0,
- 0,-165,0,0,-276,-109,0,0,0,0,
+ 0,0,0,0,0,0,-134,0,0,-69,
+ -207,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-106,0,0,
+ -211,-164,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-257,0,0,-96,0,0,0,0,0,
- 0,0,-142,0,-43,0,-77,-287,0,0,
+ 0,-175,0,0,0,0,0,0,0,0,
+ 0,0,0,-212,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-170,0,0,-102,0,0,
- 0,0,0,0,-42,0,0,-110,-33,0,
+ -71,0,0,-74,-251,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-88,0,0,-61,0,0,-62,-59,
+ 0,-84,0,0,-271,-95,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -70,0,0,-116,0,0,0,0,0,0,
- 0,0,0,0,-52,0,-111,0,0,0,
- 0,0,0,0,0,0,0,0,-241,0,
- -112,-47,-244,0,-69,0,0,0,0,-113,
- 0,0,0,0,0,0,0,0,0,-78,
- 0,0,0,0,0,-125,0,-148,0,0,
- 0,0,0,-63,-133,0,0,-45,0,0,
- 0,0,0,0,0,0,0,0,-195,0,
+ 0,0,0,0,-176,-96,0,0,0,0,
+ 0,0,0,0,0,0,-279,-278,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-97,0,0,-289,0,0,
0,0,0,0,0,0,0,0,0,0,
- -171,-179,0,0,0,0,0,0,0,0,
- 0,0,-200,0,-166,0,0,0,0,0,
- 0,0,0,0,-129,0,-114,0,0,0,
- -206,0,0,0,0,0,0,0,0,0,
- -20,0,-48,0,0,-15,-117,0,-50,-120,
- 0,0,0,0,-122,0,0,-277,0,0,
- 0,0,0,0,0,0,0,-80,0,-127,
- 0,0,0,0,0,-123,0,0,0,0,
- -124,0,0,0,0,-87,0,-131,0,0,
- 0,0,0,0,0,0,-83,-153,-97,0,
- 0,0,0,0,0,0,0,0,0,-8,
- 0,0,-60,0,0,0,0,0,0,0,
- -134,0,0,0,0,0,0,-49,0,0,
- -82,0,0,0,0,0,-130,0,0,0,
- 0,-196,0,-136,0,-137,0,0,0,0,
+ 0,0,0,0,-98,0,0,-94,-99,0,
+ 0,0,0,0,-42,0,-59,-166,0,-60,
+ -178,0,0,0,0,0,0,0,0,0,
+ 0,0,-209,0,0,0,0,0,0,-57,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-141,0,0,0,0,-265,-44,0,
- 0,0,0,0,0,0,0,0,0,-135,
- -207,0,0,0,0,-138,0,0,0,0,
- -139,0,-119,0,0,-140,0,0,0,-147,
- 0,-103,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-193,-248,0,-183,
+ -76,0,-107,0,-78,0,0,0,0,0,
+ 0,0,-67,0,-58,0,-17,0,0,0,
+ 0,0,0,0,0,-117,-5,0,-255,0,
+ 0,0,-119,0,0,0,0,-100,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-203,0,-243,0,0,0,0,
- -250,0,0,0,-254,0,0,0,0,0,
- 0,0,0,-55,0,-199,0,0,0,-275,
- 0,0,0,-251,0,-201,-143,0,0,0,
+ 0,-125,0,-138,0,-165,0,0,0,0,
+ 0,0,0,-111,0,-189,0,0,0,0,
+ -101,0,0,0,0,0,-191,0,0,0,
+ 0,0,0,0,0,0,0,-179,0,0,
+ 0,0,0,0,0,0,0,0,0,-205,
+ 0,0,0,0,-285,-265,-102,0,0,0,
+ 0,0,-103,-121,0,-257,0,0,-200,0,
+ 0,0,0,0,0,0,-21,0,-104,0,
+ 0,-16,0,0,-105,0,-133,0,0,0,
+ 0,0,0,-143,0,0,0,0,0,0,
+ 0,0,0,0,-49,0,0,0,-8,0,
+ -109,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-28,-159,0,0,
+ 0,0,0,0,0,-193,0,0,-256,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-281,0,0,-144,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-54,0,0,-211,0,-288,
- 0,-198,-202,-194,0,0,0,0,0,0,
- 0,0,-256,0,-204,0,0,0,-213,0,
- -225,0,-292,0,-56,0,0,0,0,0,
- 0,0,0,0,0,-252,0,0,0,0,
- -205,-255,0,-226,0,-9,-17,0,0,0,
+ 0,0,0,0,0,-112,0,-241,-114,0,
+ 0,0,0,0,-115,-116,-180,0,0,0,
+ 0,0,0,0,0,0,0,-187,-184,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-219,
+ 0,0,0,0,0,0,-160,0,-188,0,
+ 0,0,0,0,-64,0,-91,-196,0,0,
+ 0,0,0,0,0,0,0,0,-198,0,
+ -122,0,-192,0,0,0,-126,0,-53,0,
+ 0,-31,0,0,0,0,0,0,0,0,
+ -127,0,-130,0,0,0,0,0,-128,0,
+ -129,0,0,-195,0,0,0,0,0,0,
+ 0,0,-131,0,-79,0,-132,-139,0,0,
+ 0,0,-140,-197,-243,0,0,0,0,0,
+ 0,0,0,0,0,-40,0,0,0,0,
+ 0,0,0,0,0,0,-75,0,-201,0,
+ -210,-181,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-204,0,0,0,
+ 0,-123,0,-194,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-161,0,0,0,
+ -199,0,-287,0,0,-245,0,-206,0,0,
+ 0,0,0,0,0,-4,0,-264,0,0,
+ 0,0,0,0,-218,0,0,-222,0,-247,
+ 0,-223,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-284,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -227,0,-228,0,0,0,0,0,0,0,
- 0,-209,0,0,0,0,-184,0,0,0,
- 0,0,0,0,0,0,0,-212,0,0,
- 0,-185,-229,0,0,0,0,0,0,0,
- 0,0,0,-221,-230,-1,0,-7,-272,0,
- 0,-186,-231,0,0,0,0,0,0,0,
- 0,0,0,0,-220,0,-222,0,0,-5,
- 0,-264,0,0,-177,-51,0,0,0,0,
- 0,0,0,0,0,-232,0,-58,0,-233,
- 0,0,0,-234,0,0,0,0,-178,-290,
+ 0,0,0,0,0,-224,-249,-248,0,-225,
+ -136,0,0,0,0,-174,-226,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-283,
+ 0,-1,0,-219,0,0,0,0,0,0,
+ 0,0,0,-220,-239,-227,0,0,0,0,
+ 0,-290,0,0,-263,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-124,
+ 0,0,0,-294,0,-54,0,0,0,0,
+ 0,0,0,0,0,0,0,-270,0,0,
+ 0,-268,-250,0,0,-77,0,0,-228,-273,
+ -137,0,0,0,0,0,0,0,0,0,
+ -56,0,0,0,0,-7,0,0,0,0,
+ 0,0,0,0,0,0,-280,0,-229,0,
+ 0,0,0,-230,0,0,-190,0,-231,0,
+ 0,0,-167,0,-217,0,0,0,0,0,
+ 0,0,0,0,0,0,-240,0,-291,0,
+ 0,-267,0,0,0,0,0,0,-214,0,
0,0,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,-235,0,0,
- 0,0,-167,0,-236,0,0,0,-237,0,
- -246,0,-238,-285,-86,0,0,-180,0,0,
- 0,0,0,0,0,0,-12,0,-217,0,
- 0,0,0,0,0,0,0,-14,-239,0,
- 0,-46,0,-76,0,-132,0,0,-81,0,
- -291,0,0,0,-89,0,-240,0,0,0,
- 0,0,0,0,0,0,0,-223,0,-94,
- 0,0,0,0,0,0,0,0,-242,0,
- 0,-267,-263,-259,0,0,0,0,-260,0,
- 0,0,0,0,-269,0,0,-274,0,0,
- 0,0,0,0,0,0,0,0,-280,0,
- 0,0,0,-247,0,0,0,0,0,0,
- 0,0,0,0,-98,0,0,0,0,0,
- 0,0,-99,0,0,0,0,0,0,0,
- 0,0,-282,0,0,-268,-101,0,0,0,
- 0,0,0,0,-128,0,-168,0,-271,-121,
- 0,0,0,0,0,0,0,-169,0,0,
- -150,-173,0,0,0,-286,0,0,0,0,
- 0,0,0,0,0,-278,0,0,-289,0,
- 0,0,-262,0,0,0,0,0,0,-174,
+ 0,0,-232,0,0,0,-258,0,0,0,
+ 0,-141,-233,-234,0,0,0,-235,-10,0,
+ 0,0,0,0,0,-13,-236,0,-237,0,
+ 0,-15,0,-252,-80,0,0,0,-72,0,
+ 0,0,0,0,0,-216,0,-259,-253,-260,
+ 0,0,-83,-135,0,0,0,0,0,0,
+ -269,-274,0,-276,-85,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-175,0,
- 0,0,0,0,0,0,-176,0,0,0,
- 0,0,0,0,0,-218,0,0,0,0,
- 0,0,0,-258,0,0,0,0,-191,0,
- -266,0,-279,0,-249,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-282,-292,-293,0,0,0,0,
+ 0,-87,0,0,0,0,0,0,0,-88,
+ 0,0,0,0,0,0,0,0,-89,0,
+ 0,0,0,0,0,0,-90,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-162,0,0,-92,0,0,0,0,
+ 0,0,0,-113,0,0,0,0,0,0,
+ 0,0,0,-163,0,0,0,0,-168,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-203,0,0,0,0,-169,
+ 0,0,0,0,0,0,0,0,-170,0,
+ 0,0,0,0,0,0,-144,-215,0,0,
+ 0,0,0,0,0,0,-244,0,0,0,
+ -52,0,-262,0,0,-110,0,0,-266,0,
+ 0,0,0,0,-281,0,0,-185,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-246,0,0,0,0,0,0,
+ 0,0,0,0,0,0,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;
@@ -263,228 +265,231 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface BaseAction {
public final static char baseAction[] = {
- 103,1,40,40,24,24,36,36,17,17,
+ 106,1,39,39,23,23,41,41,17,17,
2,2,2,2,3,3,3,4,4,5,
- 5,5,5,5,5,5,5,68,68,89,
- 89,6,6,6,6,6,6,6,6,6,
+ 5,5,5,5,5,5,5,68,68,90,
+ 90,6,6,6,6,6,6,6,6,6,
6,6,7,7,8,8,8,8,9,9,
9,10,10,10,11,11,11,11,11,12,
12,12,13,13,14,14,15,15,16,16,
- 18,18,19,19,21,21,21,21,21,21,
- 21,21,21,21,21,21,29,27,20,104,
- 104,91,91,54,30,30,30,30,30,30,
- 30,31,31,31,28,28,92,92,69,69,
- 32,32,33,33,33,60,60,34,34,34,
- 34,35,35,35,35,35,46,46,23,23,
- 23,23,23,47,47,47,84,84,79,79,
- 79,79,80,80,80,81,81,81,82,82,
- 82,83,83,83,93,93,85,85,86,48,
- 50,50,50,50,50,61,63,63,63,63,
- 63,63,63,63,63,63,63,63,73,73,
- 22,22,70,70,70,70,71,71,71,74,
- 74,75,75,64,64,64,52,105,105,94,
- 95,95,95,72,72,96,96,97,97,87,
- 87,25,26,26,26,49,51,51,41,41,
- 41,41,37,37,38,42,42,43,39,39,
- 98,98,44,107,107,106,106,45,45,45,
- 45,45,45,45,45,45,99,53,53,53,
- 53,76,76,65,65,65,66,66,55,55,
- 108,108,78,78,77,77,77,56,56,56,
- 57,58,58,58,59,59,59,59,62,62,
- 62,67,109,90,90,90,90,88,110,111,
- 111,112,112,113,113,103,103,114,114,100,
- 100,100,100,115,115,101,101,101,102,102,
- 287,397,14,19,15,800,792,44,1029,1109,
- 1049,1166,1124,1277,1228,1300,1291,415,1387,74,
- 291,91,839,1130,714,134,211,1220,586,448,
- 553,14,19,15,800,42,44,1029,1109,1049,
- 1166,1124,1277,1228,1300,1937,772,136,133,135,
- 159,307,134,211,1572,724,14,19,15,800,
- 40,138,225,165,332,222,230,826,1225,304,
- 142,145,148,151,136,133,135,159,735,1798,
- 1470,1716,1907,1918,1406,774,1401,823,138,504,
- 165,1546,332,222,231,173,1529,142,145,148,
- 151,560,126,308,173,1922,1798,1470,1716,1907,
- 1918,1406,448,1010,14,19,15,800,42,44,
- 1029,1109,1049,1166,1885,399,1496,1528,14,19,
- 15,800,792,44,1029,1109,1049,1166,1124,1277,
- 1228,1300,1291,508,1387,74,713,278,1515,1528,
- 14,19,15,800,792,44,1029,1109,1049,1166,
- 1124,1277,1228,1300,1291,340,1387,74,388,278,
- 493,1345,1862,14,19,15,800,792,44,1029,
- 1109,1049,1166,1124,1277,1228,1300,1291,283,1387,
- 74,306,869,1410,448,949,14,19,15,800,
- 42,44,1029,1109,1049,1166,1124,1277,1228,1889,
- 283,237,891,717,284,1410,1822,448,1059,14,
- 19,15,800,42,44,1029,1109,1049,1166,1124,
- 1277,1893,834,1665,774,397,284,1140,2023,1411,
- 1528,14,19,15,800,792,44,1029,1109,1049,
- 1166,1124,1277,1228,1300,1291,229,1387,74,1388,
- 278,14,19,15,800,792,44,1029,1109,1049,
- 1166,1124,1277,1228,1300,1291,334,1387,74,1534,
- 278,14,19,15,800,792,44,1029,1109,1049,
- 1166,1124,1277,1228,1300,1291,727,1387,74,208,
- 278,285,473,677,727,448,1410,14,19,15,
- 800,42,44,1029,1109,1049,1166,1124,1878,110,
- 223,157,86,337,767,1141,1410,286,228,365,
- 95,1295,1497,94,96,97,98,99,173,1292,
- 127,287,549,1409,937,677,1410,1553,2051,14,
- 19,15,800,792,44,1029,1109,1049,1166,1124,
- 1277,1228,1300,1291,89,1387,74,448,889,14,
- 19,15,800,792,44,1029,1109,1049,1166,1124,
- 1277,1228,1300,1291,521,1387,74,1369,91,14,
- 19,15,800,792,44,1029,1109,1049,1166,1124,
- 1277,1228,1300,1291,1263,1387,74,448,949,14,
- 19,15,800,42,44,1029,1109,1049,1166,1124,
- 1277,1228,1300,1291,504,1387,93,238,334,134,
- 211,448,309,14,19,15,800,42,44,1029,
- 1109,1049,1166,1124,1277,1228,1300,1291,1948,1387,
- 73,136,133,135,159,1195,714,686,1546,173,
- 1614,1540,774,1506,966,138,1435,165,14,19,
- 15,800,42,35,142,145,148,151,1264,126,
- 676,1826,1597,1798,1470,1716,1907,1918,1406,448,
- 496,14,19,15,800,42,44,1029,1109,1049,
- 1166,1124,1277,1228,1300,1291,244,1387,93,448,
- 257,14,19,15,800,792,44,1029,1109,1049,
- 1166,1124,1277,1228,1300,1291,305,1387,74,448,
- 85,14,19,15,800,42,44,1029,1109,1049,
- 1783,279,448,210,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,878,
- 1387,74,448,84,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,878,
- 1387,74,448,83,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,239,
- 1387,74,448,82,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,241,
- 1387,74,448,81,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,878,
- 1387,74,448,80,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,878,
- 1387,74,448,79,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,240,
- 1387,74,448,78,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,20,
- 1387,74,448,77,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,556,
- 1387,74,448,76,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,877,
- 1387,74,448,75,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,611,
- 1387,74,448,92,14,19,15,800,42,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,334,
- 1387,93,448,232,14,19,15,800,792,44,
- 1029,1109,1049,1166,1124,1277,1228,1300,1291,768,
- 1387,74,448,1605,14,19,15,800,42,44,
- 1029,1109,1049,1795,989,448,201,14,19,15,
- 800,792,44,1029,1109,1049,1166,1124,1277,1228,
- 1300,1291,1838,1387,74,448,1712,14,19,15,
- 800,42,44,1029,1109,1049,1166,1124,1277,1228,
- 1300,1291,727,1387,93,448,494,14,19,15,
- 800,42,44,1029,1109,1049,1166,1124,1277,1228,
- 1300,1291,780,1387,93,448,2116,14,19,15,
- 800,42,39,771,738,173,1924,881,448,202,
- 14,19,15,800,42,44,1029,1109,1049,1166,
- 1124,1277,1228,1300,1291,944,1387,93,1591,1894,
- 14,19,15,800,33,175,310,271,636,338,
- 327,222,227,183,216,1229,219,221,266,1577,
- 1674,269,110,824,1668,86,884,767,772,884,
- 1,310,1931,95,1295,108,94,96,97,98,
- 99,826,1325,123,331,1502,122,110,252,211,
- 86,109,767,772,226,834,1935,352,95,1295,
- 108,94,96,97,98,99,309,197,199,834,
- 2073,360,442,388,106,884,109,104,1762,229,
- 911,327,222,227,23,216,1229,219,221,271,
- 774,1193,111,275,774,260,884,1250,879,107,
- 264,1577,1674,269,891,231,310,194,173,1929,
- 327,222,227,125,217,1229,219,221,271,499,
- 1596,261,110,252,211,86,1430,767,772,266,
- 1577,1674,269,95,1295,108,94,96,97,98,
- 99,944,448,274,14,19,15,800,42,44,
- 1751,109,258,609,677,727,327,222,227,207,
- 216,1229,219,221,271,173,677,851,1457,790,
- 606,117,310,87,106,264,1577,1674,269,16,
- 115,467,1089,173,1895,87,1263,1050,110,769,
- 1145,86,1673,767,772,603,1959,1391,548,95,
- 1295,108,94,96,97,98,99,105,1134,714,
- 884,134,211,1891,251,211,1173,109,327,222,
- 423,59,216,1229,219,480,769,121,173,677,
- 22,196,158,137,133,135,159,57,934,448,
- 107,14,19,15,800,42,38,139,87,165,
- 330,251,211,774,677,1685,143,146,149,152,
- 1310,528,677,252,211,1243,154,411,659,1446,
- 124,881,192,87,633,134,211,1070,110,734,
- 1316,86,334,767,583,677,467,738,769,95,
- 1295,103,94,96,97,98,99,144,133,135,
- 159,110,1318,881,86,1650,767,182,326,1005,
- 714,290,95,1295,101,94,96,97,98,99,
- 961,638,677,327,222,227,1184,216,1229,219,
- 221,1610,196,173,1672,1293,1620,158,110,185,
- 57,86,1591,767,14,19,15,800,32,95,
- 1295,102,94,96,97,98,99,946,693,677,
- 448,1310,14,19,15,800,42,44,1029,1109,
- 1803,154,411,191,1186,110,1185,714,86,633,
- 767,748,677,1197,1428,878,95,1295,118,94,
- 96,97,98,99,173,714,173,436,110,1264,
- 891,86,273,767,803,677,884,881,1778,95,
- 1295,114,94,96,97,98,99,772,1978,1418,
- 289,110,292,1994,86,242,767,858,677,1293,
- 881,256,95,1295,1975,94,96,97,98,99,
- 303,1963,1407,184,110,886,714,86,1271,767,
- 913,677,881,727,1216,95,1295,113,94,96,
- 97,98,99,173,458,727,203,110,1264,1192,
- 86,987,767,968,677,467,738,1578,95,1295,
- 120,94,96,97,98,99,771,738,280,1601,
- 110,727,878,86,991,767,386,467,738,272,
- 256,95,1295,119,94,96,97,98,99,333,
- 614,1407,327,222,227,1624,216,1229,219,221,
- 334,134,211,327,222,227,158,216,1229,219,
- 221,822,243,828,327,222,227,1668,216,1229,
- 219,221,779,147,133,135,159,448,606,14,
- 19,15,800,42,44,1029,1109,1836,881,193,
- 155,411,448,547,14,19,15,800,42,44,
- 1029,1109,1840,1182,727,602,343,337,1302,881,
- 198,199,448,992,14,19,15,800,42,44,
- 1029,1109,1844,301,204,606,2124,727,1964,395,
- 399,337,1306,134,211,448,724,14,19,15,
- 800,42,44,1029,1691,742,1003,301,724,274,
- 1044,1969,300,395,1087,141,133,135,159,448,
- 881,14,19,15,800,42,44,1029,1714,140,
- 271,165,769,327,222,227,300,217,1229,219,
- 221,264,1577,1674,269,327,222,1436,666,217,
- 1229,219,1415,728,1740,1023,26,251,211,1147,
- 1799,884,1959,691,878,442,297,299,448,311,
- 14,19,15,800,42,44,1753,1671,2131,1435,
- 1820,14,19,15,800,42,35,774,1693,1281,
- 298,299,1048,714,1091,714,173,677,271,1177,
- 714,878,134,211,291,657,714,1199,1458,264,
- 1577,1674,269,134,211,196,87,196,727,245,
- 173,310,196,1711,150,133,135,159,1264,727,
- 263,697,884,727,1227,153,133,135,159,1229,
- 87,293,21,196,1310,1104,1310,1375,1231,2133,
- 2220,1310,207,270,2220,2220,191,276,191,884,
- 256,1560,790,191,609,677,1491,1428,1523,1428,
- 614,1407,1883,1627,1428,448,117,14,19,15,
- 800,42,37,448,87,14,19,15,800,42,
- 36,115,2220,1306,2220,2220,727,448,1162,14,
- 19,15,800,42,34,609,310,173,310,727,
- 448,1069,14,19,15,800,42,35,173,310,
- 1989,769,173,677,1962,87,891,87,772,2220,
- 196,2220,115,277,1375,2220,727,2220,87,727,
- 2220,196,87,886,714,1375,251,211,294,969,
- 448,1373,14,19,15,800,42,47,2220,1883,
- 1670,1850,2220,1693,2220,1626,1264,2220,2220,448,
- 1883,14,19,15,800,42,46,448,2220,14,
- 19,15,800,42,45,1794,1464,2220,14,19,
- 15,800,42,43,1185,714,1817,1458,256,173,
- 677,609,677,609,677,173,677,2220,2039,1407,
- 2220,2220,2220,2220,2220,2220,2220,1264,2220,87,
- 1092,87,2220,87,2220,87,1919,2220,115,2220,
- 115,2220,2026,2220,2220,2220,2220,2220,2220,2220,
- 2220,2220,2220,2220,2220,2220,2220,1182,2220,256,
- 2220,2220,2220,2220,2220,2220,2220,2220,2220,1963,
- 1407,2066,2220,2069,2220,0,179,224,0,2227,
- 1,0,1,2455,0,7,9,0,179,17,
- 0,178,18,0,1,2444,0,112,1647,0
+ 18,18,19,19,22,22,22,22,22,22,
+ 22,22,22,22,22,22,29,27,20,107,
+ 107,92,92,54,30,30,30,30,30,30,
+ 30,31,31,31,28,28,93,93,69,69,
+ 32,32,33,33,33,61,61,34,34,34,
+ 34,35,35,35,35,35,47,47,24,24,
+ 24,24,24,48,48,48,83,83,78,78,
+ 78,78,79,79,79,80,80,80,81,81,
+ 81,82,82,82,94,94,84,84,85,49,
+ 51,51,51,51,51,62,64,64,64,64,
+ 64,64,64,64,64,64,64,64,73,73,
+ 21,21,70,70,108,109,74,74,71,71,
+ 71,86,95,95,96,96,87,87,87,55,
+ 110,110,97,98,98,98,72,72,111,99,
+ 99,100,100,88,88,25,26,26,26,50,
+ 52,52,42,42,42,42,36,36,37,43,
+ 43,44,38,38,101,101,45,113,113,112,
+ 112,46,46,46,46,46,46,46,46,46,
+ 102,53,53,53,53,40,75,75,65,65,
+ 65,66,66,56,56,114,114,77,77,76,
+ 76,76,57,57,57,58,59,59,59,60,
+ 60,60,60,63,63,63,67,115,91,91,
+ 91,91,89,116,117,117,118,118,119,119,
+ 106,106,120,120,103,103,103,103,121,121,
+ 104,104,104,105,105,292,870,14,19,15,
+ 1156,1152,44,1176,1225,1205,1308,1229,1377,1341,
+ 1399,1383,827,1405,74,941,1235,91,324,227,
+ 134,215,1387,42,14,19,15,1156,42,44,
+ 1176,1225,1205,1308,1229,1377,1341,1399,1383,498,
+ 1405,73,663,136,133,135,159,1425,713,14,
+ 19,15,1156,40,1049,1287,313,138,709,165,
+ 988,2131,949,315,890,142,145,148,151,343,
+ 476,1562,749,1846,1429,1929,1936,1942,1402,134,
+ 215,127,87,233,750,1509,1949,1573,229,115,
+ 392,226,234,1387,1517,14,19,15,1156,42,
+ 44,1736,136,133,135,159,362,226,231,1654,
+ 257,215,220,404,223,225,138,311,165,257,
+ 215,827,316,1584,142,145,148,151,343,414,
+ 230,338,1846,1429,1929,1936,1942,1402,1330,1376,
+ 14,19,15,1156,1152,44,1176,1225,1205,1308,
+ 1229,1377,1341,1399,1383,332,1405,74,988,1945,
+ 283,1349,1376,14,19,15,1156,1152,44,1176,
+ 1225,1205,1308,1229,1377,1341,1399,1383,117,1405,
+ 74,233,936,283,1245,1376,14,19,15,1156,
+ 1152,44,1176,1225,1205,1308,1229,1377,1341,1399,
+ 1383,288,1405,74,328,1486,283,1387,828,14,
+ 19,15,1156,42,44,1176,1225,1205,1308,1229,
+ 1377,1341,1399,1939,288,420,310,289,1486,1688,
+ 1387,1053,14,19,15,1156,42,44,1176,1225,
+ 1205,1308,1229,1377,1341,1399,1383,290,1405,93,
+ 289,1486,1716,1179,1963,14,19,15,1156,1152,
+ 44,1176,1225,1205,1308,1229,1377,1341,1399,1383,
+ 243,1405,74,291,1387,551,14,19,15,1156,
+ 42,44,1176,1698,1571,988,2133,1134,941,1322,
+ 677,1222,241,14,19,15,1156,1152,44,1176,
+ 1225,1205,1308,1229,1377,1341,1399,1383,280,1405,
+ 74,868,1368,283,14,19,15,1156,1152,44,
+ 1176,1225,1205,1308,1229,1377,1341,1399,1383,104,
+ 1405,74,101,1559,283,1087,850,1406,2117,14,
+ 19,15,1156,1152,44,1176,1225,1205,1308,1229,
+ 1377,1341,1399,1383,157,1405,74,505,1486,934,
+ 134,215,1387,1059,14,19,15,1156,42,44,
+ 1176,1225,1205,1308,1923,292,101,1627,189,1486,
+ 101,1826,829,136,133,135,159,1387,1078,14,
+ 19,15,1156,42,44,1176,1702,138,1444,165,
+ 14,19,15,1156,33,142,145,148,151,343,
+ 1065,1595,412,1846,1429,1929,1936,1942,1402,1387,
+ 792,14,19,15,1156,1152,44,1176,1225,1205,
+ 1308,1229,1377,1341,1399,1383,505,1405,74,505,
+ 1203,91,14,19,15,1156,1152,44,1176,1225,
+ 1205,1308,1229,1377,1341,1399,1383,188,1405,74,
+ 1598,1387,955,14,19,15,1156,42,44,1176,
+ 1225,1205,1308,1229,1377,1341,1924,793,1387,242,
+ 14,19,15,1156,1152,44,1176,1225,1205,1308,
+ 1229,1377,1341,1399,1383,1126,1405,74,756,1387,
+ 85,14,19,15,1156,42,44,1176,1225,1829,
+ 1387,1573,14,19,15,1156,1152,44,1176,1225,
+ 1205,1308,1229,1377,1341,1399,1383,212,1405,74,
+ 355,1387,84,14,19,15,1156,1152,44,1176,
+ 1225,1205,1308,1229,1377,1341,1399,1383,505,1405,
+ 74,702,1387,83,14,19,15,1156,1152,44,
+ 1176,1225,1205,1308,1229,1377,1341,1399,1383,190,
+ 1405,74,505,1387,82,14,19,15,1156,1152,
+ 44,1176,1225,1205,1308,1229,1377,1341,1399,1383,
+ 505,1405,74,1303,1387,81,14,19,15,1156,
+ 1152,44,1176,1225,1205,1308,1229,1377,1341,1399,
+ 1383,297,1405,74,1053,1387,80,14,19,15,
+ 1156,1152,44,1176,1225,1205,1308,1229,1377,1341,
+ 1399,1383,1154,1405,74,1053,1387,79,14,19,
+ 15,1156,1152,44,1176,1225,1205,1308,1229,1377,
+ 1341,1399,1383,245,1405,74,1053,1387,78,14,
+ 19,15,1156,1152,44,1176,1225,1205,1308,1229,
+ 1377,1341,1399,1383,244,1405,74,1053,1387,77,
+ 14,19,15,1156,1152,44,1176,1225,1205,1308,
+ 1229,1377,1341,1399,1383,20,1405,74,505,1387,
+ 76,14,19,15,1156,1152,44,1176,1225,1205,
+ 1308,1229,1377,1341,1399,1383,246,1405,74,299,
+ 1387,75,14,19,15,1156,1152,44,1176,1225,
+ 1205,1308,1229,1377,1341,1399,1383,996,1405,74,
+ 995,1387,92,14,19,15,1156,42,44,1176,
+ 1225,1205,1308,1229,1377,1341,1399,1383,870,1405,
+ 93,1387,705,14,19,15,1156,1152,44,1176,
+ 1225,1205,1308,1229,1377,1341,1399,1383,182,1405,
+ 74,232,1387,997,14,19,15,1156,42,44,
+ 1176,1225,1205,1747,1387,214,14,19,15,1156,
+ 1152,44,1176,1225,1205,1308,1229,1377,1341,1399,
+ 1383,1006,1405,74,904,1387,1299,14,19,15,
+ 1156,42,44,1176,1225,1205,1308,1229,1377,1341,
+ 1399,1383,296,1405,93,1387,1469,14,19,15,
+ 1156,42,44,1176,1225,1205,1308,1229,1377,1341,
+ 1399,1383,23,1405,93,1387,1056,14,19,15,
+ 1156,42,44,1176,1225,1205,1776,1119,1387,204,
+ 14,19,15,1156,42,44,1176,1225,1205,1308,
+ 1229,1377,1341,1399,1383,1264,1405,93,1387,205,
+ 14,19,15,1156,42,44,1176,1225,1205,1308,
+ 1229,1377,1341,1399,1383,541,1405,93,1444,389,
+ 14,19,15,1156,32,178,315,1067,1472,739,
+ 1067,1387,1673,14,19,15,1156,42,44,1176,
+ 1225,1859,110,1520,123,86,1131,122,89,1949,
+ 1,315,2006,95,1283,108,94,96,97,98,
+ 99,101,1831,321,1867,1275,1922,110,257,215,
+ 86,1131,109,1067,1949,1058,739,58,95,1283,
+ 108,94,96,97,98,99,1067,406,374,1053,
+ 111,314,124,1067,106,87,295,109,475,362,
+ 226,231,1296,125,306,220,404,223,225,276,
+ 121,1686,235,315,1267,265,705,449,1260,107,
+ 269,1508,1529,274,101,1553,905,1887,247,110,
+ 1447,314,86,1131,305,1774,1949,948,655,266,
+ 95,1283,108,94,96,97,98,99,1387,279,
+ 14,19,15,1156,42,44,1176,1225,1864,109,
+ 1267,1273,362,226,231,160,836,1155,220,404,
+ 223,225,276,754,101,739,585,263,316,119,
+ 315,106,1678,269,1508,1529,274,476,1616,1122,
+ 303,304,1087,262,87,507,110,101,2095,86,
+ 1131,1538,1775,1949,359,1389,22,95,1283,108,
+ 94,96,97,98,99,627,708,134,215,417,
+ 105,219,276,362,226,528,109,236,1959,220,
+ 404,223,683,271,1508,1529,274,627,870,158,
+ 137,133,135,159,134,215,101,458,107,101,
+ 481,362,226,231,139,708,165,221,404,223,
+ 225,2118,143,146,149,152,343,144,133,135,
+ 159,154,502,392,226,235,1159,708,499,1060,
+ 284,384,1974,1187,294,1291,60,1387,441,14,
+ 19,15,1156,42,44,1176,1225,1869,669,1387,
+ 652,14,19,15,1156,42,44,1176,1225,1205,
+ 1308,1229,1377,1928,362,226,231,870,708,1201,
+ 221,404,223,225,276,480,739,1269,870,14,
+ 19,15,1156,42,35,271,1508,1529,274,870,
+ 16,1079,110,996,278,86,1131,521,739,101,
+ 655,1676,58,95,1283,1551,94,96,97,98,
+ 99,1265,1700,1241,110,277,248,86,1131,562,
+ 739,476,1562,1949,1067,95,1283,103,94,96,
+ 97,98,99,1463,285,1506,110,1473,1292,86,
+ 1131,2127,449,1372,1198,1067,308,95,1283,101,
+ 94,96,97,98,99,1425,58,362,226,231,
+ 256,215,2139,220,404,223,225,872,655,603,
+ 739,332,1387,158,14,19,15,1156,42,44,
+ 1176,1225,1205,1308,1229,1913,110,364,1562,86,
+ 1131,199,101,739,949,739,449,95,1283,102,
+ 94,96,97,98,99,154,502,581,1956,1841,
+ 405,870,87,1053,87,384,644,739,996,1549,
+ 2136,115,1964,362,226,231,1058,1397,1391,220,
+ 404,223,225,110,1738,870,86,1131,623,1944,
+ 685,739,745,126,95,1283,118,94,96,97,
+ 98,99,296,276,194,1605,1391,110,1958,206,
+ 86,1131,1057,1741,269,1508,1529,274,95,1283,
+ 114,94,96,97,98,99,1508,996,726,739,
+ 1511,931,655,268,200,202,1387,868,14,19,
+ 15,1156,42,44,1740,110,1972,1823,86,1131,
+ 767,739,349,374,870,199,95,1283,1971,94,
+ 96,97,98,99,870,870,933,110,183,306,
+ 86,1131,808,739,2005,870,1686,1960,95,1283,
+ 113,94,96,97,98,99,1964,21,275,110,
+ 101,739,86,1131,849,739,476,1562,281,305,
+ 95,1283,120,94,96,97,98,99,364,1562,
+ 87,110,870,1542,86,1131,667,1671,195,1266,
+ 870,667,95,1283,119,94,96,97,98,99,
+ 196,627,362,226,231,2004,1125,1598,220,404,
+ 223,225,1598,282,362,226,231,870,158,1518,
+ 220,404,223,225,1521,302,304,58,368,1523,
+ 1944,134,215,101,739,1503,1917,362,226,1495,
+ 1782,708,1297,221,404,223,1489,908,655,870,
+ 155,502,1067,87,141,133,135,159,279,1269,
+ 976,14,19,15,1156,42,35,449,140,2145,
+ 165,1273,1804,1534,211,201,202,908,655,211,
+ 1488,276,1506,672,1166,1324,1603,449,1481,446,
+ 1370,1603,269,1508,1529,274,942,1512,249,1515,
+ 1488,1273,1001,261,1545,943,655,256,215,1058,
+ 1581,1775,1785,1431,134,215,58,449,1547,996,
+ 1548,134,215,1506,1058,1647,126,134,215,1273,
+ 1386,1209,996,261,1502,101,315,147,133,135,
+ 159,197,1785,1431,150,133,135,159,256,215,
+ 153,133,135,159,2246,87,449,1253,2246,199,
+ 207,261,1527,2246,1067,996,1053,2246,2246,1386,
+ 1078,1431,1387,1375,14,19,15,1156,42,39,
+ 1387,117,14,19,15,1156,42,38,2246,1387,
+ 1667,14,19,15,1156,42,37,1387,414,14,
+ 19,15,1156,42,36,298,26,2246,2246,2246,
+ 2246,2246,1448,101,315,2246,1387,1414,14,19,
+ 15,1156,42,34,1387,760,14,19,15,1156,
+ 42,35,2246,87,101,315,2246,199,2246,1387,
+ 1527,14,19,15,1156,42,47,2246,2246,2246,
+ 2246,2246,2246,2246,87,990,655,2246,199,2246,
+ 1387,1527,14,19,15,1156,42,46,1667,1387,
+ 2246,14,19,15,1156,42,45,1506,1299,199,
+ 14,19,15,1156,42,43,2246,949,739,1667,
+ 1695,439,655,439,655,2246,1157,655,2246,949,
+ 739,2246,256,215,2246,949,739,87,101,739,
+ 1964,1764,2246,2246,115,1273,2246,1273,2246,87,
+ 1949,2246,2246,2246,312,87,115,2246,87,2246,
+ 2246,2246,115,2246,2246,1937,2246,2246,2246,2246,
+ 2246,2246,194,309,101,739,2246,261,1892,261,
+ 1737,1741,414,2246,2246,2246,1078,1431,1830,1431,
+ 1857,2246,2246,2246,87,2246,1889,2246,2246,2246,
+ 2246,1822,2246,2246,2246,2246,2246,2246,2246,1081,
+ 2246,0,179,228,0,2253,1,0,1,2485,
+ 0,7,9,0,179,17,0,178,18,0,
+ 1,2474,0,112,1760,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -498,181 +503,168 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
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,48,49,
- 50,51,52,53,54,55,0,57,0,1,
+ 40,0,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,0,58,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,
+ 0,42,43,44,45,46,47,48,49,50,
+ 51,52,53,54,55,56,0,58,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,
+ 32,33,34,35,36,37,38,39,40,0,
42,43,44,45,46,47,48,49,50,51,
- 52,53,54,55,58,57,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,48,49,50,51,52,53,
- 54,55,0,57,0,1,2,3,4,5,
+ 52,53,54,55,56,0,58,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,0,42,
+ 43,44,45,46,47,48,49,50,51,52,
+ 53,54,55,56,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,
+ 36,37,38,39,40,57,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,
+ 56,0,1,2,3,0,5,0,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,0,23,24,25,26,27,28,
+ 0,1,2,0,1,5,3,0,1,6,
+ 3,0,1,42,43,44,45,46,47,48,
+ 49,50,51,52,53,54,55,56,0,1,
+ 2,3,4,5,0,1,61,3,0,0,
+ 6,41,4,0,1,2,0,19,20,21,
+ 22,23,24,25,26,27,28,29,83,84,
+ 85,86,87,88,89,90,91,92,0,76,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,0,1,2,3,4,
+ 5,0,1,0,3,57,0,59,5,0,
+ 1,73,3,60,19,20,21,22,23,24,
+ 25,26,27,28,29,19,20,21,0,23,
+ 24,25,26,27,28,0,0,42,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,74,75,19,20,21,0,23,24,
+ 25,26,27,28,0,0,1,2,73,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,0,1,
+ 2,22,64,5,0,1,0,3,29,30,
+ 31,32,33,34,35,36,37,38,39,40,
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,
+ 10,11,12,13,14,15,16,17,18,41,
+ 0,0,22,69,70,71,72,7,8,29,
30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,48,49,
- 50,51,52,53,54,55,0,1,2,3,
- 0,5,2,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,23,
- 24,25,26,27,28,0,30,31,32,33,
- 34,35,36,37,38,0,40,41,42,0,
- 0,1,2,0,48,5,0,0,5,53,
- 4,55,0,1,2,3,4,5,19,20,
- 21,0,23,24,25,26,27,28,22,0,
- 9,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,56,40,41,42,0,56,0,1,2,
- 48,66,5,56,58,53,0,55,0,1,
- 2,3,4,5,19,20,21,0,23,24,
- 25,26,27,28,0,73,2,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,78,40,41,
- 42,0,1,56,3,0,48,0,1,2,
- 3,53,5,55,7,8,9,10,11,12,
- 13,14,15,16,17,18,0,1,2,73,
- 56,73,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,0,0,0,22,0,4,2,0,1,
- 2,29,4,0,0,10,11,0,1,6,
- 3,39,0,6,22,43,44,45,46,47,
- 0,49,50,51,52,0,54,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,0,0,0,22,
- 58,56,0,61,56,0,29,59,6,0,
- 5,66,69,70,71,72,39,19,20,21,
- 43,44,45,46,47,80,49,50,51,52,
- 60,54,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,0,0,56,22,0,4,2,0,4,
- 0,29,4,66,4,69,70,71,72,0,
- 61,39,67,68,22,43,44,45,46,47,
- 22,49,50,51,52,0,54,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,0,1,0,22,
- 58,56,0,61,59,0,29,59,58,59,
- 69,70,71,72,9,0,39,19,20,21,
- 43,44,45,46,47,0,49,50,51,52,
- 0,54,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,76,0,1,22,3,0,1,6,3,
- 64,29,6,0,1,2,0,0,5,2,
- 4,39,5,58,0,43,44,45,46,47,
- 6,49,50,51,52,60,54,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,76,0,0,22,
- 0,1,2,0,7,8,29,4,0,0,
- 0,2,4,56,5,59,39,19,20,21,
- 43,44,45,46,47,22,49,50,51,52,
- 22,54,0,1,2,3,4,5,6,7,
+ 40,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 0,0,2,22,0,5,2,81,82,5,
+ 29,30,31,32,33,34,35,36,37,38,
+ 39,40,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
- 18,0,0,0,22,0,5,0,6,4,
- 60,29,5,0,0,56,58,4,0,0,
- 2,39,19,20,21,43,44,45,46,47,
- 0,49,50,51,52,0,54,0,1,2,
+ 18,41,0,0,22,41,0,1,2,7,
+ 8,29,30,31,32,33,34,35,36,37,
+ 38,39,40,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,0,0,2,22,0,1,0,3,
+ 2,0,29,30,31,32,33,34,35,36,
+ 37,38,39,40,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,41,0,1,22,3,0,41,
+ 2,0,0,29,30,31,32,33,34,35,
+ 36,37,38,39,40,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,0,74,75,22,0,0,
+ 2,7,8,0,29,30,31,32,33,34,
+ 35,36,37,38,39,40,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,73,0,1,22,3,
+ 41,0,0,2,2,29,30,31,32,33,
+ 34,35,36,37,38,39,40,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,0,0,0,22,
- 0,4,57,0,4,0,29,4,67,68,
- 0,1,59,3,67,68,39,19,20,21,
- 43,44,45,46,47,22,49,50,51,52,
- 0,54,0,1,2,3,4,5,6,7,
+ 0,78,6,6,6,0,29,30,31,32,
+ 33,34,35,36,37,38,39,40,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,0,0,0,
+ 22,0,1,4,3,4,41,29,30,31,
+ 32,33,34,35,36,37,38,39,40,0,
+ 19,20,21,4,23,24,25,26,27,28,
+ 29,66,0,0,0,1,2,0,4,6,
+ 0,22,5,42,43,44,45,46,47,48,
+ 49,50,51,52,53,54,55,56,59,58,
+ 0,1,0,3,4,0,69,70,71,72,
+ 0,0,0,1,4,41,57,0,0,19,
+ 20,21,4,23,24,25,26,27,28,29,
+ 19,20,21,59,23,24,25,26,27,28,
+ 22,64,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,0,58,0,
+ 1,4,3,4,0,0,61,0,58,4,
+ 0,69,70,71,72,0,64,59,19,20,
+ 21,64,23,24,25,26,27,28,29,19,
+ 20,21,0,23,24,25,26,27,28,0,
+ 0,42,43,44,45,46,47,48,49,50,
+ 51,52,53,54,55,56,59,58,0,1,
+ 2,3,0,58,60,0,4,0,0,0,
+ 5,4,4,4,0,60,0,19,20,21,
+ 4,23,24,25,26,27,28,0,0,22,
+ 22,22,5,19,20,21,0,1,22,3,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,19,20,21,30,23,
+ 24,25,26,27,28,57,57,65,0,61,
+ 61,0,67,68,0,0,0,2,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,56,19,20,21,0,23,24,25,
+ 26,27,28,0,0,2,0,0,0,41,
+ 0,0,6,9,6,0,42,43,44,45,
+ 46,47,48,49,50,51,52,53,0,1,
+ 2,3,4,5,66,7,8,9,10,11,
+ 12,13,14,15,16,17,18,0,77,2,
+ 0,23,0,1,2,3,4,5,0,7,
8,9,10,11,12,13,14,15,16,17,
- 18,81,82,0,22,0,0,57,62,63,
- 4,29,65,0,1,0,3,2,0,64,
- 2,39,19,20,21,43,44,45,46,47,
- 0,49,50,51,52,0,54,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,0,77,0,22,
- 0,0,0,7,8,59,29,7,8,0,
- 0,56,0,4,0,1,39,3,4,0,
- 43,44,45,46,47,6,49,50,51,52,
- 60,54,0,19,20,21,61,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,0,40,41,42,0,1,0,
- 3,4,48,62,63,0,57,53,0,55,
- 2,57,74,75,62,63,19,20,21,0,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,0,40,41,42,
- 0,1,0,3,4,48,74,75,0,1,
- 53,3,55,0,57,62,63,58,39,19,
- 20,21,0,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,0,
- 40,41,42,0,1,6,3,4,48,0,
- 0,2,2,53,0,55,0,57,62,63,
- 6,0,19,20,21,0,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,0,40,41,42,0,1,6,3,
- 4,48,79,0,0,0,53,2,55,5,
- 57,0,1,0,0,19,20,21,0,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,0,40,41,42,0,
- 1,2,3,77,48,0,0,0,0,53,
- 0,55,6,57,6,0,0,0,19,20,
- 21,58,23,24,25,26,27,28,64,30,
- 31,32,33,34,35,36,37,38,64,40,
- 41,42,0,1,0,3,0,48,0,0,
- 0,56,53,0,55,0,78,0,0,0,
- 0,19,20,21,0,23,24,25,26,27,
- 28,61,30,31,32,33,34,35,36,37,
- 38,0,40,41,42,0,0,0,0,0,
- 48,0,0,0,0,53,0,55,0,0,
- 19,20,21,0,23,24,25,26,27,28,
- 60,30,31,32,33,34,35,36,37,38,
- 60,40,41,42,0,1,2,3,4,5,
- 0,7,8,9,10,11,12,13,14,15,
- 16,17,18,58,0,0,60,23,0,1,
- 2,3,4,5,60,7,8,9,10,11,
+ 18,0,1,2,3,23,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 0,41,77,65,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,0,0,0,0,65,0,1,
+ 2,3,4,5,0,7,8,9,10,11,
+ 12,13,14,15,16,17,18,79,0,0,
+ 0,0,0,19,20,21,6,57,0,1,
+ 2,3,58,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,0,0,0,
+ 0,0,0,57,60,62,63,62,63,0,
+ 1,2,3,65,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,0,1,
+ 2,3,61,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,0,1,2,
- 3,23,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,0,0,0,65,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,0,
- 0,0,0,65,0,1,2,3,4,5,
+ 3,0,5,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,0,1,2,3,
+ 0,5,0,7,8,9,10,11,12,13,
+ 14,15,16,17,18,0,1,2,3,0,
+ 5,0,7,8,9,10,11,12,13,14,
+ 15,16,17,18,0,1,2,3,57,5,
0,7,8,9,10,11,12,13,14,15,
- 16,17,18,0,0,0,0,0,0,0,
- 0,0,0,0,1,2,3,57,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,1,2,3,65,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,0,1,2,3,0,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,0,1,2,3,0,5,6,
+ 16,17,18,0,1,2,3,57,5,0,
7,8,9,10,11,12,13,14,15,16,
- 17,18,0,1,2,3,0,5,0,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,0,1,2,3,0,5,0,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 0,1,2,3,0,5,0,7,8,9,
- 10,11,12,13,14,15,16,17,18,0,
- 1,2,0,4,5,0,0,0,0,0,
- 1,2,0,4,5,0,0,0,19,20,
- 21,22,23,24,25,26,27,28,19,20,
- 21,22,23,24,25,26,27,28,0,0,
- 0,0,0,0,0,0,0,61,0,0,
- 0,0,0,0,0,56,0,0,59,0,
- 0,0,0,0,0,56,0,0,59,83,
- 84,85,86,87,88,89,90,91,92,19,
- 20,21,0,23,24,25,26,27,28,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,19,20,21,0,23,24,25,26,27,
- 28,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ 17,18,0,1,2,0,4,5,0,4,
+ 2,0,0,1,2,4,4,5,10,11,
+ 0,19,20,21,22,23,24,25,26,27,
+ 28,19,20,21,22,23,24,25,26,27,
+ 28,0,0,41,2,0,4,0,0,41,
+ 0,0,5,41,0,5,0,0,0,0,
+ 0,59,0,58,19,20,21,19,20,21,
+ 59,59,0,0,66,19,20,21,19,20,
+ 21,0,9,41,0,4,0,0,80,0,
+ 0,0,6,6,0,6,76,6,0,0,
+ 6,59,61,22,0,0,0,0,0,0,
+ 0,60,0,0,67,68,0,67,68,62,
+ 63,0,62,63,62,63,0,0,0,0,
+ 0,0,78,0,0,0,0,0,57,0,
+ 0,0,0,0,60,0,0,0,0,0,
+ 60,0,0,0,0,0,0,0,60,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0
+ 0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -680,179 +672,168 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface TermAction {
public final static char termAction[] = {0,
- 2220,3844,1,3836,1441,1,1261,1,1,1,
+ 2246,4119,1,4111,1496,1,608,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,2254,1,1,1,1,1,1,2346,
+ 797,1237,550,1240,1060,1535,740,892,952,1285,
+ 815,184,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,255,2252,7,
+ 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231,
+ 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231,
+ 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231,
+ 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231,
+ 1,2231,2231,2231,2231,2231,2231,2231,2231,2231,
+ 2231,2231,2231,2231,2231,2231,185,2231,2246,4119,
+ 1,4111,1496,1,608,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 2254,1,1,1,1,1,1,2346,797,1237,
+ 550,1240,1060,1535,740,892,952,1285,815,287,
1,1,1,1,1,1,1,1,1,1,
- 1,1,2228,1,1,1,1,1,1,2320,
- 1,1,1,1,1,1,1,1,1,528,
- 1,1,1,1246,717,1249,694,612,1,505,
- 1324,635,1473,1,547,1,28,2226,7,2205,
- 2205,2205,2205,2205,2205,2205,2205,2205,2205,2205,
- 2205,2205,2205,2205,2205,2205,2205,2205,2205,2205,
- 2205,2205,2205,2205,2205,2205,2205,2205,2205,2205,
- 2205,2205,2205,2205,2205,2205,2205,2205,2205,2205,
- 2205,2205,2205,2205,2205,2205,2205,2205,2205,2205,
- 2205,2205,2205,2205,2247,2205,2220,3844,1,3836,
- 1441,1,1261,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2228,1,
- 1,1,1,1,1,2320,1,1,1,1,
- 1,1,1,1,1,528,1,1,1,1246,
- 717,1249,694,612,1,505,1324,635,1473,1,
- 547,1,1,2226,2220,3844,1,3836,2229,1,
- 1261,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2228,1,1,1,
- 1,1,1,2320,1,1,1,1,1,1,
- 1,1,1,528,1,1,1,1246,717,1249,
- 694,612,1,505,1324,635,1473,1,547,1,
- 2220,3844,1,3836,2229,1,1261,1,1,1,
+ 1,1,1,1,1,2246,2252,2246,4119,1,
+ 4111,2255,1,608,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2254,
+ 1,1,1,1,1,1,2346,797,1237,550,
+ 1240,1060,1535,740,892,952,1285,815,258,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,2228,1,1,1,1,1,1,2320,
- 1,1,1,1,1,1,1,1,1,528,
- 1,1,1,1246,717,1249,694,612,1,505,
- 1324,635,1473,1,547,1,2220,1551,1950,1556,
- 179,2040,2196,2013,2005,2027,1562,1218,364,2230,
- 2231,2232,2233,1459,1185,2432,2433,2434,282,2382,
- 2383,2381,2435,2384,2380,2220,2387,2392,2391,2389,
- 2390,2388,2393,2394,2386,2220,2395,2396,2397,129,
- 259,2444,1339,2220,523,1,2220,218,652,456,
- 2229,453,2220,1,1,1,2229,1,2432,2433,
- 2434,64,2382,2383,2381,2435,2384,2380,2228,70,
- 422,1,1,1,2228,1,1,1,1,1,
- 1,2522,1,1,1,1,1,1,1,1,
- 1,1165,1,1,1,130,481,265,2444,1339,
- 1,1620,1488,481,1695,1,2220,1,2220,1,
- 1,1,2229,1,2432,2433,2434,2220,2382,2383,
- 2381,2435,2384,2380,220,296,1275,1,1,1,
- 2228,1,1,1,1,1,1,2522,1,1,
- 1,1,1,1,1,1,1,504,1,1,
- 1,206,2400,481,2401,2220,1,2220,2237,1950,
- 2238,1,2040,1,2013,2005,2027,1562,1218,364,
- 2230,2231,2232,2233,1459,1185,1,2444,1717,2195,
- 481,295,2220,3844,1,3836,2229,1,1261,1,
+ 1,1,1,1,2246,4119,1,4111,2255,1,
+ 608,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2254,1,1,1,
+ 1,1,1,2346,797,1237,550,1240,1060,1535,
+ 740,892,952,1285,815,1347,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,2220,233,59,2228,31,221,654,1,2214,
- 1339,2320,2225,2220,2220,2244,2245,2220,2400,377,
- 2401,528,2220,405,221,1246,717,1249,694,612,
- 2220,505,1324,635,1473,2220,547,2220,3844,1,
- 3836,2229,1,1261,1,1,1,1,1,1,
- 1,1,1,1,1,1,61,288,247,2228,
- 221,2052,187,221,481,48,2320,2224,1195,156,
- 2107,1361,1802,1782,1767,1580,528,1,1,1,
- 1246,717,1249,694,612,1215,505,1324,635,1473,
- 1481,547,2220,3844,1,3836,2229,1,1261,1,
+ 1,2246,1593,1975,1597,42,2064,2246,2037,2029,
+ 2056,1228,718,367,2256,2257,2258,2259,2020,2012,
+ 2462,2463,2464,66,2408,2409,2407,2465,2410,2406,
+ 264,2474,1336,2246,2426,1,2427,187,4110,696,
+ 4110,2246,2486,2413,2418,2417,2415,2416,2414,2419,
+ 2420,2412,2421,2422,2423,545,732,524,2246,1,
+ 1,1,2255,1,2246,2426,1019,2427,2246,2246,
+ 700,573,2251,1,2474,390,2246,1,1,1,
+ 2254,1,1,1,1,1,1,2553,998,977,
+ 956,935,914,872,893,851,830,798,62,1632,
1,1,1,1,1,1,1,1,1,1,
- 1,60,234,1198,2228,1,221,1815,1,2225,
- 2220,2320,116,2056,2225,1802,1782,1767,1580,2220,
- 569,528,2099,2080,221,1246,717,1249,694,612,
- 116,505,1324,635,1473,66,547,2220,3844,1,
- 3836,2229,1,1261,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2202,248,2228,
- 221,481,2220,221,2224,65,2320,116,1689,2224,
- 1802,1782,1767,1580,422,205,528,1,1,1,
- 1246,717,1249,694,612,2220,505,1324,635,1473,
- 67,547,2220,3844,1,3836,2229,1,1261,1,
+ 1,1,1,1,1,2246,1,1,1,2255,
+ 1,186,4112,2246,4112,1631,129,2250,730,208,
+ 4115,301,4115,1135,1,1,1,2254,1,1,
+ 1,1,1,1,2553,2462,2463,2464,1,2408,
+ 2409,2407,2465,2410,2406,130,2246,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,615,2220,2400,2228,2401,2220,2400,414,2401,
- 2475,2320,648,2220,2444,1717,2220,262,1488,1815,
- 2225,528,1,3628,186,1246,717,1249,694,612,
- 1328,505,1324,635,1473,1504,547,2220,3844,1,
- 3836,2229,1,1261,1,1,1,1,1,1,
- 1,1,1,1,1,1,615,51,2220,2228,
- 1,2444,1717,1,1898,1362,2320,2229,2220,265,
- 2220,1815,2229,481,1488,2224,528,2432,2433,2434,
- 1246,717,1249,694,612,2228,505,1324,635,1473,
- 2228,547,2220,3844,1,3836,2229,1,1261,1,
+ 1,1,1175,1102,2462,2463,2464,2246,2408,2409,
+ 2407,2465,2410,2406,59,1,2474,390,300,2246,
+ 4119,1,4111,2255,1,608,1,1,1,1,
+ 1,1,1,1,1,1,1,1,270,2474,
+ 1336,2254,2506,255,2246,2426,72,2427,2346,797,
+ 1237,550,1240,1060,1535,740,892,952,1285,815,
+ 2246,4119,1,4111,2255,1,608,1,1,1,
+ 1,1,1,1,1,1,1,1,1,573,
+ 51,2246,2254,1497,1358,1241,819,1746,413,2346,
+ 797,1237,550,1240,1060,1535,740,892,952,1285,
+ 815,2246,4119,1,4111,2255,1,608,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,50,188,249,2228,1,2107,49,1403,2199,
- 1072,2320,2107,1,2220,481,1706,2225,2220,2220,
- 542,528,2432,2433,2434,1246,717,1249,694,612,
- 72,505,1324,635,1473,2220,547,2220,3844,1,
- 3836,2229,1,1261,1,1,1,1,1,1,
- 1,1,1,1,1,1,54,2220,250,2228,
- 2220,2223,2226,2220,2227,1,2320,2229,2099,2080,
- 2220,2400,2224,2401,2099,2080,528,2432,2433,2434,
- 1246,717,1249,694,612,2228,505,1324,635,1473,
- 68,547,2220,3844,1,3836,2229,1,1261,1,
+ 267,2246,1875,2254,270,1,1875,527,2148,255,
+ 2346,797,1237,550,1240,1060,1535,740,892,952,
+ 1285,815,2246,4119,1,4111,2255,1,608,1,
1,1,1,1,1,1,1,1,1,1,
- 1,339,2129,246,2228,2220,1,2226,1825,1849,
- 90,2320,2222,2220,2249,267,2250,1289,2220,2475,
- 2035,528,2432,2433,2434,1246,717,1249,694,612,
- 2220,505,1324,635,1473,209,547,2220,3844,1,
- 3836,2229,1,1261,1,1,1,1,1,1,
- 1,1,1,1,1,1,53,527,62,2228,
- 52,58,2220,1898,1362,90,2320,1898,1362,281,
- 2220,481,57,1553,2220,1,528,1,190,227,
- 1246,717,1249,694,612,230,505,1324,635,1473,
- 1541,547,63,1,1,1,799,1,1,1,
- 1,1,1,2415,1,1,1,1,1,1,
- 1,1,1,56,1,1,1,2220,1,253,
- 1,190,1,1825,1849,2220,1553,1,2220,1,
- 1385,190,1112,839,1825,1849,1,1,1,2220,
- 1,1,1,1,1,1,2415,1,1,1,
- 1,1,1,1,1,1,55,1,1,1,
- 2220,1,2220,1,190,1,1112,839,205,522,
- 1,522,1,112,190,1825,1849,765,1594,1,
- 1,1,2220,1,1,1,1,1,1,2415,
+ 1,573,53,2246,2254,573,255,2474,390,1746,
+ 413,2346,797,1237,550,1240,1060,1535,740,892,
+ 952,1285,815,2246,4119,1,4111,2255,1,608,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,2220,1,1261,1,189,1,2220,
- 2220,1448,1926,1,2220,1,69,190,1825,1849,
- 1616,2220,1,1,1,2220,1,1,1,1,
- 1,1,2415,1,1,1,1,1,1,1,
- 1,1,227,1,1,1,2220,1,231,1,
- 190,1,2217,88,1,2220,1,2135,1,652,
- 189,2220,2456,2220,1,1,1,1,71,1,
- 1,1,1,1,1,2415,1,1,1,1,
- 1,1,1,1,1,268,1,1,1,1,
- 330,1717,2398,527,1,2220,41,2220,2220,1,
- 2220,1,1683,190,1683,2220,2220,2220,2432,2433,
- 2434,1052,2382,2383,2381,2435,2384,2380,2475,2387,
- 2392,2391,2389,2390,2388,2393,2394,2386,2474,2395,
- 2396,2397,2220,2399,2220,2398,2220,523,2220,2220,
- 200,481,456,2220,453,2220,504,2220,2220,2220,
- 2220,2432,2433,2434,2220,2382,2383,2381,2435,2384,
- 2380,589,2387,2392,2391,2389,2390,2388,2393,2394,
- 2386,128,2395,2396,2397,28,1,2220,2220,2220,
- 523,2220,2220,2220,1,456,2220,453,2220,2220,
- 2432,2433,2434,2220,2382,2383,2381,2435,2384,2380,
- 1145,2387,2392,2391,2389,2390,2388,2393,2394,2386,
- 741,2395,2396,2397,1,2237,1950,2238,2223,776,
- 2220,2013,2005,2027,1562,1218,364,2230,2231,2232,
- 2233,1459,1185,549,2220,2220,2401,657,2220,2237,
- 1950,2238,2223,1909,2400,2013,2005,2027,1562,1218,
- 364,2230,2231,2232,2233,1459,1185,2220,2237,1950,
- 2238,1125,2040,3529,2013,2005,2027,1562,1218,364,
- 2230,2231,2232,2233,1459,1185,2220,2220,2220,2222,
- 1,2237,1950,2238,27,2040,3529,2013,2005,2027,
- 1562,1218,364,2230,2231,2232,2233,1459,1185,2220,
- 2220,2220,2220,2222,2220,2237,1950,2238,2223,2040,
- 2220,2013,2005,2027,1562,1218,364,2230,2231,2232,
- 2233,1459,1185,2220,2220,2220,2220,2220,2220,2220,
- 2220,2220,2220,2220,2237,1950,2238,27,2040,1683,
- 2013,2005,2027,1562,1218,364,2230,2231,2232,2233,
- 1459,1185,2220,2220,2220,2220,2220,2220,2220,2220,
- 2220,2220,2220,2220,2220,1,2237,1950,2238,2222,
- 2040,3529,2013,2005,2027,1562,1218,364,2230,2231,
- 2232,2233,1459,1185,1,2237,1950,2238,2220,2040,
- 3529,2013,2005,2027,1562,1218,364,2230,2231,2232,
- 2233,1459,1185,2220,2237,1950,2238,2220,2040,3529,
- 2013,2005,2027,1562,1218,364,2230,2231,2232,2233,
- 1459,1185,1,2237,1950,2238,2220,2040,2220,2013,
- 2005,2027,1562,1218,364,2230,2231,2232,2233,1459,
- 1185,2220,2237,2037,2238,2220,2040,2220,2013,2005,
- 2027,1562,1218,364,2230,2231,2232,2233,1459,1185,
- 2220,2237,2048,2238,2220,2040,42,2013,2005,2027,
- 1562,1218,364,2230,2231,2232,2233,1459,1185,17,
- 179,2208,2220,2208,2208,2220,2220,2220,2220,18,
- 178,2211,2220,2211,2211,2220,2220,2220,179,179,
- 179,2208,179,179,179,179,179,179,178,178,
- 178,2211,178,178,178,178,178,178,2220,2220,
- 2220,2220,2220,2220,2220,2220,2220,1032,2220,2220,
- 2220,2220,2220,2220,2220,2208,2220,2220,2208,2220,
- 131,2220,2220,2220,2220,2211,2220,2220,2211,1012,
- 992,972,952,932,892,912,872,852,819,2432,
- 2433,2434,132,2382,2383,2381,2435,2384,2380,2220,
- 2220,2220,2220,2220,2220,2220,2220,2220,2220,2220,
- 2220,2432,2433,2434,2220,2382,2383,2381,2435,2384,
- 2380
+ 1,1,224,2246,478,2254,210,2426,272,2427,
+ 605,63,2346,797,1237,550,1240,1060,1535,740,
+ 892,952,1285,815,2246,4119,1,4111,2255,1,
+ 608,1,1,1,1,1,1,1,1,1,
+ 1,1,1,573,2246,2275,2254,2276,179,573,
+ 2222,2246,2246,2346,797,1237,550,1240,1060,1535,
+ 740,892,952,1285,815,2246,4119,1,4111,2255,
+ 1,608,1,1,1,1,1,1,1,1,
+ 1,1,1,1,52,1175,1102,2254,2246,222,
+ 380,1746,413,70,2346,797,1237,550,1240,1060,
+ 1535,740,892,952,1285,815,2246,4119,1,4111,
+ 2255,1,608,1,1,1,1,1,1,1,
+ 1,1,1,1,1,2221,209,759,2254,759,
+ 573,2246,2246,382,1384,2346,797,1237,550,1240,
+ 1060,1535,740,892,952,1285,815,2246,4119,1,
+ 4111,2255,1,608,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2246,231,2246,2254,
+ 2246,781,335,234,1271,2246,2346,797,1237,550,
+ 1240,1060,1535,740,892,952,1285,815,2246,4119,
+ 1,4111,2255,1,608,1,1,1,1,1,
+ 1,1,1,1,1,1,1,61,2246,2246,
+ 2254,2246,1,2251,1,193,1188,2346,797,1237,
+ 550,1240,1060,1535,740,892,952,1285,815,2246,
+ 1,1,1,2255,1,1,1,1,1,1,
+ 2444,910,2246,2246,1,2240,1336,1,2251,1407,
+ 2246,2254,255,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,2250,193,
+ 2246,1,60,1,192,156,1497,1358,1241,819,
+ 1,131,1,2228,2225,573,1806,1,1,1,
+ 1,1,116,1,1,1,1,1,1,2444,
+ 2462,2463,2464,2250,2408,2409,2407,2465,2410,2406,
+ 116,2506,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,192,2246,
+ 1,2251,1,193,2246,2246,611,2246,2252,2253,
+ 132,1497,1358,1241,819,2246,2506,116,1,1,
+ 1,2505,1,1,1,1,1,1,2444,2462,
+ 2463,2464,2246,2408,2409,2407,2465,2410,2406,2246,
+ 2246,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2250,193,1,378,
+ 390,2424,2246,2252,1557,48,2249,1,237,238,
+ 2109,2255,225,225,251,1579,2246,2462,2463,2464,
+ 2255,2408,2409,2407,2465,2410,2406,2246,2246,2254,
+ 225,225,1275,1,1,1,2246,2425,2254,2424,
+ 2413,2418,2417,2415,2416,2414,2419,2420,2412,2421,
+ 2422,2423,545,732,524,2462,2463,2464,1604,2408,
+ 2409,2407,2465,2410,2406,225,225,2248,293,225,
+ 225,68,2100,2079,128,2246,2246,1652,2413,2418,
+ 2417,2415,2416,2414,2419,2420,2412,2421,2422,2423,
+ 545,732,524,2462,2463,2464,2246,2408,2409,2407,
+ 2465,2410,2406,2246,64,1800,1,2246,2246,1208,
+ 2246,2246,608,682,1456,69,2413,2418,2417,2415,
+ 2416,2414,2419,2420,2412,2421,2422,2423,1,2263,
+ 1975,2264,2249,1537,1018,2037,2029,2056,1228,718,
+ 367,2256,2257,2258,2259,2020,2012,2246,1509,2184,
+ 273,657,2246,2263,1975,2264,2249,1899,112,2037,
+ 2029,2056,1228,718,367,2256,2257,2258,2259,2020,
+ 2012,2246,2263,1975,2264,1114,2064,4026,2037,2029,
+ 2056,1228,718,367,2256,2257,2258,2259,2020,2012,
+ 88,573,1509,2248,1,2263,1975,2264,27,2064,
+ 4026,2037,2029,2056,1228,718,367,2256,2257,2258,
+ 2259,2020,2012,54,2246,58,28,2248,2246,2263,
+ 1975,2264,2249,2064,252,2037,2029,2056,1228,718,
+ 367,2256,2257,2258,2259,2020,2012,2243,2246,2246,
+ 231,213,2246,1,1,1,235,1040,2246,2263,
+ 1975,2264,27,2064,1459,2037,2029,2056,1228,718,
+ 367,2256,2257,2258,2259,2020,2012,2246,2246,2246,
+ 2246,2246,2246,2273,1629,594,707,594,707,1,
+ 2263,1975,2264,2248,2064,4026,2037,2029,2056,1228,
+ 718,367,2256,2257,2258,2259,2020,2012,1,2263,
+ 1975,2264,1061,2064,4026,2037,2029,2056,1228,718,
+ 367,2256,2257,2258,2259,2020,2012,2246,2263,1975,
+ 2264,209,2064,4026,2037,2029,2056,1228,718,367,
+ 2256,2257,2258,2259,2020,2012,2246,2263,1975,2264,
+ 28,2064,2246,2037,2029,2056,1228,718,367,2256,
+ 2257,2258,2259,2020,2012,1,2263,1975,2264,2246,
+ 2064,2246,2037,2029,2056,1228,718,367,2256,2257,
+ 2258,2259,2020,2012,2246,2263,2053,2264,3347,2064,
+ 2246,2037,2029,2056,1228,718,367,2256,2257,2258,
+ 2259,2020,2012,2246,2263,2074,2264,504,2064,2246,
+ 2037,2029,2056,1228,718,367,2256,2257,2258,2259,
+ 2020,2012,17,179,2234,286,2234,2234,31,1334,
+ 1238,1,18,178,2237,90,2237,2237,2270,2271,
+ 67,179,179,179,2234,179,179,179,179,179,
+ 179,178,178,178,2237,178,178,178,178,178,
+ 178,2246,1,2234,1875,2246,2251,50,253,1873,
+ 49,2246,2109,2237,71,2109,250,57,2246,254,
+ 56,2234,55,1334,2462,2463,2464,2462,2463,2464,
+ 90,2237,2246,65,1326,2462,2463,2464,2462,2463,
+ 2464,2246,682,573,203,2255,41,2246,1082,191,
+ 1,191,1459,1459,191,187,1632,186,1,2246,
+ 208,2250,632,2254,2246,2246,2246,2246,2246,2246,
+ 2246,342,2246,2246,2100,2079,2246,2100,2079,594,
+ 707,2246,594,707,594,707,2246,2246,2246,2246,
+ 2246,2246,781,2246,2246,2246,2246,2246,1818,2246,
+ 2246,2246,2246,2246,1155,2246,2246,2246,2246,2246,
+ 2427,2246,2246,2246,2246,2246,2246,2246,2426
};
};
public final static char termAction[] = TermAction.termAction;
@@ -860,36 +841,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface Asb {
public final static char asb[] = {0,
- 475,1,364,440,475,38,508,520,520,36,
- 36,520,36,520,366,196,442,431,506,442,
- 336,40,60,40,60,198,40,442,528,536,
- 196,3,4,300,366,38,293,579,578,196,
- 90,337,60,60,60,60,198,198,528,389,
- 442,300,121,302,366,442,148,442,336,179,
- 294,294,327,506,506,166,506,506,294,336,
- 58,181,58,440,352,60,87,53,366,60,
- 60,87,200,248,200,198,389,528,302,223,
- 141,389,259,352,181,181,181,181,181,125,
- 181,181,181,253,270,275,273,281,277,284,
- 283,286,285,287,536,531,535,12,87,38,
- 181,90,578,334,294,181,294,350,181,393,
- 181,181,337,166,58,166,442,290,395,395,
- 87,55,87,87,181,327,200,528,535,389,
- 141,124,121,181,181,181,181,181,181,181,
- 181,181,181,181,536,536,539,352,352,327,
- 327,204,181,181,181,181,181,181,181,181,
- 181,181,181,181,181,181,181,181,181,181,
- 181,181,533,534,297,196,302,87,146,179,
- 294,536,506,536,536,336,166,181,293,181,
- 292,87,444,181,181,141,125,148,196,297,
- 536,536,536,141,273,273,270,270,277,277,
- 275,275,275,275,283,281,285,284,58,286,
- 300,536,446,531,146,294,179,166,181,166,
- 166,55,181,141,141,146,539,446,545,38,
- 181,302,536,200,331,204,294,536,335,146,
- 536,87,144,582,327,181,330,536,204,294,
- 166,200,243,148,141,327,181,166,536,87,
- 141,166
+ 404,10,279,387,404,569,437,449,567,449,
+ 567,567,449,567,449,281,338,389,378,435,
+ 389,251,567,241,241,567,241,389,338,465,
+ 338,1,2,214,281,569,184,531,530,338,
+ 77,252,569,108,569,138,338,457,389,214,
+ 34,216,281,389,16,389,251,321,185,185,
+ 241,435,435,308,435,435,185,251,8,323,
+ 8,387,267,569,108,138,138,457,304,216,
+ 57,54,304,150,267,323,323,323,323,323,
+ 38,323,323,323,144,161,166,164,172,168,
+ 175,174,177,176,178,465,460,281,464,543,
+ 135,569,323,77,530,249,185,323,185,265,
+ 323,340,323,323,252,308,8,308,389,181,
+ 342,342,108,135,536,108,138,140,393,140,
+ 304,457,464,304,54,37,34,323,323,323,
+ 323,323,323,323,323,323,323,323,465,465,
+ 398,267,267,241,241,192,323,323,323,323,
+ 323,323,323,323,323,323,323,323,323,323,
+ 323,323,323,323,323,323,462,463,211,338,
+ 216,135,14,321,185,465,435,465,465,251,
+ 308,323,108,538,140,135,323,241,457,391,
+ 323,323,54,38,16,338,211,465,465,465,
+ 54,164,164,161,161,168,168,166,166,166,
+ 166,174,172,176,175,8,177,214,465,468,
+ 460,14,185,321,308,323,308,308,135,184,
+ 323,183,135,54,54,14,398,468,497,569,
+ 323,216,465,140,189,192,185,465,250,538,
+ 323,14,465,135,12,534,241,323,188,465,
+ 192,185,308,140,244,16,54,241,323,308,
+ 465,135,54,308
};
};
public final static char asb[] = Asb.asb;
@@ -897,65 +878,63 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface Asr {
public final static byte asr[] = {0,
- 73,0,2,4,60,61,58,59,22,56,
- 0,24,30,19,31,48,25,32,26,33,
- 34,27,20,35,36,23,53,28,55,37,
- 38,21,40,41,42,1,3,6,0,24,
- 19,25,26,27,20,23,28,21,56,58,
- 59,6,22,4,5,1,2,60,0,24,
- 30,19,31,48,25,32,26,33,34,27,
- 20,35,36,23,53,28,55,37,38,21,
- 40,41,42,1,3,29,57,4,0,24,
- 30,19,31,48,25,32,26,33,34,27,
- 20,35,36,23,53,28,55,37,38,21,
- 40,41,42,1,3,4,61,58,22,0,
- 19,20,21,23,10,11,9,5,7,8,
- 17,18,12,2,1,3,13,14,15,16,
- 65,4,0,4,57,56,66,2,13,14,
- 15,16,1,3,10,11,9,5,7,8,
- 17,18,12,6,0,44,46,6,51,54,
- 47,39,49,50,45,43,52,29,22,4,
- 10,11,9,7,8,17,18,12,2,1,
- 3,13,14,15,16,5,0,1,3,4,
- 57,58,0,4,59,12,13,14,15,16,
- 1,3,2,10,11,9,5,7,8,17,
- 18,0,19,20,21,10,11,9,5,7,
- 8,17,18,12,2,1,3,13,14,15,
- 16,0,4,58,57,22,0,4,58,57,
- 61,0,56,2,66,80,10,11,61,83,
- 84,85,86,87,89,88,90,91,92,5,
- 67,68,7,8,63,62,69,70,71,72,
- 74,75,9,76,77,78,57,81,82,65,
- 59,60,58,22,4,0,5,2,56,59,
- 4,24,30,19,31,48,25,32,26,33,
- 34,27,20,35,36,23,53,28,55,37,
- 38,21,40,41,42,64,1,3,0,61,
- 56,66,0,73,79,57,44,46,6,51,
- 54,47,39,49,50,45,43,52,29,4,
- 22,13,14,15,16,10,11,9,7,8,
- 17,18,12,5,2,3,1,48,53,55,
- 38,30,35,33,34,32,31,36,37,40,
- 41,42,28,25,23,24,27,26,19,20,
- 21,0,39,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,58,56,59,
- 24,19,25,26,27,20,23,28,21,22,
- 4,5,2,1,0,24,30,19,31,48,
- 25,32,26,33,34,27,20,35,36,23,
- 53,28,55,37,38,21,40,41,42,1,
- 3,64,5,0,73,24,30,19,31,48,
- 25,32,26,33,34,27,20,35,36,23,
- 53,28,55,37,38,21,40,41,42,1,
- 3,5,22,4,29,2,0,38,30,35,
- 33,34,32,31,36,37,40,41,42,60,
- 22,28,25,23,24,27,26,19,20,21,
- 5,1,2,56,58,59,4,0,4,59,
- 5,2,56,0,9,5,7,8,67,68,
+ 2,4,61,57,59,22,41,60,0,73,
+ 0,4,58,41,66,2,13,14,15,16,
+ 1,3,10,11,9,5,7,8,17,18,
+ 12,6,0,19,20,21,23,10,11,9,
+ 5,7,8,17,18,12,2,1,3,13,
+ 14,15,16,65,4,0,19,20,21,10,
+ 11,9,5,7,8,17,18,12,2,1,
+ 3,13,14,15,16,0,24,42,19,43,
+ 54,25,44,26,45,46,27,20,47,48,
+ 23,55,28,56,49,50,21,51,52,53,
+ 1,3,4,61,57,22,0,24,42,19,
+ 43,54,25,44,26,45,46,27,20,47,
+ 48,23,55,28,56,49,50,21,51,52,
+ 53,1,3,29,4,58,0,1,3,4,
+ 58,57,0,41,2,66,80,10,11,61,
+ 83,84,85,86,87,89,88,90,91,92,
+ 5,67,68,7,8,63,62,69,70,71,
+ 72,74,75,9,76,77,78,58,81,82,
+ 65,59,60,57,22,4,0,61,41,66,
+ 0,4,59,12,13,14,15,16,1,3,
+ 2,10,11,9,5,7,8,17,18,0,
+ 5,2,41,59,4,24,42,19,43,54,
+ 25,44,26,45,46,27,20,47,48,23,
+ 55,28,56,49,50,21,51,52,53,64,
+ 1,3,0,4,57,58,22,0,73,79,
+ 58,32,34,6,38,40,35,30,36,37,
+ 33,31,39,29,4,22,13,14,15,16,
+ 10,11,9,7,8,17,18,12,5,2,
+ 3,1,54,55,56,50,42,47,45,46,
+ 44,43,48,49,51,52,53,28,25,23,
+ 24,27,26,19,20,21,0,32,34,6,
+ 38,40,35,30,36,37,33,31,39,29,
+ 22,4,10,11,9,7,8,17,18,12,
+ 2,1,3,13,14,15,16,5,0,30,
+ 0,66,80,10,11,9,7,8,67,68,
62,63,69,70,71,72,74,75,76,77,
- 78,81,82,60,83,84,85,86,87,88,
- 89,90,91,92,65,59,57,6,4,58,
- 22,61,0
+ 78,81,82,61,83,84,85,86,87,88,
+ 89,90,91,92,57,41,59,24,19,25,
+ 26,27,20,23,28,21,22,4,5,2,
+ 1,0,4,57,58,61,0,4,59,5,
+ 2,41,0,73,24,42,19,43,54,25,
+ 44,26,45,46,27,20,47,48,23,55,
+ 28,56,49,50,21,51,52,53,1,3,
+ 5,22,4,29,2,0,50,42,47,45,
+ 46,44,43,48,49,51,52,53,60,22,
+ 28,25,23,24,27,26,19,20,21,5,
+ 1,2,41,57,59,4,0,5,24,42,
+ 19,43,54,25,44,26,45,46,27,20,
+ 47,48,23,55,28,56,49,50,21,51,
+ 52,53,1,3,64,0,9,5,7,8,
+ 67,68,62,63,69,70,71,72,74,75,
+ 76,77,78,81,82,60,83,84,85,86,
+ 87,88,89,90,91,92,65,59,58,6,
+ 4,57,22,61,0,22,4,5,1,2,
+ 60,0,24,42,19,43,54,25,44,26,
+ 45,46,27,20,47,48,23,55,28,56,
+ 49,50,21,51,52,53,1,3,6,0
};
};
public final static byte asr[] = Asr.asr;
@@ -963,36 +942,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface Nasb {
public final static char nasb[] = {0,
- 128,25,16,107,137,32,93,94,94,65,
- 65,94,65,94,89,118,124,25,25,83,
- 29,25,74,25,74,74,25,26,74,39,
- 118,9,9,38,74,32,108,25,25,118,
- 25,61,74,112,74,112,65,74,74,96,
- 86,38,34,73,120,124,46,84,69,106,
- 108,108,65,25,25,49,25,25,108,29,
- 25,7,25,107,1,112,30,107,19,100,
- 112,30,104,25,25,65,96,67,141,43,
- 36,96,25,145,7,7,7,7,7,35,
- 7,7,7,25,25,25,25,25,25,25,
- 25,25,25,25,39,77,25,11,74,25,
- 7,25,25,25,108,7,108,149,146,25,
- 146,146,61,49,25,49,124,25,25,25,
- 30,124,30,30,7,65,104,67,39,96,
- 36,35,67,7,7,7,7,7,7,7,
- 7,7,7,7,39,39,133,145,145,59,
- 59,54,146,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,7,
- 146,7,9,9,76,118,73,30,74,151,
- 108,39,25,39,39,69,49,7,108,7,
- 25,30,25,7,7,36,35,7,118,132,
- 39,39,39,36,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,25,25,25,
- 38,39,116,78,42,108,151,49,146,49,
- 49,124,7,36,36,74,80,116,25,25,
- 7,73,39,104,110,151,108,39,25,42,
- 39,30,41,25,65,7,98,39,151,108,
- 49,104,57,46,36,65,7,49,39,30,
- 36,49
+ 138,29,19,75,78,10,106,107,15,107,
+ 45,45,107,44,107,101,155,97,29,29,
+ 95,12,62,62,62,62,62,109,29,151,
+ 155,17,17,150,89,10,76,29,29,155,
+ 29,58,37,89,29,89,29,89,144,150,
+ 47,71,124,97,51,142,67,74,76,76,
+ 62,29,29,119,29,29,76,12,29,8,
+ 29,75,1,29,130,89,62,89,128,158,
+ 41,49,128,29,162,8,8,8,8,8,
+ 48,8,8,8,29,29,29,29,29,29,
+ 29,29,29,29,29,151,85,22,29,166,
+ 89,29,8,29,29,29,76,8,76,30,
+ 163,29,163,163,58,119,29,119,97,29,
+ 29,29,89,13,75,134,62,82,29,29,
+ 128,35,151,128,49,48,35,8,8,8,
+ 8,8,8,8,8,8,8,8,151,151,
+ 87,162,162,54,54,64,163,8,8,8,
+ 8,8,8,8,8,8,8,8,8,8,
+ 8,8,8,8,163,8,17,17,84,155,
+ 71,13,89,32,76,151,29,151,151,67,
+ 119,8,130,97,82,13,8,62,35,29,
+ 8,8,49,48,8,155,148,151,151,151,
+ 49,29,29,29,29,29,29,29,29,29,
+ 29,29,29,29,29,29,29,150,151,153,
+ 113,40,76,32,119,163,119,119,13,76,
+ 8,29,13,49,49,89,115,153,29,29,
+ 8,71,151,82,93,32,76,151,29,97,
+ 8,40,151,13,39,29,62,8,56,151,
+ 32,76,119,82,91,51,49,62,8,119,
+ 151,13,49,119
};
};
public final static char nasb[] = Nasb.nasb;
@@ -1000,22 +979,23 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface Nasr {
public final static char nasr[] = {0,
- 84,83,82,81,80,79,5,0,45,0,
- 1,23,46,28,0,37,1,98,84,83,
- 82,81,80,79,0,37,39,0,1,36,
- 0,102,0,1,5,40,0,1,24,0,
- 88,67,5,1,0,5,67,0,22,29,
- 1,30,0,1,104,0,109,0,89,0,
- 1,23,29,92,22,0,25,0,29,22,
- 69,36,23,1,0,24,1,37,42,58,
- 57,0,1,39,44,37,42,0,70,71,
- 72,73,61,47,0,76,0,113,0,1,
- 52,64,0,68,0,27,1,17,0,111,
- 0,75,1,52,0,1,23,53,0,23,
- 1,115,0,42,37,1,0,114,23,1,
- 0,24,57,58,1,0,23,1,100,0,
- 106,1,23,0,52,1,27,0,23,46,
- 1,60,0
+ 83,82,81,80,74,79,78,5,0,105,
+ 0,1,41,0,108,0,46,0,36,1,
+ 101,83,82,81,80,74,79,78,0,24,
+ 47,1,61,0,25,0,109,0,89,67,
+ 5,1,0,111,86,0,1,5,39,0,
+ 5,67,0,90,0,119,0,1,24,29,
+ 93,21,0,1,107,0,29,21,69,41,
+ 1,24,0,27,1,17,0,24,1,103,
+ 0,68,0,23,36,43,58,59,1,0,
+ 115,0,117,0,45,38,43,36,1,0,
+ 74,70,71,72,73,62,48,0,36,38,
+ 40,0,36,43,59,58,40,0,21,29,
+ 1,30,0,24,1,121,0,75,0,96,
+ 1,55,0,1,55,87,0,120,24,1,
+ 0,38,45,36,43,40,0,58,59,1,
+ 23,0,1,24,40,53,0,112,1,24,
+ 0,55,1,27,0,1,24,47,28,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -1025,10 +1005,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public final static char terminalIndex[] = {0,
85,2,86,87,9,3,10,11,8,6,
7,68,81,82,83,84,12,13,48,64,
- 76,92,69,44,55,60,63,72,93,47,
- 52,56,61,62,66,67,74,75,77,78,
- 79,80,45,46,49,50,51,54,57,58,
- 59,65,70,71,73,1,91,42,90,29,
+ 76,92,69,44,55,60,63,72,93,77,
+ 45,46,49,50,51,57,58,59,65,71,
+ 1,47,52,56,61,62,66,67,74,75,
+ 78,79,80,54,70,73,42,91,90,29,
31,16,17,30,89,4,14,15,18,19,
20,21,94,22,23,24,25,26,53,5,
27,28,32,33,34,35,36,37,38,39,
@@ -1042,16 +1022,17 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public final static char nonterminalIndex[] = {0,
0,0,0,0,100,104,105,106,107,108,
109,110,111,112,113,114,98,115,116,0,
- 117,123,127,96,135,0,99,122,118,121,
- 0,0,0,0,0,97,156,0,159,95,
- 153,155,0,157,158,126,134,0,0,0,
- 145,148,154,120,167,170,171,172,0,0,
- 137,144,0,147,160,166,0,0,125,138,
- 139,140,141,0,146,165,169,102,129,130,
- 131,132,133,136,142,143,152,173,101,103,
- 119,124,128,150,0,0,151,161,164,178,
- 0,180,0,0,149,162,163,168,0,174,
- 175,0,176,177,179,0
+ 123,117,96,127,135,0,99,122,118,121,
+ 0,0,0,0,0,157,0,160,95,0,
+ 97,154,156,0,158,159,126,134,0,0,
+ 0,145,155,120,149,168,171,172,173,0,
+ 0,137,144,0,161,167,0,0,125,138,
+ 139,140,141,146,166,170,102,129,130,131,
+ 132,133,136,142,143,0,148,153,174,101,
+ 103,119,124,128,0,147,151,0,0,152,
+ 162,165,179,0,181,0,0,0,0,150,
+ 0,163,164,169,0,175,176,0,177,178,
+ 180,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -1059,10 +1040,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 172,82,35,41,91,111,117,12,142,21,
- 51,69,123,128,28,47,101,151,168,187,
- 191,155,1,1,32,56,79,195,6,105,
- 162,133,162,97,59,59,59
+ 82,113,166,92,35,41,121,12,136,21,
+ 51,69,28,47,103,145,162,181,185,149,
+ 1,1,32,56,79,189,6,107,156,127,
+ 156,99,59,59,59
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -1070,10 +1051,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 89,89,4,4,89,89,89,18,148,26,
- 4,26,89,89,26,4,99,89,26,26,
- 4,159,4,4,26,4,26,26,9,108,
- 165,136,180,99,66,61,74
+ 90,90,90,90,4,4,90,18,142,26,
+ 4,26,26,4,101,90,26,26,4,153,
+ 4,4,26,4,26,26,9,110,159,130,
+ 174,101,66,61,74
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -1081,10 +1062,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 5,72,45,45,72,70,70,62,33,59,
- 45,39,70,70,59,45,64,28,6,5,
- 5,19,113,112,57,45,37,3,88,64,
- 7,34,5,64,39,44,39
+ 72,70,5,72,46,46,70,63,33,60,
+ 46,38,60,46,87,28,6,5,5,19,
+ 119,118,58,46,36,3,89,87,7,34,
+ 5,87,38,45,38
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -1092,10 +1073,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopeLa {
public final static byte scopeLa[] = {
- 57,57,65,65,57,57,57,57,79,59,
- 65,59,57,57,59,65,22,57,59,59,
- 65,60,65,65,59,65,59,59,61,1,
- 59,39,59,22,2,2,2
+ 58,58,58,58,65,65,58,58,79,59,
+ 65,59,59,65,22,58,59,59,65,60,
+ 65,65,59,65,59,59,61,1,59,30,
+ 59,22,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -1103,10 +1084,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
- 5,114,89,89,114,114,114,61,74,93,
- 89,100,114,114,93,89,67,73,5,5,
- 5,35,1,3,93,89,100,5,63,67,
- 8,74,5,67,100,102,100
+ 112,112,9,112,87,87,112,65,72,91,
+ 87,98,91,87,5,71,9,9,9,39,
+ 1,3,91,87,98,9,67,5,12,72,
+ 9,5,98,100,98
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -1114,26 +1095,26 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 147,56,0,95,0,203,94,0,31,144,
- 0,161,183,94,6,160,0,97,0,0,
- 158,94,2,150,0,96,0,158,94,2,
- 0,170,2,0,114,23,192,94,56,0,
- 114,192,94,23,56,0,114,23,56,0,
- 114,192,94,56,0,114,56,0,130,0,
- 2,0,162,96,0,2,96,0,158,94,
- 2,130,0,2,0,160,96,0,144,2,
- 0,161,189,94,6,115,48,0,97,0,
- 161,189,94,6,48,0,145,0,98,0,
- 198,94,145,0,94,145,0,149,98,0,
- 167,94,6,115,55,0,167,94,6,115,
- 53,0,167,94,6,55,0,167,94,6,
- 53,0,123,47,0,77,2,99,96,98,
- 0,123,117,120,2,51,0,53,121,0,
- 185,94,6,0,120,82,111,0,29,116,
- 0,171,2,0,96,105,0,171,2,12,
- 0,161,183,94,6,117,171,2,0,96,
- 3,0,103,0,97,0,197,2,98,0,
- 120,56,98,0,120,2,0
+ 147,41,0,95,0,209,94,0,31,144,
+ 0,161,184,94,6,160,0,97,0,0,
+ 158,94,2,151,0,96,0,158,94,2,
+ 0,169,2,0,115,23,195,94,41,0,
+ 115,195,94,23,41,0,115,23,41,0,
+ 115,195,94,41,0,115,41,0,129,0,
+ 2,0,163,96,0,2,96,0,158,94,
+ 2,129,0,2,0,161,96,0,145,2,
+ 0,161,192,94,6,114,204,54,0,97,
+ 0,161,192,94,6,204,54,0,148,0,
+ 98,0,203,94,148,0,94,148,0,150,
+ 98,0,188,94,6,202,114,201,167,0,
+ 188,94,6,201,167,0,123,35,0,77,
+ 2,99,96,98,0,123,116,120,2,38,
+ 0,53,121,0,186,94,6,0,120,82,
+ 111,0,29,116,0,170,2,0,96,105,
+ 0,170,2,12,0,161,184,94,6,116,
+ 170,2,0,96,3,0,103,0,97,0,
+ 200,2,98,0,120,41,98,0,120,2,
+ 0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -1141,18 +1122,18 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface ScopeState {
public final static char scopeState[] = {0,
- 1418,0,1528,0,1562,1218,364,2116,1909,339,
- 527,504,422,615,1802,1782,1767,1580,1112,839,
- 1898,1362,1849,1825,2107,2099,2080,2040,2027,776,
- 2013,2005,1459,1185,1198,1165,741,1145,1125,1092,
- 1072,1052,1032,1012,992,972,952,932,912,892,
- 872,852,819,697,799,677,657,310,717,481,
- 589,569,549,458,436,0,1929,1428,1924,1922,
- 1529,0,333,1693,1670,1647,1624,1601,1578,1541,
- 1391,1504,1481,1325,612,1250,1225,0,1674,1577,
- 1229,327,1182,1293,1815,1339,1883,1264,0,365,
- 337,1706,1293,1339,1193,1506,1264,1838,1695,1826,
- 1401,1717,0,714,310,1406,337,0
+ 1187,0,1376,0,2095,1741,1627,0,1228,718,
+ 367,2118,1899,527,1509,781,682,1632,1497,1358,
+ 1241,819,1175,1102,1746,413,707,594,2109,2100,
+ 2079,2064,2056,1537,2037,2029,2020,2012,1208,1188,
+ 1155,342,1135,1114,1081,1061,1040,1019,998,977,
+ 956,935,914,893,872,851,830,798,760,739,
+ 657,315,550,573,632,611,504,481,458,0,
+ 2136,1804,1782,1760,1738,1700,1676,1629,1389,1579,
+ 1557,1322,1535,1260,1235,0,1529,1508,404,362,
+ 1386,1488,1875,1336,1667,1273,0,1447,374,1818,
+ 1488,1647,1336,1581,1273,1841,1806,1425,1397,390,
+ 0,655,315,1402,374,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1160,36 +1141,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public interface InSymb {
public final static char inSymb[] = {0,
- 0,196,94,116,207,191,172,173,174,55,
- 53,175,48,176,177,94,2,1,130,94,
- 6,115,6,115,6,6,115,146,5,144,
- 94,130,135,2,200,191,186,179,132,94,
- 137,94,6,94,6,94,94,6,5,94,
- 146,2,56,94,94,58,61,146,185,52,
- 43,45,50,49,39,47,54,51,122,6,
- 46,44,115,116,94,94,167,145,94,168,
- 94,167,189,115,190,94,94,169,94,23,
- 114,94,99,2,12,18,17,8,7,5,
- 9,11,10,98,101,103,102,105,104,107,
- 106,109,108,111,158,116,159,208,6,160,
- 5,137,132,4,120,94,115,2,2,123,
- 2,2,94,60,147,60,94,184,1,3,
- 167,94,167,161,61,58,189,169,199,94,
- 114,192,169,92,91,90,88,89,87,86,
- 85,84,83,61,171,120,145,2,2,80,
- 66,2,56,68,67,5,62,63,8,7,
- 75,74,72,71,70,69,76,9,78,77,
- 82,81,150,151,2,94,58,94,6,139,
- 153,120,39,120,120,185,60,58,198,60,
- 144,161,58,192,23,114,5,117,94,2,
- 171,171,197,120,102,102,101,101,104,104,
- 103,103,103,103,106,105,108,107,120,109,
- 2,170,94,146,94,153,110,117,2,117,
- 117,58,60,114,114,6,146,94,117,117,
- 60,94,158,183,94,110,153,120,123,94,
- 158,161,58,203,66,56,204,153,110,117,
- 79,183,129,61,147,66,56,117,153,161,
- 147,117
+ 0,199,94,117,213,194,171,172,167,173,
+ 56,55,174,54,175,176,94,2,1,129,
+ 94,6,201,179,179,204,179,146,133,145,
+ 94,129,136,2,206,194,187,178,131,94,
+ 138,94,114,6,114,6,133,5,146,2,
+ 41,94,94,57,61,146,186,39,31,33,
+ 37,36,30,35,40,38,122,6,34,32,
+ 114,117,94,202,94,6,94,5,94,94,
+ 23,115,94,99,2,12,18,17,8,7,
+ 5,9,11,10,98,101,103,102,105,104,
+ 107,106,109,108,111,158,117,94,159,214,
+ 6,160,5,138,131,4,120,94,114,2,
+ 2,123,2,2,94,60,147,60,94,185,
+ 1,3,6,188,148,189,94,192,114,193,
+ 94,168,205,94,115,195,168,92,91,90,
+ 88,89,87,86,85,84,83,61,170,120,
+ 148,2,2,80,66,2,41,68,67,5,
+ 62,63,8,7,75,74,72,71,70,69,
+ 76,9,78,77,82,81,151,152,2,94,
+ 57,94,6,140,154,120,30,120,120,186,
+ 60,57,94,94,192,161,61,57,168,57,
+ 195,23,115,5,116,94,2,170,170,200,
+ 120,102,102,101,101,104,104,103,103,103,
+ 103,106,105,108,107,120,109,2,169,94,
+ 146,94,154,110,116,2,116,116,188,203,
+ 60,145,161,115,115,6,146,94,116,116,
+ 60,94,158,184,94,110,154,120,123,57,
+ 60,94,158,161,57,209,66,41,210,154,
+ 110,116,79,184,134,61,147,66,41,116,
+ 154,161,147,116
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1320,7 +1301,7 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
"constant_expression",
"statement",
"compound_statement",
- "identifier_or_typedefname",
+ "identifier_token",
"block_item_list",
"block_item",
"declaration",
@@ -1346,6 +1327,7 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
"complete_declarator",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1390,8 +1372,8 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public final static int
ERROR_SYMBOL = 29,
- SCOPE_UBOUND = 36,
- SCOPE_SIZE = 37,
+ SCOPE_UBOUND = 34,
+ SCOPE_SIZE = 35,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1400,20 +1382,20 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 292,
+ NUM_STATES = 294,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2529,
+ LA_STATE_OFFSET = 2560,
MAX_LA = 2147483647,
- NUM_RULES = 309,
- NUM_NONTERMINALS = 116,
- NUM_SYMBOLS = 209,
+ NUM_RULES = 314,
+ NUM_NONTERMINALS = 122,
+ NUM_SYMBOLS = 215,
SEGMENT_SIZE = 8192,
- START_STATE = 1796,
+ START_STATE = 1762,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 73,
EOLT_SYMBOL = 73,
- ACCEPT_ACTION = 2195,
- ERROR_ACTION = 2220;
+ ACCEPT_ACTION = 2221,
+ ERROR_ACTION = 2246;
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 4076f6d769..a086168e2d 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
@@ -16,42 +16,42 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99;
public interface C99Parsersym {
public final static int
TK_auto = 24,
- TK_break = 43,
- TK_case = 44,
- TK_char = 30,
+ TK_break = 31,
+ TK_case = 32,
+ TK_char = 42,
TK_const = 19,
- TK_continue = 45,
- TK_default = 46,
- TK_do = 47,
- TK_double = 31,
+ TK_continue = 33,
+ TK_default = 34,
+ TK_do = 35,
+ TK_double = 43,
TK_else = 79,
- TK_enum = 48,
+ TK_enum = 54,
TK_extern = 25,
- TK_float = 32,
- TK_for = 49,
- TK_goto = 50,
- TK_if = 51,
+ TK_float = 44,
+ TK_for = 36,
+ TK_goto = 37,
+ TK_if = 38,
TK_inline = 26,
- TK_int = 33,
- TK_long = 34,
+ TK_int = 45,
+ TK_long = 46,
TK_register = 27,
TK_restrict = 20,
- TK_return = 52,
- TK_short = 35,
- TK_signed = 36,
+ TK_return = 39,
+ TK_short = 47,
+ TK_signed = 48,
TK_sizeof = 12,
TK_static = 23,
- TK_struct = 53,
- TK_switch = 54,
+ TK_struct = 55,
+ TK_switch = 40,
TK_typedef = 28,
- TK_union = 55,
- TK_unsigned = 37,
- TK_void = 38,
+ TK_union = 56,
+ TK_unsigned = 49,
+ TK_void = 50,
TK_volatile = 21,
- TK_while = 39,
- TK__Bool = 40,
- TK__Complex = 41,
- TK__Imaginary = 42,
+ TK_while = 30,
+ TK__Bool = 51,
+ TK__Complex = 52,
+ TK__Imaginary = 53,
TK_integer = 13,
TK_floating = 14,
TK_charconst = 15,
@@ -60,7 +60,7 @@ public interface C99Parsersym {
TK_Completion = 3,
TK_EndOfCompletion = 4,
TK_Invalid = 93,
- TK_LeftBracket = 56,
+ TK_LeftBracket = 41,
TK_LeftParen = 2,
TK_LeftBrace = 6,
TK_Dot = 66,
@@ -101,10 +101,10 @@ public interface C99Parsersym {
TK_AndAssign = 90,
TK_CaretAssign = 91,
TK_OrAssign = 92,
- TK_Comma = 58,
+ TK_Comma = 57,
TK_RightBracket = 65,
TK_RightParen = 59,
- TK_RightBrace = 57,
+ TK_RightBrace = 58,
TK_SemiColon = 22,
TK_ERROR_TOKEN = 29,
TK_EOF_TOKEN = 73;
@@ -140,6 +140,18 @@ public interface C99Parsersym {
"register",
"typedef",
"ERROR_TOKEN",
+ "while",
+ "break",
+ "case",
+ "continue",
+ "default",
+ "do",
+ "for",
+ "goto",
+ "if",
+ "return",
+ "switch",
+ "LeftBracket",
"char",
"double",
"float",
@@ -149,26 +161,14 @@ public interface C99Parsersym {
"signed",
"unsigned",
"void",
- "while",
"_Bool",
"_Complex",
"_Imaginary",
- "break",
- "case",
- "continue",
- "default",
- "do",
"enum",
- "for",
- "goto",
- "if",
- "return",
"struct",
- "switch",
"union",
- "LeftBracket",
- "RightBrace",
"Comma",
+ "RightBrace",
"RightParen",
"Colon",
"Assign",
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 0bacf4c04e..3f67e667f9 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
@@ -585,7 +585,7 @@ public C99SizeofExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 100: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 100: labeled_statement ::= identifier_token : statement
//
case 100: { action. consumeStatementLabeled(); break;
}
@@ -681,7 +681,7 @@ public C99SizeofExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 120: jump_statement ::= goto identifier_or_typedefname ;
+ // Rule 120: jump_statement ::= goto identifier_token ;
//
case 120: { action. consumeStatementGoto(); break;
}
@@ -783,489 +783,477 @@ public C99SizeofExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 181: struct_or_union_specifier ::= struct { <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(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 181: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 182: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // 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 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 182: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 183: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 183: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 184: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 185: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 186: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 195: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 187: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 196: struct_declaration ::= specifier_qualifier_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 196: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 197: struct_declaration ::= ERROR_TOKEN
//
- case 192: { action. consumeStructDeclaration(true); break;
+ case 197: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 203: struct_declarator ::= : constant_expression
//
- case 193: { action. consumeStructDeclaration(false); break;
+ case 203: { action. consumeBitField(false); break;
}
//
- // Rule 194: struct_declaration ::= ERROR_TOKEN
+ // Rule 204: struct_declarator ::= declarator : constant_expression
//
- case 194: { action. consumeDeclarationProblem(); break;
+ case 204: { action. consumeBitField(true); break;
}
//
- // Rule 200: struct_declarator ::= : constant_expression
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 200: { action. consumeBitField(false); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 201: struct_declarator ::= declarator : constant_expression
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(true); break;
+ case 206: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 202: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 212: enumerator ::= identifier_token
//
- case 202: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 212: { action. consumeEnumerator(false); break;
}
//
- // Rule 203: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 213: enumerator ::= identifier_token = constant_expression
//
- case 203: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 213: { action. consumeEnumerator(true); break;
}
//
- // Rule 208: enumerator ::= identifier_or_typedefname
+ // Rule 214: type_qualifier ::= type_qualifier_token
//
- case 208: { action. consumeEnumerator(false); break;
- }
-
- //
- // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression
- //
- case 209: { action. consumeEnumerator(true); break;
- }
-
- //
- // Rule 210: type_qualifier ::= type_qualifier_token
- //
- case 210: { action. consumeDeclSpecToken(); break;
+ case 214: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 214: function_specifier ::= inline
+ // Rule 218: function_specifier ::= inline
//
- case 214: { action. consumeDeclSpecToken(); break;
+ case 218: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 216: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 216: { action. consumeDeclaratorWithPointer(true); break;
+ case 220: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 221: basic_direct_declarator ::= declarator_id_name
+ // Rule 225: basic_direct_declarator ::= declarator_id_name
//
- case 221: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 225: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 222: basic_direct_declarator ::= ( declarator )
+ // Rule 226: basic_direct_declarator ::= ( declarator )
//
- case 222: { action. consumeDirectDeclaratorBracketed(); break;
+ case 226: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 223: declarator_id_name ::= identifier
+ // Rule 227: declarator_id_name ::= identifier
//
- case 223: { action. consumeIdentifierName(); break;
+ case 227: { action. consumeIdentifierName(); break;
}
//
- // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 227: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 230: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 230: { action. consumeDeclaratorWithPointer(true); break;
+ case 234: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 233: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 233: { action. consumeDeclaratorWithPointer(true); break;
+ case 237: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 234: identifier_list ::= identifier
+ // Rule 238: identifier_list ::= identifier
//
- case 234: { action. consumeIdentifierKnR(); break;
+ case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 235: identifier_list ::= identifier_list , identifier
+ // Rule 239: identifier_list ::= identifier_list , identifier
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 236: array_modifier ::= [ ]
+ // Rule 240: array_modifier ::= [ ]
//
- case 236: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 237: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 238: array_modifier ::= [ assignment_expression ]
+ // Rule 242: array_modifier ::= [ assignment_expression ]
//
- case 238: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 242: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 240: array_modifier ::= [ static assignment_expression ]
+ // Rule 244: array_modifier ::= [ static assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 241: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 243: array_modifier ::= [ * ]
+ // Rule 247: array_modifier ::= [ * ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 246: pointer_seq ::= *
+ // Rule 250: pointer_seq ::= pointer_hook *
//
- case 246: { action. consumePointer(); break;
+ case 250: { action. consumePointer(); break;
}
//
- // Rule 247: pointer_seq ::= pointer_seq *
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook *
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointer(); break;
}
//
- // Rule 248: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 252: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
//
- case 248: { action. consumePointerTypeQualifierList(); break;
+ case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 249: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 253: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 253: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 252: parameter_type_list ::= parameter_list
+ // Rule 257: parameter_type_list ::= parameter_list
//
- case 252: { action. consumeEmpty(); break;
+ case 257: { action. consumeEmpty(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list , ...
+ // Rule 258: parameter_type_list ::= parameter_list , ...
//
- case 253: { action. consumePlaceHolder(); break;
+ case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 254: parameter_type_list ::= ...
+ // Rule 259: parameter_type_list ::= ...
//
- case 254: { action. consumePlaceHolder(); break;
+ case 259: { action. consumePlaceHolder(); break;
}
//
- // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 257: { action. consumeParameterDeclaration(); break;
+ case 262: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers
+ // Rule 263: parameter_declaration ::= declaration_specifiers
//
- case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 261: type_name ::= specifier_qualifier_list
+ // Rule 266: type_name ::= specifier_qualifier_list
//
- case 261: { action. consumeTypeId(false); break;
+ case 266: { action. consumeTypeId(false); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 267: type_name ::= specifier_qualifier_list abstract_declarator
//
- case 262: { action. consumeTypeId(true); break;
+ case 267: { action. consumeTypeId(true); break;
}
//
- // Rule 264: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 264: { action. consumeDeclaratorWithPointer(false); break;
+ case 269: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 270: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 269: { action. consumeDirectDeclaratorBracketed(); break;
+ case 274: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 270: array_direct_abstract_declarator ::= array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= array_modifier
//
- case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 273: function_direct_abstract_declarator ::= ( )
+ // Rule 278: function_direct_abstract_declarator ::= ( )
//
- case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 276: 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 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 277: initializer ::= assignment_expression
+ // Rule 282: initializer ::= assignment_expression
//
- case 277: { action. consumeInitializer(); break;
+ case 282: { action. consumeInitializer(); break;
}
//
- // Rule 278: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 283: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
- case 278: { action. consumeInitializerList(); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 279: initializer ::= { <openscope-ast> }
+ // Rule 284: initializer ::= { <openscope-ast> }
//
- case 279: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 280: start_initializer_list ::= $Empty
+ // Rule 285: start_initializer_list ::= $Empty
//
- case 280: { action. initializerListStart(); break;
+ case 285: { action. initializerListStart(); break;
}
//
- // Rule 281: end_initializer_list ::= $Empty
+ // Rule 286: end_initializer_list ::= $Empty
//
- case 281: { action. initializerListEnd(); break;
+ case 286: { action. initializerListEnd(); break;
}
//
- // Rule 286: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 286: { action. consumeInitializerDesignated(); break;
+ case 291: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 290: designator_base ::= [ constant_expression ]
+ // Rule 295: designator_base ::= [ constant_expression ]
//
- case 290: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 291: designator_base ::= . identifier_or_typedefname
+ // Rule 296: designator_base ::= . identifier_token
//
- case 291: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorField(); break;
}
//
- // Rule 292: designator ::= [ constant_expression ]
+ // Rule 297: designator ::= [ constant_expression ]
//
- case 292: { action. consumeDesignatorArray(); break;
+ case 297: { action. consumeDesignatorArray(); break;
}
//
- // Rule 293: designator ::= . identifier_or_typedefname
+ // Rule 298: designator ::= . identifier_token
//
- case 293: { action. consumeDesignatorField(); break;
+ case 298: { action. consumeDesignatorField(); break;
}
//
- // Rule 294: translation_unit ::= external_declaration_list
+ // Rule 299: translation_unit ::= external_declaration_list
//
- case 294: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 295: translation_unit ::= $Empty
+ // Rule 300: translation_unit ::= $Empty
//
- case 295: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 300: external_declaration ::= ;
+ // Rule 305: external_declaration ::= ;
//
- case 300: { action. consumeDeclarationEmpty(); break;
+ case 305: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 301: external_declaration ::= ERROR_TOKEN
+ // Rule 306: external_declaration ::= ERROR_TOKEN
//
- case 301: { action. consumeDeclarationProblem(); break;
+ case 306: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 304: { action. consumeFunctionDefinition(true); break;
+ case 309: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 305: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 305: { action. consumeFunctionDefinition(false); break;
+ case 310: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 306: 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 306: { action. consumeFunctionDefinitionKnR(); break;
+ case 311: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 307: function_body ::= { }
+ // Rule 312: function_body ::= { }
//
- case 307: { action. consumeStatementCompoundStatement(false); break;
+ case 312: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 308: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 313: function_body ::= { <openscope-ast> block_item_list }
//
- case 308: { action. consumeStatementCompoundStatement(true); break;
+ case 313: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 310: no_sizeof_type_name_start ::= ERROR_TOKEN
+ // Rule 315: no_sizeof_type_name_start ::= ERROR_TOKEN
//
- case 310: { action. consumeExpressionProblem(); break;
+ case 315: { action. consumeExpressionProblem(); 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 16efd5d96f..27f3a06780 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
@@ -52,160 +52,159 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
2,2,1,3,1,3,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5,5,6,6,2,2,2,1,0,1,
- 2,4,2,1,1,1,3,1,1,2,
- 3,6,7,1,0,1,3,1,3,1,
- 1,1,1,1,1,3,1,1,1,1,
- 1,3,1,2,2,1,5,3,1,3,
- 5,1,3,1,3,2,4,3,5,4,
- 6,6,3,5,1,1,2,3,4,1,
- 2,1,3,1,1,3,2,1,1,1,
- 1,2,1,2,3,1,1,1,3,1,
- 2,2,2,3,4,5,1,7,3,0,
- 0,1,1,3,3,4,1,1,2,3,
- 2,3,2,1,0,1,2,1,1,1,
- 1,1,2,4,3,6,2,4,1,1,
- -36,0,0,0,0,0,0,0,-208,0,
+ 6,8,0,0,1,1,3,3,3,0,
+ 1,0,1,2,4,2,1,1,1,3,
+ 1,1,2,3,7,8,0,1,0,1,
+ 3,1,3,1,1,1,1,1,1,3,
+ 1,1,1,1,1,3,1,2,2,1,
+ 5,3,1,3,5,1,3,1,3,2,
+ 4,3,5,4,6,6,3,5,1,2,
+ 3,4,5,0,1,2,1,3,1,1,
+ 3,2,1,1,1,1,2,1,2,3,
+ 1,1,1,3,1,2,2,2,3,4,
+ 5,1,7,3,0,0,1,1,3,3,
+ 4,1,1,2,3,2,3,2,1,0,
+ 1,2,1,1,1,1,1,2,4,3,
+ 6,2,4,1,1,-36,0,0,0,0,
+ 0,0,0,0,0,-2,0,0,0,0,
+ 0,0,0,0,0,0,0,-80,-81,-4,
+ -74,-14,0,0,0,0,-121,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,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-16,0,
+ -17,-78,-75,-209,-18,0,0,0,0,0,
+ -37,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-127,-83,-138,0,0,
+ -133,-19,0,0,0,0,0,0,0,0,
+ 0,0,0,-20,0,0,0,-21,0,-185,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-196,0,-12,0,0,0,0,
- 0,0,0,0,0,0,-13,0,0,0,
- 0,0,0,0,0,0,0,0,0,-29,
- -2,-127,-140,-4,-14,0,0,0,0,0,
- 0,0,0,0,-16,-17,-18,0,-19,0,
- 0,0,0,0,-191,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-166,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-30,-179,-144,-33,0,-55,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-113,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-72,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-20,0,-21,0,-187,0,0,0,
- 0,0,0,0,-22,0,0,0,0,0,
- 0,0,0,0,0,0,-3,0,0,0,
- 0,0,0,0,-23,0,0,0,0,0,
- 0,0,0,0,0,0,-24,-25,-26,-170,
- -85,-51,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-34,0,-107,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-67,
- -126,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-158,
0,0,0,0,0,0,0,0,0,0,
- -86,0,-87,0,-27,0,0,0,0,0,
- 0,0,-88,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,-29,
+ 0,0,-55,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,-22,
+ 0,0,0,0,0,0,-157,-23,0,-6,
+ 0,0,0,0,0,0,-193,0,-72,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-57,0,0,0,0,0,
- 0,0,-89,0,0,0,0,0,0,0,
- 0,0,0,0,-58,0,0,0,0,0,
- 0,0,-90,0,0,0,0,0,0,0,
- 0,0,0,0,-59,0,0,0,0,0,
- 0,0,-91,0,0,0,0,0,0,0,
- 0,0,0,0,-60,0,0,0,0,0,
- 0,0,-92,0,0,0,0,0,0,0,
- 0,0,0,0,-61,0,0,0,0,0,
- 0,0,-93,0,0,0,0,0,0,0,
- 0,0,0,0,-62,0,0,0,0,0,
- 0,0,-94,0,0,0,0,0,0,0,
- 0,0,0,0,-63,0,0,0,0,0,
- 0,0,-95,0,0,0,0,0,0,0,
- 0,0,0,0,-64,0,0,0,0,0,
- 0,0,-96,0,0,0,0,0,0,0,
- 0,0,0,0,-65,0,0,0,0,0,
- 0,0,-97,0,0,0,0,0,0,0,
- 0,0,0,0,-66,0,0,0,0,0,
- 0,0,-130,0,0,0,0,0,0,0,
- 0,0,0,0,-37,0,0,0,0,0,
- 0,0,0,0,-205,-98,-99,-100,-79,-101,
- 0,0,0,0,-145,0,0,0,0,0,
- 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,0,0,-6,0,
+ 0,0,-181,0,0,0,0,0,0,0,
+ 0,0,-30,0,0,0,0,0,0,0,
+ 0,0,-3,0,0,0,0,0,0,0,
+ 0,0,-105,0,0,0,0,0,0,0,
+ 0,0,0,0,-24,-51,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-146,0,0,0,0,0,0,0,-103,
+ -69,0,-108,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-169,0,0,0,0,0,0,0,-114,
+ 0,0,0,0,-33,-126,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -184,0,0,0,0,0,0,0,-116,0,
- 0,0,0,0,0,0,0,0,0,-190,
+ 0,0,0,0,0,-130,0,-142,0,-52,
+ 0,0,0,0,0,0,0,0,0,-123,
+ 0,0,0,-25,-26,0,0,0,0,0,
+ -163,-86,0,0,0,0,-27,0,0,0,
+ 0,0,0,0,0,0,-175,0,0,0,
+ 0,0,0,0,0,0,0,0,-87,0,
+ -210,-88,0,0,-89,0,0,0,0,0,
+ -46,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-56,0,0,0,0,
+ 0,0,0,0,0,-90,0,0,0,0,
+ 0,0,0,0,0,-57,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-194,0,
+ 0,0,0,0,0,-58,0,0,0,0,
+ 0,0,0,0,0,-91,0,0,0,0,
+ 0,0,0,0,0,-59,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-204,0,0,
+ 0,0,0,0,0,-60,0,0,0,0,
+ 0,0,0,0,0,-92,0,0,0,0,
+ 0,0,0,0,0,-61,0,0,0,0,
+ 0,0,0,0,0,-93,0,0,0,0,
+ 0,0,0,0,0,-62,0,0,0,0,
+ 0,0,0,0,0,-94,0,0,0,0,
+ 0,0,0,0,0,-63,0,0,0,0,
+ 0,0,0,0,0,-95,0,0,0,0,
+ 0,0,0,0,0,-64,0,0,0,0,
+ 0,0,0,0,0,-96,0,0,0,0,
+ 0,0,0,0,0,-65,0,0,0,0,
+ 0,0,0,0,0,-162,0,0,0,0,
+ 0,0,0,0,0,-66,0,0,0,0,
+ 0,0,0,0,0,-97,0,0,0,0,
+ 0,0,0,0,0,-143,0,0,0,0,
+ 0,0,0,0,0,-98,0,0,0,0,
+ 0,0,0,0,0,-144,0,0,0,0,
+ 0,0,0,0,0,-99,0,0,0,0,
+ 0,0,0,0,0,-161,0,0,0,0,
+ 0,0,0,0,0,-100,0,0,0,0,
+ 0,0,0,0,-184,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-120,0,0,0,
+ 0,0,0,-7,0,0,0,0,0,0,
+ -101,0,-8,0,0,0,0,0,0,-102,
+ -192,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-200,
+ 0,0,0,0,0,0,0,0,0,-103,
+ 0,0,0,0,0,0,0,0,-9,0,
+ 0,0,0,0,0,-104,0,-10,0,0,
+ 0,0,0,0,-107,-208,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-119,-129,-131,-142,-123,
- -74,-162,-143,0,0,-52,0,0,0,0,
- 0,0,0,-163,0,0,0,0,0,0,
- 0,0,0,0,-173,0,-68,-75,-149,0,
+ 0,0,0,0,-120,0,0,0,0,0,
+ 0,0,0,0,-129,0,0,0,0,0,
+ 0,0,0,-34,0,-5,0,0,0,0,
+ 0,0,-11,0,0,0,0,0,0,-165,
+ 0,-137,-109,-110,-147,0,-67,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-157,-167,0,0,0,-178,-185,0,0,
- 0,-111,0,0,0,-195,0,0,-207,-71,
+ 0,0,-68,0,0,0,0,-122,0,-166,
+ 0,-131,0,-186,-115,-148,-85,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-46,0,0,0,
- 0,0,0,0,0,0,-84,-69,0,-54,
0,0,0,0,0,0,0,0,0,0,
+ -135,0,0,0,0,0,0,-140,0,-54,
+ 0,0,0,0,0,0,0,0,0,-172,
+ 0,0,0,0,0,0,-112,-116,0,0,
+ 0,-189,-134,-136,-139,-117,0,0,0,0,
+ 0,0,0,0,0,0,-153,-159,0,-179,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-80,0,0,0,0,0,-82,-181,
- -110,0,0,0,0,0,0,0,-47,0,
- 0,0,0,0,0,0,-104,0,0,0,
- 0,0,0,0,0,0,-139,0,0,0,
- 0,0,0,0,0,0,0,0,0,-148,
- 0,0,0,0,0,0,0,-48,0,0,
- 0,0,0,0,0,-203,0,0,0,0,
- -108,-150,0,0,-49,0,0,0,0,0,
- 0,0,-106,0,0,0,-115,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-7,0,0,0,0,
- 0,0,0,-50,0,0,0,0,0,0,
- 0,0,0,0,0,-42,0,0,0,0,
- 0,0,0,-152,0,0,-38,0,0,0,
- 0,0,0,0,0,0,-43,0,0,0,
- 0,0,0,0,0,0,0,-44,0,0,
- 0,0,0,0,0,-128,0,0,-45,0,
- 0,0,0,0,0,0,-73,0,0,-76,
- -35,-151,0,-77,0,0,0,0,0,-8,
- 0,0,0,0,0,0,0,-193,0,0,
- 0,0,-125,0,0,0,0,0,0,0,
- 0,0,0,0,0,-161,-147,0,0,0,
- 0,0,0,0,0,0,-117,-118,0,-122,
- -133,0,0,0,0,0,0,0,0,0,
- 0,-9,0,0,0,0,0,0,-10,0,
- 0,0,0,0,0,-11,0,0,0,0,
- 0,0,-15,-28,-156,0,0,0,-78,-154,
- 0,0,-39,0,0,0,0,0,0,-40,
+ 0,-39,0,0,0,0,0,0,0,-48,
+ 0,0,0,0,0,0,0,0,0,-180,
+ 0,0,-207,-47,0,0,0,0,0,0,
+ 0,0,0,-42,0,0,0,0,0,0,
+ 0,0,0,0,0,-111,0,0,0,0,
+ 0,0,0,-201,-149,0,0,0,0,0,
+ 0,0,-12,0,0,0,0,0,0,0,
+ -49,0,0,0,0,0,0,0,0,0,
+ 0,0,-50,0,0,0,0,0,0,0,
+ 0,0,-206,0,-43,0,0,0,0,0,
+ 0,0,0,0,0,0,-44,0,0,0,
+ 0,0,0,0,0,0,-45,0,0,0,
+ 0,0,0,0,0,0,-202,-73,-146,0,
+ 0,0,0,0,0,-114,0,0,-40,0,
+ 0,0,0,0,0,0,-35,0,0,0,
+ 0,0,0,0,-76,-118,0,0,-128,0,
+ 0,0,0,0,0,0,-113,-32,0,0,
+ 0,0,0,0,0,0,0,0,-125,0,
+ 0,0,0,0,0,0,-170,0,0,0,
+ 0,0,-171,-53,-119,-141,0,0,-152,-15,
+ -28,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-145,
+ 0,0,-160,0,0,0,-41,0,0,0,
+ 0,0,0,0,0,0,0,-77,0,0,
+ 0,0,0,0,0,0,0,0,0,-70,
+ 0,0,0,0,0,0,-79,0,0,-167,
+ -82,0,0,-155,0,0,0,0,0,-154,
+ 0,0,-84,0,-168,-174,0,0,-106,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-135,-138,0,0,0,0,0,0,
- 0,0,0,0,-160,-174,-81,0,0,-41,
- 0,0,0,0,0,0,-70,0,0,0,
- 0,0,0,-83,-175,-186,0,0,0,-168,
- 0,-112,0,0,0,0,0,0,-134,0,
- -141,-136,-176,0,0,0,0,0,0,0,
- -155,0,0,0,0,0,0,-201,0,-159,
- -177,-192,0,-1,0,0,0,0,0,0,
- 0,0,-137,0,0,-164,0,0,0,0,
- 0,0,0,0,0,0,0,-105,0,0,
- 0,0,-132,0,0,0,0,0,0,0,
- 0,-109,0,0,-124,0,0,0,0,0,
- 0,0,0,-165,0,0,0,0,0,0,
- 0,0,0,-188,0,0,-158,-31,0,0,
- 0,0,-32,-197,0,0,-53,-172,0,0,
- 0,0,0,-171,0,0,0,0,0,0,
- 0,0,-180,0,0,-153,0,0,0,0,
- -182,-189,0,0,-183,-198,-199,0,-200,0,
- -202,-206,0,0,0,0,0,0,0,0,
+ 0,-124,0,0,0,-164,-71,0,-187,0,
+ 0,0,0,-188,0,0,-178,0,0,0,
+ 0,0,0,0,-1,-132,-176,0,-156,0,
+ 0,0,0,0,0,0,0,0,0,-13,
+ 0,0,0,0,0,0,-31,-177,-169,-190,
+ 0,0,0,-150,-203,0,0,0,0,0,
+ 0,0,-173,0,0,0,-151,0,-195,0,
+ 0,0,0,-182,0,0,0,-191,-199,0,
+ 0,-183,0,-194,0,0,0,0,-196,-198,
+ -204,0,0,0,0,0,0,-205,-197,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,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;
@@ -215,179 +214,179 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 84,8,23,23,22,22,26,26,68,68,
+ 87,10,23,23,22,22,32,32,69,69,
1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,51,51,69,
- 69,5,5,5,5,5,5,5,5,5,
- 5,6,6,7,7,7,7,9,9,9,
- 10,10,10,11,11,11,11,11,12,12,
+ 4,4,4,4,4,4,4,51,51,70,
+ 70,5,5,5,5,5,5,5,5,5,
+ 5,6,6,7,7,7,7,8,8,8,
+ 9,9,9,11,11,11,11,11,12,12,
12,13,13,14,14,15,15,16,16,17,
17,18,18,19,19,19,19,19,19,19,
- 19,19,19,19,19,95,45,40,85,85,
- 72,72,46,96,96,96,96,96,96,96,
- 97,97,97,98,98,103,103,104,104,99,
- 99,100,100,100,106,106,101,101,101,101,
- 102,102,102,102,102,105,105,24,24,24,
- 24,24,28,28,28,78,78,73,73,73,
- 73,74,74,74,75,75,75,76,76,76,
- 77,77,77,107,107,108,108,109,29,31,
- 31,31,31,31,52,54,54,54,54,54,
- 54,54,54,54,54,54,54,65,65,27,
- 27,62,62,62,62,63,63,63,55,55,
- 56,56,48,48,48,32,86,86,79,80,
- 80,80,64,64,81,81,82,82,66,66,
- 20,21,21,21,30,47,47,33,33,33,
- 33,36,36,38,34,34,35,39,39,110,
- 110,37,111,111,87,87,25,25,25,25,
- 25,25,25,25,25,83,49,49,49,49,
- 58,58,57,57,57,59,59,50,50,88,
- 88,70,70,60,60,60,41,41,41,42,
- 43,43,43,44,44,44,44,53,53,53,
- 61,89,71,71,71,71,67,90,91,91,
- 92,92,93,93,112,112,113,113,114,114,
- 114,114,116,116,115,115,115,117,117,84,
- 84,1,14,19,15,395,569,43,406,27,
- 405,409,407,525,523,555,535,568,567,73,
- 90,133,210,672,14,19,15,395,40,135,
- 132,134,158,556,14,19,15,395,569,43,
- 406,393,405,409,407,525,523,555,535,568,
- 567,73,277,137,541,164,672,14,19,15,
- 395,33,1624,141,144,147,150,672,14,19,
- 15,395,32,394,1370,1374,1459,1497,1514,1167,
- 416,338,243,657,42,837,282,215,1262,218,
- 1372,220,221,226,1079,399,210,13,278,57,
- 283,1533,251,210,1227,614,14,19,15,395,
- 569,43,406,393,405,409,407,525,523,555,
- 535,568,567,73,277,435,14,19,15,395,
- 569,43,406,393,405,409,407,525,523,555,
- 535,568,567,73,277,416,479,291,772,23,
- 643,14,19,15,395,41,43,406,282,405,
- 409,407,525,523,555,903,1079,251,210,854,
- 1507,270,283,1123,570,288,1659,1583,284,216,
- 1262,218,1372,220,221,226,1079,265,1108,1081,
- 268,274,285,369,14,19,15,395,569,43,
- 406,1592,405,409,407,525,523,555,535,568,
- 567,73,1261,108,22,292,236,585,14,19,
- 15,395,569,43,406,265,405,409,407,525,
- 523,555,535,568,567,73,277,643,14,19,
- 15,395,569,43,406,93,405,409,407,525,
- 523,555,535,568,567,73,90,375,408,708,
- 707,730,643,14,19,15,395,41,43,406,
- 286,405,409,407,525,523,886,772,1079,701,
- 14,19,15,395,569,43,406,1595,405,409,
- 407,525,523,555,535,568,567,73,1393,16,
- 772,402,14,19,15,395,569,43,406,394,
- 405,409,407,525,523,555,535,568,567,73,
- 1407,749,950,213,237,643,14,19,15,395,
- 569,43,406,258,405,409,407,525,523,555,
- 535,568,567,73,91,643,14,19,15,395,
- 569,43,406,289,405,409,407,525,523,555,
- 535,568,567,73,84,643,14,19,15,395,
- 569,43,406,211,405,409,407,525,523,555,
- 535,568,567,73,83,643,14,19,15,395,
- 569,43,406,352,405,409,407,525,523,555,
- 535,568,567,73,82,643,14,19,15,395,
- 569,43,406,464,405,409,407,525,523,555,
- 535,568,567,73,81,643,14,19,15,395,
- 569,43,406,514,405,409,407,525,523,555,
- 535,568,567,73,80,643,14,19,15,395,
- 569,43,406,431,405,409,407,525,523,555,
- 535,568,567,73,79,643,14,19,15,395,
- 569,43,406,561,405,409,407,525,523,555,
- 535,568,567,73,78,643,14,19,15,395,
- 569,43,406,315,405,409,407,525,523,555,
- 535,568,567,73,77,643,14,19,15,395,
- 569,43,406,59,405,409,407,525,523,555,
- 535,568,567,73,76,643,14,19,15,395,
- 569,43,406,107,405,409,407,525,523,555,
- 535,568,567,73,75,643,14,19,15,395,
- 569,43,406,287,405,409,407,525,523,555,
- 535,568,567,73,74,643,14,19,15,395,
- 41,43,633,133,210,347,141,648,535,119,
- 564,135,132,134,158,643,14,19,15,395,
- 569,43,406,504,405,409,407,525,523,555,
- 535,568,567,73,1496,137,970,164,216,1262,
- 218,1372,220,221,226,141,144,147,150,643,
- 14,19,15,395,41,39,1370,1374,1459,1497,
- 1514,1167,643,14,19,15,395,569,43,406,
- 49,405,409,407,525,523,555,535,568,567,
- 73,1515,643,14,19,15,395,41,43,406,
- 573,405,409,407,525,523,555,535,568,567,
- 92,643,14,19,15,395,41,43,406,593,
- 405,409,407,525,523,555,535,568,567,92,
- 643,14,19,15,395,41,43,406,1614,405,
- 409,407,525,523,555,535,568,567,92,643,
- 14,19,15,395,41,43,406,209,405,409,
- 407,525,523,555,535,568,567,92,643,14,
- 19,15,395,41,43,406,1657,405,409,407,
- 525,523,555,535,568,567,92,643,14,19,
- 15,395,41,43,406,200,405,409,407,525,
- 523,555,535,568,567,72,597,383,51,626,
- 147,620,591,147,201,1324,643,14,19,15,
- 395,41,43,406,681,405,409,407,525,887,
- 250,210,270,250,210,300,271,772,494,846,
- 215,1262,218,1372,220,221,226,1551,263,1108,
- 1081,268,565,630,259,251,210,854,471,21,
- 1200,273,772,272,270,1552,621,260,457,649,
- 285,1105,215,1262,218,1372,220,221,226,228,
- 263,1108,1081,268,269,1082,1533,643,14,19,
- 15,395,41,43,406,257,763,287,118,1132,
- 643,14,19,15,395,41,43,406,1725,405,
- 409,407,525,523,555,535,890,133,210,1578,
- 193,20,1725,167,207,136,132,134,158,215,
- 339,465,14,19,15,395,41,35,1624,643,
- 14,19,15,395,41,43,406,6,783,138,
- 989,164,1725,1725,243,343,1076,310,1725,142,
- 145,148,151,215,1262,218,1372,220,221,226,
- 465,14,19,15,395,41,35,1136,643,14,
- 19,15,395,41,43,406,339,405,409,407,
- 803,118,677,244,1624,643,14,19,15,395,
- 41,43,406,66,405,409,823,6,1604,196,
- 198,1080,1725,1725,238,1529,1388,225,1725,215,
- 1262,218,1372,220,221,226,643,14,19,15,
- 395,41,38,1136,643,14,19,15,395,41,
- 43,406,1725,405,409,843,643,14,19,15,
- 395,41,43,406,285,405,683,643,14,19,
- 15,395,41,43,643,197,198,643,14,19,
- 15,395,41,43,406,1725,405,703,643,14,
- 19,15,395,41,43,406,772,405,723,643,
- 14,19,15,395,41,43,406,850,405,743,
- 328,503,590,456,788,1522,1725,1725,275,1140,
- 643,14,19,15,395,41,37,1725,166,273,
- 133,210,270,118,133,210,270,224,140,132,
- 134,158,143,132,134,158,660,118,263,1108,
- 1081,268,263,1108,1081,268,240,6,6,1725,
- 195,6,139,1725,164,1532,1563,1132,1083,1541,
- 239,262,643,14,19,15,395,41,36,643,
- 14,19,15,395,41,35,643,14,19,15,
- 395,41,34,6,6,710,192,1655,1725,801,
- 772,311,311,643,14,19,15,395,41,46,
- 643,14,19,15,395,41,45,195,195,133,
- 210,182,276,6,6,1371,1371,146,132,134,
- 158,1550,1566,86,86,710,118,814,587,587,
- 643,14,19,15,395,41,44,527,14,19,
- 15,395,41,42,827,118,660,133,210,241,
- 471,181,447,458,610,149,132,134,158,47,
- 863,6,95,772,133,210,1725,863,242,1634,
- 863,143,152,132,134,158,1077,291,772,863,
- 239,447,432,195,498,222,195,1725,863,863,
- 863,1122,547,449,1122,195,449,1656,1725,1725,
- 227,1578,255,1122,195,1077,1077,190,532,1356,
- 190,1078,1122,524,1455,1617,1725,1495,1617,190,
- 1082,863,147,1082,86,147,1643,1617,190,309,
- 456,255,255,270,710,1651,1617,1077,1356,1548,
- 1078,1078,250,210,118,250,210,191,770,265,
- 1108,1081,268,6,285,863,547,6,6,206,
- 26,547,206,255,710,547,415,290,391,1661,
- 1460,195,1078,710,1406,1094,628,1516,1094,1122,
- 392,710,471,392,863,710,710,118,88,310,
- 279,309,710,86,1725,191,1725,86,1168,184,
- 1077,1725,888,885,1725,611,1725,183,895,293,
- 292,202,203,231,1725,1725,1725,1725,319,1725,
- 1725,1725,1725,1725,1725,1725,256,1725,1725,1725,
- 1725,1725,1725,1107,1725,1725,1725,1725,1725,1725,
- 1662,1725,0,17,178,0,18,177,0,1,
- 1948,0,1,1959,0
+ 19,19,19,19,19,101,45,40,88,88,
+ 73,73,46,102,102,102,102,102,102,102,
+ 103,103,103,104,104,109,109,110,110,105,
+ 105,106,106,106,112,112,107,107,107,107,
+ 108,108,108,108,108,111,111,25,25,25,
+ 25,25,27,27,27,79,79,74,74,74,
+ 74,75,75,75,76,76,76,77,77,77,
+ 78,78,78,113,113,114,114,115,28,30,
+ 30,30,30,30,52,54,54,54,54,54,
+ 54,54,54,54,54,54,54,63,63,24,
+ 24,60,60,89,90,64,64,61,61,61,
+ 65,80,80,81,81,66,66,66,48,91,
+ 91,82,83,83,83,62,62,92,84,84,
+ 85,85,67,67,20,21,21,21,29,47,
+ 47,33,33,33,33,36,36,38,34,34,
+ 35,39,39,116,116,37,117,117,93,93,
+ 26,26,26,26,26,26,26,26,26,86,
+ 49,49,49,49,31,56,56,55,55,55,
+ 57,57,50,50,94,94,71,71,58,58,
+ 58,41,41,41,42,43,43,43,44,44,
+ 44,44,53,53,53,59,95,72,72,72,
+ 72,68,96,97,97,98,98,99,99,118,
+ 118,119,119,120,120,120,120,122,122,121,
+ 121,121,123,123,87,87,1,14,19,15,
+ 342,655,43,371,369,402,31,375,418,414,
+ 498,490,654,575,73,90,133,214,360,470,
+ 394,323,649,135,132,134,158,441,14,19,
+ 15,342,655,43,371,369,402,398,375,418,
+ 414,498,490,654,575,73,282,276,137,413,
+ 164,194,97,729,628,12,141,144,147,150,
+ 372,513,14,19,15,342,41,43,692,340,
+ 1425,1508,1527,1531,1543,1177,650,518,575,277,
+ 287,171,30,1228,1236,1168,1208,220,1176,222,
+ 1325,224,225,230,741,288,256,214,63,1142,
+ 489,14,19,15,342,655,43,371,369,402,
+ 398,375,418,414,498,490,654,575,73,282,
+ 336,14,19,15,342,655,43,371,369,402,
+ 398,375,418,414,498,490,654,575,73,282,
+ 241,1175,1465,513,14,19,15,342,41,43,
+ 371,369,402,287,375,418,414,498,1060,1208,
+ 513,14,19,15,342,41,43,695,288,1426,
+ 333,1247,1629,289,1248,906,293,730,313,1208,
+ 513,14,19,15,342,41,39,542,290,275,
+ 14,19,15,342,655,43,371,369,402,1144,
+ 375,418,414,498,490,654,575,73,1143,26,
+ 23,1250,240,465,14,19,15,342,655,43,
+ 371,369,402,241,375,418,414,498,490,654,
+ 575,73,282,513,14,19,15,342,655,43,
+ 371,369,402,15,375,418,414,498,490,654,
+ 575,73,90,347,211,327,513,14,19,15,
+ 342,41,43,371,369,402,291,375,418,414,
+ 966,447,1208,561,14,19,15,342,655,43,
+ 371,369,402,1562,375,418,414,498,490,654,
+ 575,73,1449,22,20,373,299,14,19,15,
+ 342,655,43,371,369,402,340,375,418,414,
+ 498,490,654,575,73,1490,189,1520,243,241,
+ 513,14,19,15,342,41,43,371,369,402,
+ 625,375,418,986,172,566,133,214,255,214,
+ 638,730,585,135,132,134,158,513,14,19,
+ 15,342,655,43,371,369,402,569,375,418,
+ 414,498,490,654,575,73,91,1232,137,595,
+ 164,191,199,284,1170,201,141,144,147,150,
+ 372,513,14,19,15,342,41,43,371,846,
+ 1425,1508,1527,1531,1543,1177,513,14,19,15,
+ 342,655,43,371,369,402,110,375,418,414,
+ 498,490,654,575,73,84,513,14,19,15,
+ 342,655,43,371,369,402,196,375,418,414,
+ 498,490,654,575,73,83,513,14,19,15,
+ 342,655,43,371,369,402,117,375,418,414,
+ 498,490,654,575,73,82,513,14,19,15,
+ 342,655,43,371,369,402,283,375,418,414,
+ 498,490,654,575,73,81,513,14,19,15,
+ 342,655,43,371,369,402,448,375,418,414,
+ 498,490,654,575,73,80,513,14,19,15,
+ 342,655,43,371,369,402,520,375,418,414,
+ 498,490,654,575,73,79,513,14,19,15,
+ 342,655,43,371,369,402,699,375,418,414,
+ 498,490,654,575,73,78,513,14,19,15,
+ 342,655,43,371,369,402,733,375,418,414,
+ 498,490,654,575,73,77,513,14,19,15,
+ 342,655,43,371,369,402,200,375,418,414,
+ 498,490,654,575,73,76,513,14,19,15,
+ 342,655,43,371,369,402,738,375,418,414,
+ 498,490,654,575,73,75,513,14,19,15,
+ 342,655,43,371,369,402,57,375,418,414,
+ 498,490,654,575,73,74,513,14,19,15,
+ 342,655,43,371,369,402,104,375,418,414,
+ 498,490,654,575,73,1530,513,14,19,15,
+ 342,655,43,371,369,402,647,375,418,414,
+ 498,490,654,575,73,1545,513,14,19,15,
+ 342,41,43,371,369,402,751,375,418,414,
+ 498,490,654,575,92,513,14,19,15,342,
+ 41,43,371,369,402,294,375,418,414,498,
+ 490,654,575,92,513,14,19,15,342,41,
+ 38,6,1634,513,14,19,15,342,41,37,
+ 362,513,14,19,15,342,41,43,371,369,
+ 402,1644,375,418,414,498,490,654,575,92,
+ 513,14,19,15,342,41,43,371,369,402,
+ 524,375,418,414,498,490,654,575,92,513,
+ 14,19,15,342,41,36,44,213,513,14,
+ 19,15,342,41,35,206,513,14,19,15,
+ 342,41,43,371,369,402,203,375,418,414,
+ 498,490,654,575,92,513,14,19,15,342,
+ 41,43,371,369,402,105,375,418,414,498,
+ 490,654,575,72,373,1614,537,14,19,15,
+ 342,40,204,513,14,19,15,342,41,34,
+ 243,275,755,447,243,207,16,373,219,1176,
+ 222,1325,224,225,230,1457,268,373,341,273,
+ 255,214,264,373,255,214,242,278,472,1076,
+ 690,275,754,265,718,329,756,189,219,1176,
+ 222,1325,224,225,230,21,268,373,341,273,
+ 256,214,1609,497,256,214,1174,133,214,401,
+ 396,52,229,1227,136,132,134,158,400,262,
+ 513,14,19,15,342,41,43,371,369,402,
+ 152,375,418,414,498,490,1030,373,542,138,
+ 616,164,305,15,15,15,542,142,145,148,
+ 151,372,1615,1540,1589,661,275,634,144,274,
+ 151,1168,188,220,1176,222,1325,224,225,230,
+ 187,270,373,341,273,219,1176,222,1325,224,
+ 225,230,513,14,19,15,342,41,46,1324,
+ 513,14,19,15,342,41,43,371,369,402,
+ 759,375,886,305,513,14,19,15,342,41,
+ 43,371,866,1615,513,14,19,15,342,41,
+ 43,371,369,726,199,201,365,14,19,15,
+ 342,41,35,1639,59,734,219,1176,222,1325,
+ 224,225,230,537,14,19,15,342,33,247,
+ 1324,513,14,19,15,342,41,43,371,369,
+ 402,228,926,513,14,19,15,342,41,43,
+ 371,369,402,526,946,513,14,19,15,342,
+ 41,43,371,369,766,200,201,513,14,19,
+ 15,342,41,43,371,369,806,513,14,19,
+ 15,342,41,43,371,369,826,615,717,365,
+ 14,19,15,342,41,35,449,1615,1437,513,
+ 14,19,15,342,41,45,1586,60,1723,1723,
+ 278,1723,248,1723,275,232,604,1567,279,373,
+ 219,1176,222,1325,224,225,230,688,15,268,
+ 373,341,273,275,1609,133,214,636,553,447,
+ 1201,280,140,132,134,158,1227,688,268,373,
+ 341,273,1115,449,15,542,669,636,1085,373,
+ 15,15,244,1569,553,267,1140,139,86,164,
+ 316,316,1115,591,1723,232,1549,260,1085,189,
+ 447,281,1429,542,1172,198,198,513,14,19,
+ 15,342,41,44,86,1723,1220,260,646,1021,
+ 86,86,1429,243,1172,1124,1124,296,1417,1417,
+ 416,14,19,15,342,41,42,655,133,214,
+ 447,678,1723,1723,15,143,132,134,158,1723,
+ 48,615,1147,687,1608,447,730,133,214,324,
+ 636,133,214,245,146,132,134,158,149,132,
+ 134,158,243,133,214,198,15,50,246,282,
+ 152,132,134,158,142,275,420,758,181,636,
+ 1168,1723,255,214,636,389,502,95,677,720,
+ 270,373,341,273,1115,553,636,636,1085,198,
+ 537,14,19,15,342,32,193,281,720,373,
+ 758,1115,198,1250,50,50,1549,553,396,260,
+ 1546,1587,677,15,1649,86,1172,752,1638,755,
+ 314,226,1250,1574,447,677,260,636,730,727,
+ 193,1469,542,1172,447,1085,1085,88,936,373,
+ 730,730,1115,194,1650,1587,210,295,730,342,
+ 1723,1651,1659,1220,374,1723,298,297,1723,1723,
+ 205,231,326,1577,1290,210,1723,261,1723,1723,
+ 1658,235,182,206,1723,1723,1723,1723,1723,1723,
+ 691,1723,1610,1290,1723,1163,1723,1723,1723,1723,
+ 1723,1723,1723,1723,1723,1723,1723,1723,195,1723,
+ 0,17,178,0,18,177,0,1,1950,0,
+ 1,1961,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -398,101 +397,91 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,0,6,7,8,9,
- 10,11,0,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,0,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,0,0,43,44,45,0,1,0,3,
- 0,5,6,7,8,9,0,0,0,0,
- 14,15,16,17,18,0,0,55,56,57,
- 58,6,7,8,26,29,30,31,32,33,
- 34,35,36,37,38,39,40,46,42,43,
- 44,45,0,47,0,1,46,3,0,5,
- 6,7,8,9,48,49,0,0,14,15,
- 16,17,18,55,56,57,58,0,0,1,
- 13,3,5,29,30,31,32,33,34,35,
- 36,37,38,39,40,0,42,43,44,45,
- 0,47,0,1,26,3,0,5,6,7,
- 8,9,6,7,8,63,14,15,16,17,
- 18,55,56,57,58,0,0,1,51,3,
- 5,29,30,31,32,33,34,35,36,37,
- 38,39,40,0,42,43,44,45,0,47,
- 0,1,26,3,0,5,6,7,8,9,
- 6,7,8,63,14,15,16,17,18,0,
- 0,46,0,4,0,1,4,3,0,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,66,42,43,44,45,0,47,0,1,
- 26,3,0,5,6,7,8,9,6,7,
- 8,0,14,15,16,17,18,0,48,49,
- 0,4,53,54,0,53,54,29,30,31,
- 32,33,34,35,36,37,38,39,40,0,
- 42,43,44,45,0,47,0,1,4,3,
- 0,0,6,7,8,9,6,7,8,0,
- 14,15,16,17,18,6,7,8,0,0,
- 53,54,0,5,0,29,30,31,32,33,
- 34,35,36,37,38,39,40,0,64,43,
- 44,45,0,6,7,8,9,0,0,1,
- 2,14,15,16,17,18,0,1,2,41,
- 4,0,61,62,46,46,29,30,31,32,
- 33,34,35,36,37,38,39,40,0,1,
- 2,3,4,5,0,61,62,9,10,11,
- 0,13,0,1,2,0,4,19,20,21,
- 22,23,24,25,12,27,28,59,0,48,
- 49,0,1,2,3,4,5,0,10,11,
- 9,10,11,0,13,0,1,80,3,51,
- 19,20,21,22,23,24,25,0,27,28,
- 0,0,1,0,0,1,2,3,4,5,
- 10,11,68,69,10,11,0,13,0,1,
- 4,3,51,19,20,21,22,23,24,25,
- 26,27,28,0,0,1,2,3,4,5,
- 0,1,65,3,10,11,42,13,0,1,
- 2,50,4,19,20,21,22,23,24,25,
- 12,27,28,0,0,2,50,0,1,2,
- 3,4,0,0,2,12,4,10,11,0,
- 13,48,49,0,12,51,19,20,21,22,
- 23,24,25,0,27,28,0,1,2,3,
- 4,0,0,2,0,4,10,11,0,13,
- 0,1,2,12,47,19,20,21,22,23,
- 24,25,26,27,28,0,1,2,3,4,
- 0,48,49,0,0,10,11,64,13,5,
- 10,11,0,50,19,20,21,22,23,24,
- 25,26,27,28,0,1,2,3,4,0,
- 0,2,0,59,10,11,0,13,26,0,
- 1,12,3,19,20,21,22,23,24,25,
- 26,27,28,0,1,2,3,4,26,0,
- 0,0,26,10,11,0,13,0,65,0,
- 66,12,19,20,21,22,23,24,25,26,
- 27,28,0,1,2,3,4,0,0,1,
- 60,26,10,11,0,13,0,0,0,0,
- 13,19,20,21,22,23,24,25,12,27,
- 28,0,1,2,3,4,0,50,0,59,
- 0,10,11,0,13,0,0,0,12,60,
- 19,20,21,22,23,24,25,0,27,28,
- 0,1,2,3,4,46,0,0,52,0,
- 10,11,0,13,5,0,0,0,12,19,
- 20,21,22,23,24,25,46,27,28,0,
- 0,2,0,4,5,6,7,8,9,0,
- 0,12,0,14,15,16,17,18,0,0,
- 2,42,4,5,6,7,8,9,52,0,
- 12,0,14,15,16,17,18,60,0,0,
- 41,0,0,0,5,0,5,70,71,72,
- 73,74,75,76,77,78,79,0,0,41,
- 0,0,0,6,7,8,9,0,0,0,
- 0,14,15,16,17,18,6,7,8,9,
- 41,0,41,0,14,15,16,17,18,6,
- 7,8,9,0,0,0,0,14,15,16,
- 17,18,6,7,8,9,0,0,2,0,
- 14,15,16,17,18,0,1,2,12,0,
- 5,2,0,0,5,19,20,12,5,0,
- 0,12,0,0,5,0,0,0,0,0,
+ 10,0,12,13,0,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,0,
+ 0,31,32,33,34,35,36,37,38,39,
+ 40,41,42,0,44,45,46,0,1,0,
+ 3,0,5,6,7,8,0,14,0,0,
+ 13,2,0,4,59,14,55,56,57,58,
+ 11,24,25,26,27,28,47,48,31,32,
+ 33,34,35,36,37,38,39,40,41,42,
+ 43,44,45,46,0,1,0,3,51,5,
+ 6,7,8,0,0,1,2,13,4,0,
+ 80,55,56,57,58,11,0,59,24,25,
+ 26,27,28,61,62,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,0,1,0,3,51,5,6,7,8,
+ 0,0,1,2,13,4,47,48,55,56,
+ 57,58,11,47,48,24,25,26,27,28,
+ 0,0,31,32,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,46,0,1,
+ 0,3,51,0,6,7,8,4,0,0,
+ 0,13,4,60,4,0,0,1,2,4,
+ 60,5,24,25,26,27,28,11,0,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,0,44,45,46,29,65,6,7,8,
+ 0,1,0,3,13,0,53,54,6,7,
+ 8,53,54,53,54,24,25,26,27,28,
+ 61,62,31,32,33,34,35,36,37,38,
+ 39,40,41,42,0,1,2,3,4,5,
+ 0,0,1,9,10,5,12,13,0,15,
+ 16,17,18,19,20,21,22,23,0,1,
+ 2,3,4,5,0,1,2,9,10,29,
+ 12,13,0,15,16,17,18,19,20,21,
+ 22,23,0,0,50,2,0,4,0,1,
+ 49,3,0,11,11,0,1,2,3,4,
+ 5,0,14,0,9,10,5,12,50,14,
+ 15,16,17,18,19,20,21,22,23,0,
+ 1,0,3,59,0,1,2,3,4,5,
+ 29,30,0,9,10,63,12,5,43,15,
+ 16,17,18,19,20,21,22,23,0,1,
+ 2,3,4,0,68,69,64,9,10,0,
+ 12,29,0,15,16,17,18,19,20,21,
+ 22,23,0,14,50,0,1,2,3,4,
+ 0,9,10,30,9,10,65,12,0,14,
+ 15,16,17,18,19,20,21,22,23,51,
+ 0,1,2,3,4,0,0,0,0,9,
+ 10,5,12,5,14,15,16,17,18,19,
+ 20,21,22,23,0,1,2,3,4,0,
+ 1,0,3,9,10,4,12,29,14,15,
+ 16,17,18,19,20,21,22,23,0,1,
+ 2,3,4,0,47,48,50,9,10,0,
+ 12,0,14,15,16,17,18,19,20,21,
+ 22,23,0,1,2,3,4,0,1,0,
+ 3,9,10,0,12,0,1,15,16,17,
+ 18,19,20,21,22,23,0,1,2,3,
+ 4,0,1,0,3,9,10,0,12,0,
+ 49,15,16,17,18,19,20,21,22,23,
+ 0,1,2,3,4,0,47,48,0,9,
+ 10,0,12,5,0,15,16,17,18,19,
+ 20,21,22,23,0,11,2,64,4,5,
+ 6,7,8,0,0,11,2,13,4,5,
+ 6,7,8,0,1,11,3,13,24,25,
+ 26,27,28,29,0,1,2,14,24,25,
+ 26,27,28,29,0,60,52,0,1,2,
+ 6,7,8,0,66,70,71,72,73,74,
+ 75,76,77,78,79,0,0,14,0,0,
+ 2,6,7,8,0,6,7,8,13,11,
+ 6,7,8,15,16,0,0,13,0,24,
+ 25,26,27,28,6,7,8,0,24,25,
+ 26,27,28,6,7,8,0,0,0,0,
+ 13,4,6,7,8,6,7,8,0,13,
+ 52,24,25,26,27,28,0,9,10,63,
+ 24,25,26,27,28,67,0,0,2,0,
+ 1,5,3,6,7,8,0,11,0,0,
+ 2,5,0,0,5,2,49,0,0,11,
+ 0,9,10,5,11,29,0,1,11,3,
+ 0,0,12,0,0,0,30,0,0,0,
+ 0,0,12,0,0,0,11,0,0,0,
+ 0,0,43,14,14,14,0,0,0,0,
+ 0,43,0,30,30,0,0,30,30,52,
+ 0,0,66,0,0,0,0,0,0,0,
+ 49,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,41,0,52,0,
- 41,0,0,0,41,0,0,0,0,0,
- 0,42,0,67,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,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;
@@ -500,97 +489,87 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1725,571,1453,631,1439,1,1936,1937,1938,1886,
- 1432,1380,58,1446,1887,1885,1939,1888,1884,377,
- 366,333,1735,1736,1737,1738,281,1296,929,1891,
- 1896,1895,1893,1894,1892,1897,1898,1890,1899,1900,
- 1901,87,1725,1199,1193,889,1725,1,1725,1,
- 252,189,1,1,1,1,53,1725,60,1725,
- 1,1,1,1,1,246,1725,1359,1348,1337,
- 1316,1,1,1,1217,1,1,1,1,1,
- 1,1,1,1,1,1,1,635,189,1,
- 1,1,65,1919,1725,1,1646,1,1725,189,
- 1,1,1,1,1157,1209,59,63,1,1,
- 1,1,1,1359,1348,1337,1316,1725,1725,1904,
- 1248,1905,1728,1,1,1,1,1,1,1,
- 1,1,1,1,1,1725,189,1,1,1,
- 66,1919,1725,1,1277,1,1725,189,1,1,
- 1,1,1936,1937,1938,1086,1,1,1,1,
- 1,1359,1348,1337,1316,1725,1725,1904,1727,1905,
- 1734,1,1,1,1,1,1,1,1,1,
- 1,1,1,1725,189,1,1,1,1725,1919,
- 1725,1,1417,1,247,188,1,1,1,1,
- 1,1,1,1086,1,1,1,1,1,47,
- 57,1256,49,1500,1725,1904,1500,1905,1725,1,
+ 1723,662,1470,689,1078,1723,1938,1939,1940,1069,
+ 1023,58,1133,1884,1,1600,1333,1126,1733,1734,
+ 1735,1736,1014,500,1885,1883,1941,1886,1882,53,
+ 1723,1889,1894,1893,1891,1892,1890,1895,1896,1888,
+ 1897,1898,1899,1723,397,339,338,1723,1,254,
+ 1,1723,192,1,1,1,60,563,202,266,
+ 1,1398,61,1,1105,1534,1387,1377,1365,1304,
+ 509,1,1,1,1,1,701,1294,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1733,188,1,1,1,1725,1919,1725,1,
- 1418,1,245,189,1,1,1,1,1936,1937,
- 1938,1725,1,1,1,1,1,48,1157,1209,
- 1725,1500,1470,1463,67,1470,1463,1,1,1,
- 1,1,1,1,1,1,1,1,1,1725,
- 189,1,1,1,1725,1919,1725,1903,1273,1902,
- 248,61,1936,1937,1938,1886,1936,1937,1938,249,
- 1887,1885,1939,1888,1884,1936,1937,1938,1725,28,
- 1470,1463,1725,1730,62,1891,1896,1895,1893,1894,
- 1892,1897,1898,1890,1899,1900,1901,127,572,1199,
- 1193,889,1725,1936,1937,1938,1886,1725,1,1948,
- 364,1887,1885,1939,1888,1884,1725,1948,364,1729,
- 1420,56,1304,1265,1139,435,1891,1896,1895,1893,
- 1894,1892,1897,1898,1890,1899,1900,1901,1,1742,
- 1453,1743,1201,1728,71,1304,1265,589,1432,1380,
- 1725,1446,258,1948,1109,1725,1,377,366,333,
- 1735,1736,1737,1738,503,1296,929,1019,50,1157,
- 1209,1725,1742,1453,1743,1240,1728,69,1327,875,
- 942,1432,1380,1725,1446,1725,1754,1712,1755,1727,
- 377,366,333,1735,1736,1737,1738,1725,1296,929,
- 52,1,1722,1725,1,1742,1453,1743,1439,27,
- 1327,875,1170,1627,1432,1380,1,1446,205,1904,
- 1273,1905,1727,377,366,333,1735,1736,1737,1738,
- 2895,1296,929,55,1725,1742,1453,1743,1439,1728,
- 1725,1904,460,1905,1432,1380,27,1446,264,1948,
- 1109,1979,1420,377,366,333,1735,1736,1737,1738,
- 503,1296,929,266,1725,479,1979,1725,1,1,
- 1,1,261,68,1367,503,1,1,1,1725,
- 1,1157,1209,54,503,1727,1,1,1,1,
- 1,1,1,1,1,1,1725,1742,1453,1743,
- 1439,264,1725,1367,1725,1420,1432,1380,1725,1446,
- 1,1948,364,503,2035,377,366,333,1735,1736,
- 1737,1738,1217,1296,929,1,1742,1453,1743,1439,
- 51,1157,1209,70,1,1432,1380,572,1446,1734,
- 1327,875,186,1979,377,366,333,1735,1736,1737,
- 1738,2895,1296,929,1725,1742,1453,1743,1439,219,
- 208,1127,185,1057,1432,1380,187,1446,1421,204,
- 1128,503,1128,377,366,333,1735,1736,1737,1738,
- 2895,1296,929,1,1742,1453,1743,1439,1483,267,
- 199,1725,1484,1432,1380,1725,1446,1,460,1725,
- 1733,503,377,366,333,1735,1736,1737,1738,2895,
- 1296,929,1725,1742,1453,1743,1439,64,1725,1960,
- 981,1628,1432,1380,1725,1446,1725,1725,1725,28,
- 1248,377,366,333,1735,1736,1737,1738,962,1296,
- 929,1725,1742,1454,1743,1439,217,1978,1725,1038,
- 204,1432,1380,1725,1446,1725,1725,1725,503,527,
- 377,366,333,1735,1736,1737,1738,1725,1296,929,
- 1,1742,1453,1743,1439,1752,287,41,1520,1725,
- 1432,1380,1725,1446,1732,1725,1725,1725,1000,377,
- 366,333,1735,1736,1737,1738,2635,1296,929,17,
- 1725,1713,1725,1713,1713,178,178,178,178,1725,
- 1725,1713,1725,178,178,178,178,178,18,1725,
- 1716,1731,1716,1716,177,177,177,177,1652,1725,
- 1716,1725,177,177,177,177,177,855,1725,1,
- 1713,1725,1725,1725,89,1725,1730,835,815,795,
- 775,755,715,735,695,675,655,128,1725,1716,
- 1725,1725,1725,1936,1937,1938,1886,1725,1725,1725,
- 129,1887,1885,1939,1888,1884,1936,1937,1938,1886,
- 89,1725,1729,130,1887,1885,1939,1888,1884,1936,
- 1937,1938,1886,1725,1725,1725,131,1887,1885,1939,
- 1888,1884,1936,1937,1938,1886,31,1725,1618,1725,
- 1887,1885,1939,1888,1884,1,1719,1109,1623,1,
- 1730,1367,1725,1,1730,1749,1750,503,1730,280,
- 1725,503,1725,1725,1531,1725,1725,1725,1725,1725,
- 1725,1725,1725,1725,1725,1725,1725,1725,1725,1725,
- 1725,1725,1725,1725,1725,1725,1729,1725,455,1725,
- 1729,1725,1725,1725,1729,1725,1725,1725,1725,1725,
- 1725,1531,1725,390
+ 192,1,1,1,1723,1,183,1,1920,191,
+ 1,1,1,59,263,1950,1145,1,1,57,
+ 1710,1387,1377,1365,1304,509,56,1086,1,1,
+ 1,1,1,1353,1341,1,1,1,1,1,
+ 1,1,1,1,1,1,1,191,1,1,
+ 1,1723,1,1723,1,1920,192,1,1,1,
+ 212,269,1950,1145,1,254,701,1294,1387,1377,
+ 1365,1304,509,701,1294,1,1,1,1,1,
+ 184,69,1,1,1,1,1,1,1,1,
+ 1,1,1,1,192,1,1,1,1723,1901,
+ 286,1900,1920,47,1938,1939,1940,1497,49,62,
+ 48,1884,1497,533,1497,1723,1,1717,1145,650,
+ 1031,1728,1885,1883,1941,1886,1882,509,1723,1889,
+ 1894,1893,1891,1892,1890,1895,1896,1888,1897,1898,
+ 1899,127,397,339,338,1727,463,1938,1939,1940,
+ 1723,1752,1723,1753,1884,1723,1409,1272,1938,1939,
+ 1940,1409,1272,1409,1272,1885,1883,1941,1886,1882,
+ 1353,1341,1889,1894,1893,1891,1892,1890,1895,1896,
+ 1888,1897,1898,1899,1,1740,1470,1741,1316,1726,
+ 1,1,1720,1069,1023,89,1133,593,1723,1600,
+ 1333,1126,1733,1734,1735,1736,1014,500,1723,1740,
+ 1470,1741,1399,1726,1,1950,1397,1069,1023,89,
+ 1133,956,65,1600,1333,1126,1733,1734,1735,1736,
+ 1014,500,272,269,1725,1398,71,254,1723,1902,
+ 1982,1903,67,509,509,1,1740,1470,1741,1078,
+ 27,1723,1233,1723,1069,1023,1728,1133,1725,2777,
+ 1600,1333,1126,1733,1734,1735,1736,1014,500,186,
+ 2798,70,2798,1050,1723,1740,1470,1741,1078,1726,
+ 1727,1363,1723,1069,1023,640,1133,1728,27,1600,
+ 1333,1126,1733,1734,1735,1736,1014,500,1723,1,
+ 1,1,1,87,1210,1464,576,1,1,1723,
+ 1,1727,1723,1,1,1,1,1,1,1,
+ 1,1,50,1566,1725,1723,1740,1470,1741,1078,
+ 1723,480,381,667,1069,1023,463,1133,1723,563,
+ 1600,1333,1126,1733,1734,1735,1736,1014,500,2038,
+ 1,1740,1470,1741,1078,1723,1723,55,1,1069,
+ 1023,1726,1133,1728,2777,1600,1333,1126,1733,1734,
+ 1735,1736,1014,500,1723,1740,1470,1741,1078,185,
+ 2799,1723,2799,1069,1023,1466,1133,1727,2777,1600,
+ 1333,1126,1733,1734,1735,1736,1014,500,1,1740,
+ 1470,1741,1078,1723,701,1294,1725,1069,1023,1723,
+ 1133,1,2777,1600,1333,1126,1733,1734,1735,1736,
+ 1014,500,1723,1740,1470,1741,1078,207,2800,54,
+ 2800,1069,1023,68,1133,1723,1962,1600,1333,1126,
+ 1733,1734,1735,1736,1014,500,1723,1740,1471,1741,
+ 1078,1723,1902,1723,1903,1069,1023,1723,1133,1723,
+ 1982,1600,1333,1126,1733,1734,1735,1736,1014,500,
+ 1,1740,1470,1741,1078,41,701,1294,1,1069,
+ 1023,1723,1133,1732,1723,1600,1333,1126,1733,1734,
+ 1735,1736,1014,500,17,976,1711,576,1711,1711,
+ 178,178,178,1723,18,1711,1714,178,1714,1714,
+ 177,177,177,1723,1902,1714,1903,177,178,178,
+ 178,178,178,1711,1,1950,1397,1234,177,177,
+ 177,177,177,1714,250,916,1493,254,1950,1397,
+ 1,1,1,1723,1731,896,876,856,836,816,
+ 776,796,756,736,716,128,66,1623,31,249,
+ 1607,1938,1939,1940,129,1938,1939,1940,1884,1438,
+ 1938,1939,1940,1747,1748,1723,1723,1884,251,1885,
+ 1883,1941,1886,1882,1,1,1,130,1885,1883,
+ 1941,1886,1882,1938,1939,1940,131,1,1723,252,
+ 1884,254,1938,1939,1940,1938,1939,1940,52,1884,
+ 543,1885,1883,1941,1886,1882,1723,480,381,640,
+ 1885,1883,1941,1886,1882,460,1,253,1398,209,
+ 1902,1728,1903,1938,1939,1940,1723,509,271,1723,
+ 1406,1732,51,223,1730,1463,1982,292,285,509,
+ 63,480,381,1235,509,1727,208,507,995,507,
+ 64,1,1280,257,28,221,1293,28,208,190,
+ 190,190,1280,1723,1723,1723,509,1723,1723,1723,
+ 1723,1723,1729,186,185,207,1723,1723,1723,1723,
+ 1723,1235,1723,1627,440,1723,1723,1750,2785,1642,
+ 1723,1723,1731,1723,1723,1723,1723,1723,1723,1723,
+ 1981
};
};
public final static char termAction[] = TermAction.termAction;
@@ -598,27 +577,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 396,1,104,41,104,104,104,104,104,104,
- 104,104,104,3,326,51,48,55,53,61,
- 59,63,62,65,64,10,104,326,286,286,
- 414,104,171,171,314,326,104,104,104,104,
+ 384,1,104,41,104,104,104,104,104,104,
+ 104,104,104,3,343,51,48,55,53,61,
+ 59,63,62,65,64,10,104,343,280,280,
+ 402,104,187,187,308,343,104,104,104,104,
104,104,104,104,104,104,104,104,104,104,
104,104,104,104,104,104,104,104,104,104,
- 104,104,104,104,104,104,171,171,45,80,
- 318,98,256,169,168,289,301,301,94,94,
- 301,94,301,340,125,125,48,48,53,53,
- 53,53,51,51,59,55,55,62,61,212,
- 64,63,96,78,314,309,174,45,363,102,
- 171,367,259,194,226,194,226,320,194,104,
- 78,309,363,363,45,101,98,171,312,340,
- 170,261,226,226,226,226,320,320,322,122,
- 253,96,363,309,104,104,45,102,256,207,
- 206,318,261,171,226,253,219,226,226,253,
- 322,214,322,320,253,76,217,286,104,121,
- 253,78,309,45,45,171,367,259,312,253,
- 221,253,253,104,286,322,80,45,286,104,
- 78,261,72,104,71,117,318,253,45,322,
- 171,170,221,104,117,253,287,322
+ 104,104,104,104,104,104,187,187,45,80,
+ 312,98,250,185,184,283,295,94,295,94,
+ 94,295,94,295,357,141,141,48,48,53,
+ 53,53,53,51,51,59,55,55,62,61,
+ 248,64,63,96,78,308,312,121,45,380,
+ 102,187,314,253,94,280,280,94,280,104,
+ 78,312,303,380,45,101,98,187,306,357,
+ 186,255,96,201,96,231,233,198,228,96,
+ 303,380,104,104,45,102,250,243,242,312,
+ 255,187,96,201,231,231,228,76,240,280,
+ 104,197,228,78,380,303,45,45,187,314,
+ 253,306,201,228,190,201,231,233,237,233,
+ 80,45,280,104,78,303,255,201,192,233,
+ 228,104,280,45,233,187,186,228,72,104,
+ 71,117,312,228,228,281,192,104,117,233
};
};
public final static char asb[] = Asb.asb;
@@ -626,50 +605,48 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 80,0,66,12,2,52,67,19,20,13,
- 4,10,11,53,54,48,49,55,56,57,
- 58,61,62,63,64,65,68,69,42,60,
+ 80,0,66,11,2,52,67,15,16,12,
+ 4,9,10,53,54,47,48,55,56,57,
+ 58,61,62,63,64,65,68,69,43,60,
70,71,72,73,74,76,75,77,78,79,
- 59,41,80,46,51,5,0,4,53,54,
- 10,11,49,48,55,56,57,58,61,62,
- 13,63,64,65,51,41,42,80,68,69,
- 59,66,5,46,0,5,42,12,52,19,
- 20,13,4,10,11,27,28,21,2,22,
- 23,24,25,1,3,26,0,6,7,8,
- 9,51,5,22,23,24,25,3,19,20,
- 13,10,11,27,28,21,4,2,1,0,
- 60,12,52,0,7,9,18,8,17,16,
- 15,6,14,52,67,19,20,13,10,11,
- 53,54,48,49,55,56,57,58,61,62,
- 63,64,65,68,69,60,70,71,72,73,
- 74,75,76,77,78,79,4,2,12,46,
- 41,5,0,6,7,8,2,22,23,24,
- 25,1,3,19,20,13,4,10,11,27,
- 28,21,0,14,6,15,16,17,7,9,
- 18,8,1,4,26,2,5,46,41,66,
- 12,59,0,5,46,42,60,0,66,5,
- 4,1,2,59,0,14,29,6,30,43,
- 15,31,16,32,33,17,7,34,35,9,
- 44,18,45,36,37,8,38,39,40,1,
- 3,47,5,42,0,4,2,12,41,5,
- 14,29,6,30,43,15,31,16,32,33,
- 17,7,34,35,9,44,18,45,36,37,
- 8,38,39,40,50,3,1,0,37,29,
- 34,32,33,31,30,35,36,38,39,40,
- 59,66,18,15,9,14,17,16,6,7,
- 8,46,1,5,41,2,12,4,0,1,
- 3,5,42,46,0,21,22,23,24,25,
- 2,19,20,13,4,10,11,27,28,3,
- 1,43,44,45,37,29,34,32,33,31,
- 30,35,36,38,39,40,18,15,9,14,
- 17,16,6,7,8,0,14,29,6,30,
- 43,15,31,16,32,33,17,7,34,35,
- 9,44,18,45,36,37,8,38,39,40,
- 1,3,50,4,0,21,22,23,24,25,
- 1,3,2,19,20,13,4,10,11,27,
- 28,47,0,5,41,21,22,23,24,25,
- 1,3,2,19,20,13,4,10,11,27,
- 28,0
+ 59,29,80,30,50,5,0,4,53,54,
+ 9,10,48,47,55,56,57,58,61,62,
+ 12,63,64,65,50,29,43,80,68,69,
+ 59,66,5,30,0,5,43,11,52,15,
+ 16,12,4,9,10,22,23,17,2,18,
+ 19,20,21,1,3,14,0,6,7,8,
+ 13,50,5,18,19,20,21,3,15,16,
+ 12,9,10,22,23,17,4,2,1,0,
+ 6,7,8,2,18,19,20,21,1,3,
+ 15,16,12,4,9,10,22,23,17,0,
+ 7,13,28,8,27,26,25,6,24,52,
+ 67,15,16,12,9,10,53,54,47,48,
+ 55,56,57,58,61,62,63,64,65,68,
+ 69,60,70,71,72,73,74,75,76,77,
+ 78,79,4,2,11,30,29,5,0,66,
+ 5,4,1,2,59,0,60,11,52,0,
+ 24,31,6,32,44,25,33,26,34,35,
+ 27,7,36,37,13,45,28,46,38,39,
+ 8,40,41,42,1,3,51,5,43,0,
+ 1,3,5,43,30,0,5,30,43,60,
+ 0,2,5,30,29,66,11,59,0,4,
+ 2,11,29,5,24,31,6,32,44,25,
+ 33,26,34,35,27,7,36,37,13,45,
+ 28,46,38,39,8,40,41,42,49,3,
+ 1,0,39,31,36,34,35,33,32,37,
+ 38,40,41,42,59,66,28,25,13,24,
+ 27,26,6,7,8,30,1,5,29,2,
+ 11,4,0,4,24,31,6,32,44,25,
+ 33,26,34,35,27,7,36,37,13,45,
+ 28,46,38,39,8,40,41,42,1,3,
+ 49,0,17,18,19,20,21,2,15,16,
+ 12,4,9,10,22,23,3,1,44,45,
+ 46,39,31,36,34,35,33,32,37,38,
+ 40,41,42,28,25,13,24,27,26,6,
+ 7,8,0,17,18,19,20,21,1,3,
+ 2,15,16,12,4,9,10,22,23,51,
+ 0,5,29,17,18,19,20,21,1,3,
+ 2,15,16,12,4,9,10,22,23,0
};
};
public final static byte asr[] = Asr.asr;
@@ -677,27 +654,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static byte nasb[] = {0,
- 84,8,20,8,20,20,20,20,20,20,
- 20,20,20,8,66,8,8,8,8,8,
- 8,8,8,8,8,8,20,66,11,11,
- 93,67,23,23,62,1,20,20,20,20,
- 20,20,20,20,20,20,20,20,20,20,
- 20,20,67,20,20,20,20,20,20,20,
- 20,20,20,20,20,20,23,23,27,20,
- 74,25,61,36,36,52,53,53,34,34,
- 53,34,53,48,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 8,8,8,82,63,82,31,27,87,26,
- 23,72,22,8,82,8,82,82,8,20,
- 18,82,87,87,27,26,13,23,39,2,
- 8,81,82,76,82,76,34,82,59,15,
- 82,8,87,13,20,20,27,26,38,36,
- 36,74,81,23,76,70,45,89,76,70,
- 59,8,8,34,70,17,8,34,20,29,
- 70,82,13,27,27,23,72,22,40,70,
- 55,70,70,20,34,59,19,27,34,20,
- 18,80,46,20,8,55,74,70,27,59,
- 23,23,55,20,42,70,8,9
+ 105,9,26,9,26,26,26,26,26,26,
+ 26,26,26,9,86,9,9,9,9,9,
+ 9,9,9,9,9,9,26,86,28,28,
+ 112,87,79,79,74,1,26,26,26,26,
+ 26,26,26,26,26,26,26,26,26,26,
+ 26,26,87,26,26,26,26,26,26,26,
+ 26,26,26,26,26,26,79,79,34,26,
+ 98,32,73,10,10,64,65,12,65,17,
+ 17,65,16,65,59,9,9,9,9,9,
+ 9,9,9,9,9,9,9,9,9,9,
+ 9,9,9,9,55,94,9,36,34,48,
+ 33,79,81,78,57,57,57,57,57,26,
+ 24,9,55,48,34,33,14,79,51,2,
+ 9,83,21,55,9,55,46,19,55,9,
+ 55,48,26,26,34,33,50,10,10,98,
+ 83,79,9,90,55,57,30,23,9,57,
+ 26,44,30,55,48,14,34,34,79,81,
+ 78,67,55,30,39,108,57,46,9,9,
+ 25,34,57,26,24,14,101,90,53,46,
+ 30,26,57,34,46,79,79,30,40,26,
+ 9,53,98,30,30,9,53,26,69,42
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -705,16 +682,18 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 4,78,77,76,75,74,73,0,89,0,
- 69,0,20,0,91,0,67,8,61,4,
- 0,8,22,0,8,4,23,0,93,0,
- 4,8,0,27,0,25,0,22,8,43,
- 42,36,34,0,8,68,0,62,63,64,
- 65,52,28,0,8,36,34,0,51,0,
- 22,8,43,42,0,32,8,45,0,26,
- 0,8,24,49,0,56,8,32,0,87,
- 24,8,0,8,84,0,58,0,8,32,
- 48,0,8,85,0
+ 4,79,78,77,76,64,75,74,0,26,
+ 0,89,0,20,0,92,65,0,97,0,
+ 90,0,68,10,59,4,0,70,0,32,
+ 0,10,4,23,0,4,10,0,10,69,
+ 0,95,0,99,0,51,0,56,0,22,
+ 43,42,36,34,10,0,24,0,64,60,
+ 61,62,63,52,27,0,43,42,36,34,
+ 31,0,22,42,43,10,0,10,22,0,
+ 31,49,10,25,0,48,10,45,0,81,
+ 10,48,0,43,42,31,0,31,49,0,
+ 93,10,25,0,10,87,0,10,48,66,
+ 0,10,88,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -722,12 +701,12 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
- 85,2,86,9,87,48,64,76,69,10,
- 11,1,8,44,55,60,63,72,6,7,
- 68,81,82,83,84,3,12,13,47,52,
- 56,61,62,66,67,74,75,78,79,80,
- 90,91,54,70,73,42,93,16,17,30,
- 89,4,14,15,18,19,20,21,29,31,
+ 85,2,86,9,87,48,64,76,10,11,
+ 1,8,69,3,6,7,68,81,82,83,
+ 84,12,13,44,55,60,63,72,90,42,
+ 47,52,56,61,62,66,67,74,75,78,
+ 79,80,91,54,70,73,16,17,30,89,
+ 93,4,14,15,18,19,20,21,29,31,
22,23,24,25,26,92,5,27,28,32,
33,34,35,36,37,38,39,40,41,94,
45,46,49,50,51,53,57,58,59,65,
@@ -739,18 +718,19 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,0,0,101,105,106,107,0,108,109,
+ 0,0,0,101,105,106,107,108,109,0,
110,111,112,113,114,115,116,117,118,129,
- 0,97,96,122,149,98,121,128,0,0,
- 0,140,145,147,0,148,0,0,0,0,
- 158,159,160,0,100,120,137,139,146,155,
- 0,131,136,0,0,138,150,153,154,157,
- 0,132,133,134,135,144,161,99,102,103,
- 104,119,123,124,125,126,127,130,142,0,
- 0,143,152,95,0,141,151,156,0,162,
- 163,0,164,0,0,0,0,0,0,0,
+ 0,97,96,121,122,150,128,0,0,0,
+ 0,98,146,148,0,149,0,0,0,0,
+ 159,160,161,0,100,120,137,141,147,156,
+ 0,131,136,0,151,154,155,158,0,132,
+ 133,134,135,138,0,140,145,162,99,102,
+ 103,104,119,123,124,125,126,127,130,0,
+ 139,143,0,0,144,153,95,0,0,0,
+ 142,0,152,157,0,163,164,0,165,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -758,10 +738,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 164,82,35,41,91,111,117,12,142,21,
- 51,69,123,128,28,47,101,179,183,151,
- 1,1,32,56,79,187,6,105,158,133,
- 158,97,59,59,59
+ 82,113,158,92,35,41,121,12,136,21,
+ 51,69,28,47,103,173,177,145,1,1,
+ 32,56,79,181,6,107,152,127,152,99,
+ 59,59,59
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -769,10 +749,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 89,89,4,4,89,89,89,18,148,26,
- 4,26,89,89,26,4,99,26,4,155,
- 4,4,26,4,26,26,9,108,161,136,
- 172,99,66,61,74
+ 90,90,90,90,4,4,90,18,142,26,
+ 4,26,26,4,101,26,4,149,4,4,
+ 26,4,26,26,9,110,155,130,166,101,
+ 66,61,74
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -780,10 +760,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 4,64,25,25,64,62,62,53,100,44,
- 25,39,62,62,44,25,48,4,4,18,
- 93,92,42,25,36,2,67,48,6,101,
- 4,48,39,37,39
+ 62,60,4,62,26,26,60,53,106,44,
+ 26,39,44,26,66,4,4,18,99,98,
+ 42,26,36,2,68,66,6,107,4,66,
+ 39,37,39
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -791,10 +771,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
- 42,42,51,51,42,42,42,42,86,41,
- 51,41,42,42,41,51,66,41,51,59,
- 51,51,41,51,41,41,60,1,41,92,
- 41,66,2,2,2
+ 43,43,43,43,50,50,43,43,86,29,
+ 50,29,29,50,66,29,50,59,50,50,
+ 29,50,29,29,60,1,29,92,29,66,
+ 2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -802,10 +782,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
- 34,19,23,23,19,19,19,89,-1,27,
- 23,11,19,19,27,23,5,34,34,64,
- 1,3,27,23,11,34,90,5,37,-1,
- 34,5,11,11,11
+ 17,17,32,17,21,21,17,87,-1,25,
+ 21,9,25,21,3,32,32,62,1,7,
+ 25,21,9,32,88,3,35,-1,32,3,
+ 9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -813,25 +793,25 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 139,12,0,96,0,183,101,0,31,136,
- 0,144,164,101,26,154,0,98,0,0,
- 150,101,2,135,0,97,0,150,101,2,
- 0,153,2,0,112,9,176,101,12,0,
- 112,176,101,9,12,0,112,9,12,0,
- 112,176,101,12,0,112,12,0,129,0,
- 2,0,151,97,0,2,97,0,150,101,
- 2,129,0,2,0,150,97,0,140,2,
- 0,144,174,101,26,120,43,0,98,0,
- 144,174,101,26,43,0,125,0,99,0,
- 179,101,125,0,101,125,0,141,99,0,
- 148,101,26,120,45,0,148,101,26,120,
- 44,0,148,101,26,45,0,148,101,26,
- 44,0,189,85,0,77,2,100,97,99,
- 0,189,115,138,2,89,0,53,0,0,
- 138,69,110,0,29,117,0,163,2,0,
- 97,106,0,144,164,101,26,115,163,2,
- 0,97,3,0,104,0,98,0,178,2,
- 97,0,138,12,97,0,138,2,0
+ 139,11,0,96,0,189,103,0,31,136,
+ 0,144,165,103,14,152,0,98,0,0,
+ 148,103,2,135,0,97,0,148,103,2,
+ 0,151,2,0,112,13,179,103,11,0,
+ 112,179,103,13,11,0,112,13,11,0,
+ 112,179,103,11,0,112,11,0,129,0,
+ 2,0,152,97,0,2,97,0,148,103,
+ 2,129,0,2,0,151,97,0,140,2,
+ 0,144,177,103,14,117,185,44,0,98,
+ 0,144,177,103,14,185,44,0,141,0,
+ 99,0,184,103,141,0,103,141,0,142,
+ 99,0,173,103,14,183,117,182,157,0,
+ 173,103,14,182,157,0,195,85,0,77,
+ 2,100,97,99,0,195,115,138,2,89,
+ 0,53,0,0,138,69,110,0,29,117,
+ 0,164,2,0,97,106,0,144,165,103,
+ 14,115,164,2,0,97,3,0,104,0,
+ 98,0,181,2,97,0,138,11,97,0,
+ 138,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -839,16 +819,16 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 570,0,393,0,1550,1617,1541,1532,1529,0,
- 885,1256,364,1200,456,1109,1077,0,863,1167,
- 311,0,1372,1262,1108,1081,456,1109,1077,1578,
- 1367,1371,0,377,366,333,1240,1201,1507,460,
- 1170,1086,572,1304,1265,1248,1209,1157,1359,1348,
- 1337,1316,1500,1470,1463,1327,875,1446,1439,1432,
- 1380,1296,929,1038,1019,1000,981,962,942,895,
- 611,1057,589,503,855,835,815,795,775,755,
- 735,715,695,675,655,311,635,547,527,415,
- 435,343,0
+ 906,0,1574,1587,1540,0,398,0,374,1293,
+ 1397,1232,1220,1145,1115,0,636,1177,316,0,
+ 1325,1176,373,341,1220,1145,1115,1549,1398,1417,
+ 0,1600,1333,1126,1399,1316,1520,463,1210,640,
+ 576,1353,1341,1280,1294,701,1387,1377,1365,1304,
+ 1497,1409,1272,480,381,1133,1078,1069,1023,1014,
+ 500,1086,1050,1031,995,976,956,936,616,1105,
+ 593,509,916,896,876,856,836,816,796,776,
+ 756,736,716,316,667,553,533,420,440,347,
+ 0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -856,27 +836,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,177,101,165,21,28,27,11,10,4,
- 13,20,19,97,2,102,100,104,103,106,
- 105,108,107,110,109,98,46,2,67,52,
- 2,12,163,138,125,101,11,10,54,53,
- 4,58,57,56,55,48,49,13,62,61,
+ 0,180,103,166,17,23,22,10,9,4,
+ 12,16,15,97,2,101,100,104,102,106,
+ 105,108,107,110,109,98,30,2,67,52,
+ 2,11,164,138,141,103,10,9,54,53,
+ 4,58,57,56,55,47,48,12,62,61,
64,63,69,68,65,79,78,77,75,76,
- 74,73,72,71,70,60,163,178,138,115,
- 101,12,2,136,135,166,167,168,45,44,
- 169,43,170,171,1,3,100,100,103,103,
- 103,103,102,102,105,104,104,107,106,138,
- 109,108,115,26,142,4,9,112,101,4,
- 153,101,2,120,26,120,26,26,120,59,
- 101,4,101,101,112,176,151,150,117,101,
- 152,101,26,101,26,101,101,26,164,101,
- 26,154,101,151,176,9,112,4,2,127,
- 129,101,46,150,101,148,125,149,101,148,
- 174,120,175,101,144,46,183,52,12,184,
- 101,26,151,112,112,140,101,2,142,148,
- 101,148,144,60,46,174,60,139,52,12,
- 101,101,179,59,140,2,101,144,139,164,
- 150,180,46,59,142,144,46,119
+ 74,73,72,71,70,60,164,181,138,115,
+ 103,11,2,136,135,167,168,157,169,46,
+ 45,170,44,171,172,1,3,100,100,102,
+ 102,102,102,101,101,105,104,104,107,106,
+ 138,109,108,115,14,142,124,13,112,103,
+ 4,151,103,2,182,158,158,185,158,59,
+ 103,124,4,103,112,179,149,148,118,103,
+ 150,103,117,14,117,14,165,103,14,152,
+ 4,103,179,13,112,4,2,127,129,103,
+ 30,148,183,103,14,103,144,30,189,52,
+ 11,190,103,14,103,149,112,112,140,103,
+ 2,142,14,173,141,174,103,177,117,178,
+ 60,139,52,11,103,149,103,103,103,177,
+ 144,60,30,139,165,148,186,173,184,59,
+ 140,2,103,144,144,30,30,59,142,125
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1005,7 +985,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"assignment_expression",
"expression_list_actual",
"constant_expression",
- "identifier_or_typedefname",
+ "identifier_token",
"declaration_specifiers",
"simple_declaration_specifiers",
"struct_or_union_declaration_sp" +
@@ -1025,6 +1005,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"typedef_name_in_declspec",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1060,9 +1041,9 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 47,
- SCOPE_UBOUND = 34,
- SCOPE_SIZE = 35,
+ ERROR_SYMBOL = 51,
+ SCOPE_UBOUND = 32,
+ SCOPE_SIZE = 33,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1071,20 +1052,20 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 208,
+ NUM_STATES = 210,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2035,
+ LA_STATE_OFFSET = 2038,
MAX_LA = 2,
- NUM_RULES = 310,
- NUM_NONTERMINALS = 117,
- NUM_SYMBOLS = 210,
+ NUM_RULES = 315,
+ NUM_NONTERMINALS = 123,
+ NUM_SYMBOLS = 216,
SEGMENT_SIZE = 8192,
- START_STATE = 1554,
+ START_STATE = 1585,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
- ACCEPT_ACTION = 1712,
- ERROR_ACTION = 1725;
+ ACCEPT_ACTION = 1710,
+ ERROR_ACTION = 1723;
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 a5e6f94641..ffcd02efe9 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
@@ -15,68 +15,68 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99;
public interface C99SizeofExpressionParsersym {
public final static int
- TK_auto = 14,
+ TK_auto = 24,
TK_break = 81,
TK_case = 82,
- TK_char = 29,
+ TK_char = 31,
TK_const = 6,
TK_continue = 83,
TK_default = 84,
TK_do = 85,
- TK_double = 30,
+ TK_double = 32,
TK_else = 86,
- TK_enum = 43,
- TK_extern = 15,
- TK_float = 31,
+ TK_enum = 44,
+ TK_extern = 25,
+ TK_float = 33,
TK_for = 87,
TK_goto = 88,
TK_if = 89,
- TK_inline = 16,
- TK_int = 32,
- TK_long = 33,
- TK_register = 17,
+ TK_inline = 26,
+ TK_int = 34,
+ TK_long = 35,
+ TK_register = 27,
TK_restrict = 7,
TK_return = 90,
- TK_short = 34,
- TK_signed = 35,
- TK_sizeof = 21,
- TK_static = 9,
- TK_struct = 44,
+ TK_short = 36,
+ TK_signed = 37,
+ TK_sizeof = 17,
+ TK_static = 13,
+ TK_struct = 45,
TK_switch = 91,
- TK_typedef = 18,
- TK_union = 45,
- TK_unsigned = 36,
- TK_void = 37,
+ TK_typedef = 28,
+ TK_union = 46,
+ TK_unsigned = 38,
+ TK_void = 39,
TK_volatile = 8,
TK_while = 92,
- TK__Bool = 38,
- TK__Complex = 39,
- TK__Imaginary = 40,
- TK_integer = 22,
- TK_floating = 23,
- TK_charconst = 24,
- TK_stringlit = 25,
+ TK__Bool = 40,
+ TK__Complex = 41,
+ TK__Imaginary = 42,
+ TK_integer = 18,
+ TK_floating = 19,
+ TK_charconst = 20,
+ TK_stringlit = 21,
TK_identifier = 1,
TK_Completion = 3,
TK_EndOfCompletion = 5,
TK_Invalid = 93,
- TK_LeftBracket = 12,
+ TK_LeftBracket = 11,
TK_LeftParen = 2,
- TK_LeftBrace = 26,
+ TK_LeftBrace = 14,
TK_Dot = 52,
TK_Arrow = 67,
- TK_PlusPlus = 19,
- TK_MinusMinus = 20,
- TK_And = 13,
+ TK_PlusPlus = 15,
+ TK_MinusMinus = 16,
+ TK_And = 12,
TK_Star = 4,
- TK_Plus = 10,
- TK_Minus = 11,
- TK_Tilde = 27,
- TK_Bang = 28,
+ TK_Plus = 9,
+ TK_Minus = 10,
+ TK_Tilde = 22,
+ TK_Bang = 23,
TK_Slash = 53,
TK_Percent = 54,
- TK_RightShift = 48,
- TK_LeftShift = 49,
+ TK_RightShift = 47,
+ TK_LeftShift = 48,
TK_LT = 55,
TK_GT = 56,
TK_LE = 57,
@@ -89,7 +89,7 @@ public interface C99SizeofExpressionParsersym {
TK_OrOr = 68,
TK_Question = 69,
TK_Colon = 59,
- TK_DotDotDot = 50,
+ TK_DotDotDot = 49,
TK_Assign = 60,
TK_StarAssign = 70,
TK_SlashAssign = 71,
@@ -101,12 +101,12 @@ public interface C99SizeofExpressionParsersym {
TK_AndAssign = 77,
TK_CaretAssign = 78,
TK_OrAssign = 79,
- TK_Comma = 46,
- TK_RightBracket = 51,
- TK_RightParen = 41,
- TK_RightBrace = 42,
+ TK_Comma = 30,
+ TK_RightBracket = 50,
+ TK_RightParen = 29,
+ TK_RightBrace = 43,
TK_SemiColon = 66,
- TK_ERROR_TOKEN = 47,
+ TK_ERROR_TOKEN = 51,
TK_EOF_TOKEN = 80;
public final static String orderedTerminalSymbols[] = {
@@ -119,16 +119,12 @@ public interface C99SizeofExpressionParsersym {
"const",
"restrict",
"volatile",
- "static",
"Plus",
"Minus",
"LeftBracket",
"And",
- "auto",
- "extern",
- "inline",
- "register",
- "typedef",
+ "static",
+ "LeftBrace",
"PlusPlus",
"MinusMinus",
"sizeof",
@@ -136,9 +132,15 @@ public interface C99SizeofExpressionParsersym {
"floating",
"charconst",
"stringlit",
- "LeftBrace",
"Tilde",
"Bang",
+ "auto",
+ "extern",
+ "inline",
+ "register",
+ "typedef",
+ "RightParen",
+ "Comma",
"char",
"double",
"float",
@@ -151,17 +153,15 @@ public interface C99SizeofExpressionParsersym {
"_Bool",
"_Complex",
"_Imaginary",
- "RightParen",
"RightBrace",
"enum",
"struct",
"union",
- "Comma",
- "ERROR_TOKEN",
"RightShift",
"LeftShift",
"DotDotDot",
"RightBracket",
+ "ERROR_TOKEN",
"Dot",
"Slash",
"Percent",
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 712e8a3902..ce11ca8d98 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
@@ -1258,723 +1258,723 @@ public CPPExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 282: elaborated_type_specifier ::= class_keyword 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 template_opt template_id_name
//
case 282: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
case 283: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 284: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
+ // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 284: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 285: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 286: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 290: enumerator_definition ::= identifier_token
+ // Rule 292: enumerator_definition ::= identifier_token
//
- case 290: { action. consumeEnumerator(false); break;
+ case 292: { action. consumeEnumerator(false); break;
}
//
- // Rule 291: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 293: enumerator_definition ::= identifier_token = constant_expression
//
- case 291: { action. consumeEnumerator(true); break;
+ case 293: { action. consumeEnumerator(true); break;
}
//
- // Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 295: { action. consumeNamespaceDefinition(true); break;
+ case 297: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 296: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 297: { action. consumeNamespaceAliasDefinition(); break;
+ case 299: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 298: { action. consumeUsingDeclaration(); break;
+ case 300: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 299: typename_opt ::= typename
+ // Rule 301: typename_opt ::= typename
//
- case 299: { action. consumePlaceHolder(); break;
+ case 301: { action. consumePlaceHolder(); break;
}
//
- // Rule 300: typename_opt ::= $Empty
+ // Rule 302: typename_opt ::= $Empty
//
- case 300: { action. consumeEmpty(); break;
+ case 302: { action. consumeEmpty(); break;
}
//
- // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 301: { action. consumeUsingDirective(); break;
+ case 303: { action. consumeUsingDirective(); break;
}
//
- // Rule 302: asm_definition ::= asm ( stringlit ) ;
+ // Rule 304: asm_definition ::= asm ( stringlit ) ;
//
- case 302: { action. consumeDeclarationASM(); break;
+ case 304: { action. consumeDeclarationASM(); break;
}
//
- // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action. consumeLinkageSpecification(); break;
+ case 305: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 304: { action. consumeLinkageSpecification(); break;
+ case 306: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 309: init_declarator_complete ::= init_declarator
+ // Rule 311: init_declarator_complete ::= init_declarator
//
- case 309: { action. consumeInitDeclaratorComplete(); break;
+ case 311: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 311: init_declarator ::= declarator initializer
+ // Rule 313: init_declarator ::= complete_declarator initializer
//
- case 311: { action. consumeDeclaratorWithInitializer(true); break;
+ case 313: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action. consumeDeclaratorWithPointer(true); break;
+ case 316: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action. consumeDeclaratorWithPointer(true); break;
+ case 318: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 319: basic_direct_declarator ::= declarator_id_name
+ // Rule 322: basic_direct_declarator ::= declarator_id_name
//
- case 319: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 322: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 320: basic_direct_declarator ::= ( declarator )
+ // Rule 323: basic_direct_declarator ::= ( declarator )
//
- case 320: { action. consumeDirectDeclaratorBracketed(); break;
+ case 323: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_modifier ::= [ constant_expression ]
+ // Rule 327: array_modifier ::= [ constant_expression ]
//
- case 324: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 327: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 325: array_modifier ::= [ ]
+ // Rule 328: array_modifier ::= [ ]
//
- case 325: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 328: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 326: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action. consumePointer(); break;
+ case 329: { action. consumePointer(); break;
}
//
- // Rule 327: ptr_operator ::= &
+ // Rule 330: ptr_operator ::= pointer_hook &
//
- case 327: { action. consumeReferenceOperator(); break;
+ case 330: { action. consumeReferenceOperator(); break;
}
//
- // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action. consumePointerToMember(); break;
+ case 331: { action. consumePointerToMember(); break;
}
//
- // Rule 334: cv_qualifier ::= const
+ // Rule 338: cv_qualifier ::= const
//
- case 334: { action. consumeDeclSpecToken(); break;
+ case 338: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 335: cv_qualifier ::= volatile
+ // Rule 339: cv_qualifier ::= volatile
//
- case 335: { action. consumeDeclSpecToken(); break;
+ case 339: { action. consumeDeclSpecToken(); break;
}
//
- // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 337: { action. consumeQualifiedId(false); break;
+ case 341: { action. consumeQualifiedId(false); break;
}
//
- // Rule 338: type_id ::= type_specifier_seq
+ // Rule 342: type_id ::= type_specifier_seq
//
- case 338: { action. consumeTypeId(false); break;
+ case 342: { action. consumeTypeId(false); break;
}
//
- // Rule 339: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 343: type_id ::= type_specifier_seq abstract_declarator
//
- case 339: { action. consumeTypeId(true); break;
+ case 343: { action. consumeTypeId(true); break;
}
//
- // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 342: { action. consumeDeclaratorWithPointer(false); break;
+ case 346: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 343: { action. consumeDeclaratorWithPointer(true); break;
+ case 347: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 347: { action. consumeDirectDeclaratorBracketed(); break;
+ case 351: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 348: basic_direct_abstract_declarator ::= ( )
+ // Rule 352: basic_direct_abstract_declarator ::= ( )
//
- case 348: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 352: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 349: array_direct_abstract_declarator ::= array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= array_modifier
//
- case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 352: 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: 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 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 353: 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 ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 354: { action. consumePlaceHolder(); break;
+ case 358: { action. consumePlaceHolder(); break;
}
//
- // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 355: { action. consumeEmpty(); break;
+ case 359: { action. consumeEmpty(); break;
}
//
- // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 356: { action. consumePlaceHolder(); break;
+ case 360: { action. consumePlaceHolder(); break;
}
//
- // Rule 362: abstract_declarator_opt ::= $Empty
+ // Rule 366: abstract_declarator_opt ::= $Empty
//
- case 362: { action. consumeEmpty(); break;
+ case 366: { action. consumeEmpty(); break;
}
//
- // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 363: { action. consumeParameterDeclaration(); break;
+ case 367: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 364: parameter_declaration ::= declaration_specifiers
+ // Rule 368: parameter_declaration ::= declaration_specifiers
//
- case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 366: { action. consumeDeclaratorWithInitializer(true); break;
+ case 370: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 368: { action. consumeDeclaratorWithInitializer(true); break;
+ case 372: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 369: parameter_init_declarator ::= = parameter_initializer
+ // Rule 373: parameter_init_declarator ::= = parameter_initializer
//
- case 369: { action. consumeDeclaratorWithInitializer(false); break;
+ case 373: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 370: parameter_initializer ::= assignment_expression
+ // Rule 374: parameter_initializer ::= assignment_expression
//
- case 370: { action. consumeInitializer(); break;
+ case 374: { action. consumeInitializer(); break;
}
//
- // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 371: { action. consumeFunctionDefinition(false); break;
+ case 375: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 372: 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 try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 372: { action. consumeFunctionDefinition(true); break;
+ case 376: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 375: initializer ::= ( expression_list )
+ // Rule 379: initializer ::= ( expression_list )
//
- case 375: { action. consumeInitializerConstructor(); break;
+ case 379: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 376: initializer_clause ::= assignment_expression
+ // Rule 380: initializer_clause ::= assignment_expression
//
- case 376: { action. consumeInitializer(); break;
+ case 380: { action. consumeInitializer(); break;
}
//
- // Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 377: { action. consumeInitializerList(); break;
+ case 381: { action. consumeInitializerList(); break;
}
//
- // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 382: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
- case 378: { action. consumeInitializerList(); break;
+ case 382: { action. consumeInitializerList(); break;
}
//
- // Rule 379: initializer_clause ::= { <openscope-ast> }
+ // Rule 383: initializer_clause ::= { <openscope-ast> }
//
- case 379: { action. consumeInitializerList(); break;
+ case 383: { action. consumeInitializerList(); break;
}
//
- // Rule 380: start_initializer_list ::= $Empty
+ // Rule 384: start_initializer_list ::= $Empty
//
- case 380: { action. initializerListStart(); break;
+ case 384: { action. initializerListStart(); break;
}
//
- // Rule 381: end_initializer_list ::= $Empty
+ // Rule 385: end_initializer_list ::= $Empty
//
- case 381: { action. initializerListEnd(); break;
+ case 385: { action. initializerListEnd(); break;
}
//
- // Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 386: { action. consumeClassSpecifier(); break;
+ case 390: { action. consumeClassSpecifier(); break;
}
//
- // Rule 387: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 387: { action. consumeClassHead(false); break;
+ case 391: { action. consumeClassHead(false); break;
}
//
- // Rule 388: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
+ // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 388: { action. consumeClassHead(false); break;
+ case 392: { action. consumeClassHead(false); break;
}
//
- // Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
+ // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 389: { action. consumeClassHead(true); break;
+ case 393: { action. consumeClassHead(true); break;
}
//
- // Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
+ // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 390: { action. consumeClassHead(true); break;
+ case 394: { action. consumeClassHead(true); break;
}
//
- // Rule 392: identifier_name_opt ::= $Empty
+ // Rule 398: identifier_name_opt ::= $Empty
//
- case 392: { action. consumeEmpty(); break;
+ case 398: { action. consumeEmpty(); break;
}
//
- // Rule 396: visibility_label ::= access_specifier_keyword :
+ // Rule 402: visibility_label ::= access_specifier_keyword :
//
- case 396: { action. consumeVisibilityLabel(); break;
+ case 402: { action. consumeVisibilityLabel(); break;
}
//
- // Rule 397: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 397: { action. consumeDeclarationSimple(true); break;
+ case 403: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 398: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 404: member_declaration ::= declaration_specifiers_opt ;
//
- case 398: { action. consumeDeclarationSimple(false); break;
+ case 404: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 401: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 401: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 407: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 407: member_declaration ::= ERROR_TOKEN
+ // Rule 413: member_declaration ::= ERROR_TOKEN
//
- case 407: { action. consumeDeclarationProblem(); break;
+ case 413: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 415: member_declarator ::= declarator constant_initializer
+ // Rule 422: member_declarator ::= declarator constant_initializer
//
- case 415: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 422: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 416: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 423: member_declarator ::= bit_field_declarator : constant_expression
//
- case 416: { action. consumeBitField(true); break;
+ case 423: { action. consumeBitField(true); break;
}
//
- // Rule 417: member_declarator ::= : constant_expression
+ // Rule 424: member_declarator ::= : constant_expression
//
- case 417: { action. consumeBitField(false); break;
+ case 424: { action. consumeBitField(false); break;
}
//
- // Rule 418: bit_field_declarator ::= identifier_name
+ // Rule 425: bit_field_declarator ::= identifier_name
//
- case 418: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 425: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 419: constant_initializer ::= = constant_expression
+ // Rule 426: constant_initializer ::= = constant_expression
//
- case 419: { action. consumeInitializer(); break;
+ case 426: { action. consumeInitializer(); break;
}
//
- // Rule 425: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action. consumeBaseSpecifier(false, false); break;
+ case 432: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 426: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action. consumeBaseSpecifier(true, true); break;
+ case 433: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 427: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 427: { action. consumeBaseSpecifier(true, true); break;
+ case 434: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 428: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 428: { action. consumeBaseSpecifier(true, false); break;
+ case 435: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 429: access_specifier_keyword ::= private
+ // Rule 436: access_specifier_keyword ::= private
//
- case 429: { action. consumeToken(); break;
+ case 436: { action. consumeToken(); break;
}
//
- // Rule 430: access_specifier_keyword ::= protected
+ // Rule 437: access_specifier_keyword ::= protected
//
- case 430: { action. consumeToken(); break;
+ case 437: { action. consumeToken(); break;
}
//
- // Rule 431: access_specifier_keyword ::= public
+ // Rule 438: access_specifier_keyword ::= public
//
- case 431: { action. consumeToken(); break;
+ case 438: { action. consumeToken(); break;
}
//
- // Rule 433: access_specifier_keyword_opt ::= $Empty
+ // Rule 440: access_specifier_keyword_opt ::= $Empty
//
- case 433: { action. consumeEmpty(); break;
+ case 440: { action. consumeEmpty(); break;
}
//
- // Rule 435: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 435: { action. consumeTemplateId(); break;
+ case 442: { action. consumeTemplateId(); break;
}
//
- // Rule 436: conversion_function_id ::= operator conversion_type_id
+ // Rule 443: conversion_function_id ::= operator conversion_type_id
//
- case 436: { action. consumeConversionName(); break;
+ case 443: { action. consumeConversionName(); break;
}
//
- // Rule 437: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 437: { action. consumeTypeId(true); break;
+ case 444: { action. consumeTypeId(true); break;
}
//
- // Rule 438: conversion_type_id ::= type_specifier_seq
+ // Rule 445: conversion_type_id ::= type_specifier_seq
//
- case 438: { action. consumeTypeId(false); break;
+ case 445: { action. consumeTypeId(false); break;
}
//
- // Rule 439: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 439: { action. consumeDeclaratorWithPointer(false); break;
+ case 446: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 445: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 445: { action. consumeConstructorChainInitializer(); break;
+ case 452: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 446: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 446: { action. consumeQualifiedId(false); break;
+ case 453: { action. consumeQualifiedId(false); break;
}
//
- // Rule 449: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 449: { action. consumeTemplateId(); break;
+ case 456: { action. consumeTemplateId(); break;
}
//
- // Rule 450: operator_id_name ::= operator overloadable_operator
+ // Rule 457: operator_id_name ::= operator overloadable_operator
//
- case 450: { action. consumeOperatorName(); break;
+ case 457: { action. consumeOperatorName(); break;
}
//
- // Rule 493: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 493: { action. consumeTemplateDeclaration(); break;
+ case 500: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 494: export_opt ::= export
+ // Rule 501: export_opt ::= export
//
- case 494: { action. consumePlaceHolder(); break;
+ case 501: { action. consumePlaceHolder(); break;
}
//
- // Rule 495: export_opt ::= $Empty
+ // Rule 502: export_opt ::= $Empty
//
- case 495: { action. consumeEmpty(); break;
+ case 502: { action. consumeEmpty(); break;
}
//
- // Rule 499: template_parameter ::= parameter_declaration
+ // Rule 506: template_parameter ::= parameter_declaration
//
- case 499: { action. consumeTemplateParamterDeclaration(); break;
+ case 506: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 500: type_parameter ::= class identifier_name_opt
+ // Rule 507: type_parameter ::= class identifier_name_opt
//
- case 500: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 501: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 508: type_parameter ::= class identifier_name_opt = type_id
//
- case 501: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 502: type_parameter ::= typename identifier_name_opt
+ // Rule 509: type_parameter ::= typename identifier_name_opt
//
- case 502: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 509: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 503: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 510: type_parameter ::= typename identifier_name_opt = type_id
//
- case 503: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 510: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 504: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 504: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 511: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 505: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 505: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 512: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 506: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 506: { action. consumeTemplateId(); break;
+ case 513: { action. consumeTemplateId(); break;
}
//
- // Rule 511: template_argument ::= assignment_expression
+ // Rule 518: template_argument ::= assignment_expression
//
- case 511: { action. consumeTemplateArgumentExpression(); break;
+ case 518: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 512: template_argument ::= type_id
+ // Rule 519: template_argument ::= type_id
//
- case 512: { action. consumeTemplateArgumentTypeId(); break;
+ case 519: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 513: explicit_instantiation ::= template declaration
+ // Rule 520: explicit_instantiation ::= template declaration
//
- case 513: { action. consumeTemplateExplicitInstantiation(); break;
+ case 520: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 514: explicit_specialization ::= template < > declaration
+ // Rule 521: explicit_specialization ::= template < > declaration
//
- case 514: { action. consumeTemplateExplicitSpecialization(); break;
+ case 521: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 515: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 515: { action. consumeStatementTryBlock(); break;
+ case 522: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 518: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 525: handler ::= catch ( exception_declaration ) compound_statement
//
- case 518: { action. consumeStatementCatchHandler(false); break;
+ case 525: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 519: handler ::= catch ( ... ) compound_statement
+ // Rule 526: handler ::= catch ( ... ) compound_statement
//
- case 519: { action. consumeStatementCatchHandler(true); break;
+ case 526: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 520: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 520: { action. consumeDeclarationSimple(true); break;
+ case 527: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 521: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 521: { action. consumeDeclarationSimple(true); break;
+ case 528: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 522: exception_declaration ::= type_specifier_seq
+ // Rule 529: exception_declaration ::= type_specifier_seq
//
- case 522: { action. consumeDeclarationSimple(false); break;
+ case 529: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 524: exception_specification ::= throw ( )
+ // Rule 531: exception_specification ::= throw ( )
//
- case 524: { action. consumePlaceHolder(); break;
+ case 531: { action. consumePlaceHolder(); break;
}
//
- // Rule 530: expression_parser_start ::= ERROR_TOKEN
+ // Rule 537: expression_parser_start ::= ERROR_TOKEN
//
- case 530: { action. consumeExpressionProblem(); break;
+ case 537: { action. consumeExpressionProblem(); 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 a0fd98e4ed..3d95f7c52f 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
@@ -65,459 +65,470 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
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,3,4,4,5,2,
- 4,5,4,5,6,1,3,1,0,1,
- 3,1,1,1,6,5,7,6,1,0,
- 6,5,6,4,1,3,1,0,1,1,
- 2,1,3,1,3,1,1,1,1,3,
- 9,2,2,3,2,3,1,5,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,7,6,3,0,
- 0,1,3,1,1,5,4,4,5,5,
- 1,0,1,1,1,2,4,2,2,1,
- 5,1,1,1,1,1,1,1,2,1,
- 0,1,3,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,
+ 5,6,5,0,6,7,0,1,3,1,
+ 0,1,3,1,1,1,6,5,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,4,2,
+ 6,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,
+ 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,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,-412,0,0,0,0,0,
+ 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,-477,
+ 0,0,0,0,0,0,-263,0,0,-4,
+ 0,0,0,0,0,-398,0,0,0,0,
+ -71,0,0,0,-5,0,0,0,0,0,
+ 0,0,0,-459,0,-88,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-6,0,0,
+ 0,0,0,0,0,0,0,-58,0,0,
+ 0,-20,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-7,0,0,0,0,0,-239,
+ 0,0,-49,-8,-272,0,0,0,-72,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-417,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,-2,0,0,0,0,0,0,-4,
- 0,0,-467,0,0,0,0,0,-435,0,
- 0,0,0,-71,0,0,0,-54,0,0,
- 0,0,0,0,0,0,-5,-88,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-127,0,
+ 0,0,0,0,-113,0,-178,0,0,0,
+ -387,-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,-213,
- 0,0,0,-20,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-258,0,
+ -9,0,0,0,0,0,0,0,0,-356,
+ 0,0,-142,0,0,0,-51,0,0,0,
+ 0,0,0,-533,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -243,0,0,0,-179,0,0,0,-72,0,
+ -183,0,-11,-54,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,
- -115,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -61,0,0,0,0,0,0,0,0,-402,
+ 0,0,-206,0,0,0,0,0,0,-64,
+ 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,-127,0,
- 0,0,0,0,-113,0,-58,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,-12,0,-13,0,0,0,
+ -179,0,0,0,0,-353,-53,0,-225,-15,
+ 0,-224,0,0,0,0,0,0,0,-150,
+ 0,0,0,-28,0,0,0,0,0,0,
+ 0,0,-59,0,0,0,0,0,-463,0,
+ 0,0,-508,0,0,0,-447,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-6,0,-7,
- 0,0,0,0,0,-64,0,0,-49,-10,
- 0,-146,0,0,0,0,0,-51,0,0,
- 0,0,-8,-260,0,-523,0,0,0,-230,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-9,-131,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-10,0,0,0,
+ -29,0,0,0,0,-532,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-307,0,0,0,0,0,0,0,
- 0,-118,-50,-521,0,0,0,0,0,0,
- -124,0,-275,0,0,0,0,0,-224,0,
+ 0,0,0,0,-117,0,0,0,0,0,
+ 0,0,0,-30,-390,0,0,0,0,0,
+ -331,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-11,0,0,
- 0,0,-388,0,0,0,0,0,0,0,
- 0,-1,0,0,-12,0,-142,0,0,-232,
- -65,0,0,0,-150,0,0,0,0,0,
+ 0,0,-31,0,0,0,0,0,0,-406,
+ 0,0,0,0,0,-439,0,0,0,-256,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-13,0,0,-498,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-246,0,
+ 0,0,0,0,0,0,0,0,0,-32,
+ 0,0,0,0,0,0,0,0,-233,0,
+ 0,0,0,-347,-3,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -183,0,0,0,0,0,0,0,0,-522,
- 0,0,0,-15,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-313,0,
- 0,-28,0,0,0,0,0,0,0,0,
- 0,0,-316,-431,0,0,0,0,0,0,
+ 0,0,0,-288,0,0,-122,0,-33,0,
+ 0,0,-232,0,0,0,0,-106,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,-188,0,0,-242,
+ 0,0,0,0,0,-276,0,0,0,-35,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-117,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,-65,0,0,0,0,-311,
+ 0,0,0,-270,0,0,0,0,-152,0,
+ 0,0,-36,0,0,0,0,0,0,0,
+ 0,-240,0,0,0,-319,0,0,0,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,0,0,0,
- -53,0,0,0,0,0,-400,0,0,0,
- 0,-30,-106,0,0,0,0,0,0,0,
+ 0,0,0,-273,0,0,0,0,0,0,
+ -320,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-267,0,0,0,0,0,
- 0,0,0,0,-129,0,-31,0,0,0,
- -280,0,0,0,-32,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-247,
- 0,0,0,0,0,0,0,0,-396,0,
- 0,0,0,-16,0,0,0,-350,-120,0,
- 0,0,0,0,-320,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-38,0,
+ 0,0,0,-39,0,0,0,-40,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-55,0,0,0,0,
+ 0,0,-221,0,0,-56,0,-50,0,0,
+ 0,0,0,-66,0,0,-342,-41,0,0,
+ 0,-67,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-69,
+ 0,0,0,0,0,0,-70,0,0,-120,
+ 0,-57,0,0,0,0,0,0,0,0,
+ -94,0,0,0,-109,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-296,0,0,0,0,0,0,
- 0,0,-235,0,0,0,0,-18,0,0,
- 0,-353,-321,0,0,0,0,0,0,0,
+ 0,0,-110,0,0,0,0,0,0,0,
+ 0,0,-413,0,-186,0,0,0,0,-111,
+ -60,0,0,-95,0,0,0,-112,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-132,0,0,0,0,
+ 0,0,0,0,0,-493,0,-190,0,0,
+ 0,-370,0,-139,0,0,-96,0,0,0,
+ -140,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,-531,0,
+ -200,0,0,0,0,0,-155,0,0,-97,
+ 0,0,0,-156,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-33,0,0,0,0,0,
- 0,0,-527,0,0,0,-39,0,0,0,
- -34,0,0,0,0,0,0,0,0,0,
+ 0,-157,0,0,0,0,0,0,0,0,
+ 0,-537,0,-304,0,0,0,0,0,-158,
+ 0,0,-98,0,0,0,-159,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-134,0,0,0,0,
- 0,0,0,0,-385,-74,-35,0,0,0,
- -318,0,-41,0,0,0,0,0,0,0,
+ 0,0,0,0,-160,0,0,0,0,0,
+ 0,0,0,0,-161,0,-384,0,0,0,
+ 0,0,-107,0,0,-99,0,0,0,-162,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-36,0,0,0,0,0,0,0,0,
- -130,0,0,0,0,-94,0,0,0,-439,
+ 0,0,0,0,0,0,0,-163,0,-205,
+ 0,0,0,0,-164,-108,0,0,-100,0,
+ 0,0,-165,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-510,0,0,
- 0,0,0,0,0,0,0,-37,0,-210,
- 0,0,0,0,-451,0,0,0,-95,0,
- 0,0,-497,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -129,0,-222,0,0,0,0,-166,-114,0,
+ 0,-101,0,0,0,-167,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-455,0,0,
- 0,-96,0,0,0,-38,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-40,0,0,0,0,0,0,
- 0,0,0,-55,0,-57,0,0,0,0,
- -56,-66,0,0,-97,0,0,0,0,0,
+ 0,0,0,-168,0,-230,0,0,0,0,
+ -344,-169,0,0,-102,0,0,0,-170,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-67,0,0,0,
- 0,0,0,0,0,0,0,0,-137,0,
- 0,0,-334,-69,-59,0,0,-98,0,0,
- 0,-70,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-109,
+ 0,0,0,0,0,0,-385,0,0,0,
+ 0,0,0,0,0,0,-130,0,0,0,
+ 0,0,-507,-363,-171,0,0,-103,0,0,
+ 0,-172,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-173,
+ 0,0,0,0,0,0,-360,0,0,-144,
+ 0,0,0,0,0,-399,0,0,0,0,
+ -104,0,0,0,-292,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-144,-110,-60,0,0,
- -99,0,0,0,-111,0,0,0,0,0,
+ 0,0,-174,0,0,0,0,0,0,0,
+ 0,0,-175,0,-394,0,0,0,0,0,
+ -137,0,0,-135,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,-112,0,-138,0,0,0,-154,-132,
- -107,0,0,-100,0,0,0,-139,0,0,
+ 0,0,0,0,0,-176,0,-177,0,0,
+ 0,-213,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,0,0,-140,0,0,0,0,
- 0,-141,-155,-108,0,0,-101,0,0,0,
- -156,0,0,0,0,0,0,0,0,0,
+ -181,0,0,0,0,0,0,0,0,0,
+ -189,0,0,0,-74,-154,0,0,0,0,
+ 0,-526,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-157,0,
- 0,0,0,0,-158,-159,-114,0,0,-102,
- 0,0,0,-160,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-161,0,0,0,0,0,0,0,0,
- 0,-162,0,-185,0,0,0,0,-163,-149,
- 0,0,-103,0,0,0,-164,0,0,0,
+ 0,0,0,0,0,-408,0,0,0,-138,
+ 0,-149,0,0,-345,0,0,0,-196,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-165,0,0,0,0,0,
- 0,0,0,0,-166,0,-186,0,0,0,
- 0,-167,-153,0,0,-104,0,0,0,-168,
+ 0,0,0,0,0,0,-124,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-330,0,0,
- 0,0,0,0,0,0,0,-192,0,-188,
- 0,0,0,0,-200,-169,0,0,-135,0,
- 0,0,-262,0,0,0,0,0,0,0,
+ 0,0,-355,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -344,0,0,0,0,0,0,0,0,0,
- -170,0,-171,0,0,0,-217,0,0,0,
+ 0,0,0,0,-226,0,0,0,0,0,
+ 0,-182,0,0,0,0,-332,0,0,0,
+ -16,0,0,0,-229,-315,0,0,0,0,
+ 0,0,-379,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-185,0,0,0,0,0,
+ 0,-193,0,0,0,0,-400,0,0,0,
+ -380,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-172,0,0,-333,0,
- -190,0,0,0,0,-193,0,0,0,0,
- 0,-178,0,0,0,-516,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-173,0,0,
- 0,0,0,0,0,0,0,0,0,-204,
- 0,0,0,0,-206,-202,0,0,-317,0,
- 0,0,-342,0,0,0,0,0,0,0,
+ 0,0,-194,0,0,0,0,0,-147,0,
+ 0,0,-279,0,0,0,0,0,0,0,
+ -450,0,0,0,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,-416,0,-333,0,0,0,-93,0,
0,0,0,0,0,0,0,0,0,0,
- -304,0,-174,0,0,0,-332,0,0,0,
- -283,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-175,0,0,-176,0,
- 0,0,0,0,-147,0,0,0,-284,-362,
- 0,0,0,0,0,-348,0,0,0,0,
+ -197,0,0,0,0,0,0,0,0,0,
+ 0,0,-335,0,0,0,0,-266,0,0,
+ 0,0,0,-410,0,0,0,0,-91,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-398,0,0,
- 0,0,0,0,0,0,0,0,0,-177,
- 0,0,0,-380,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -153,0,0,0,0,0,0,0,0,0,
+ -92,0,0,0,-208,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-180,0,0,0,0,
- 0,-335,0,0,0,-181,0,0,0,0,
- 0,0,-381,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-411,0,0,0,0,0,
- 0,-354,0,0,-433,0,0,0,0,0,
- -442,0,0,0,0,0,0,0,0,0,
+ 0,-391,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-89,0,0,0,-255,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-392,
- 0,0,0,0,0,0,0,0,-373,0,
- 0,0,-182,-191,0,0,0,0,0,-93,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-218,-409,-377,0,0,-136,0,0,
+ -219,0,-509,0,0,0,-202,-118,-420,0,
+ 0,0,0,0,0,0,-374,0,0,0,
+ 0,-267,0,0,0,0,0,0,-227,0,
+ 0,-211,0,0,0,-314,0,-90,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-197,0,0,0,0,0,0,-198,0,
- 0,-314,0,-187,0,0,0,-91,0,0,
+ 0,0,0,0,0,0,0,0,0,-280,
+ 0,0,0,0,0,0,-212,0,0,0,
+ -235,0,0,-119,0,0,0,-236,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-211,
- 0,0,0,0,0,0,-238,0,0,-92,
- 0,0,0,-369,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-143,
+ 0,0,0,-146,-429,0,0,0,0,0,
+ 0,-151,0,0,0,-198,-282,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,0,-245,0,0,0,0,-254,
+ -207,-259,0,0,0,0,0,0,-261,-238,
+ 0,0,0,0,0,0,0,-312,0,-262,
+ 0,0,0,0,-277,0,0,0,0,0,
+ 0,0,0,-121,-246,0,0,0,-354,0,
+ 0,0,0,-306,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-260,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,-278,0,0,0,0,
+ -247,0,0,0,-438,0,0,0,0,-289,
+ 0,0,0,0,0,0,0,0,-274,0,
+ 0,0,0,-299,0,0,0,-329,-293,0,
+ 0,0,0,0,0,0,0,0,0,-83,
0,0,0,0,0,0,0,0,0,0,
- -89,0,0,0,-270,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-292,0,0,0,0,0,-90,0,
+ 0,-520,0,0,0,0,-84,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -201,0,0,0,0,0,-240,0,0,0,
- 0,0,0,0,0,0,0,0,0,-212,
- -196,0,0,0,-355,0,0,0,-286,0,
+ 0,0,0,-77,0,0,0,-294,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-152,0,0,0,-363,0,0,0,0,
- 0,0,0,0,0,-231,0,0,0,-444,
- 0,-222,0,0,0,0,0,0,0,0,
- -223,-122,0,0,0,0,0,-464,0,0,
- 0,0,-323,0,0,0,0,0,0,-225,
- 0,0,-237,0,0,0,-239,0,0,0,
- 0,0,0,0,-241,0,0,-376,0,0,
- 0,0,0,0,0,0,0,0,-249,0,
- 0,0,0,0,-82,0,0,0,0,0,
+ 0,0,0,0,0,-302,0,0,0,0,
+ 0,-440,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-187,0,0,0,-85,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-263,0,0,0,
- 0,-83,0,0,0,-408,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-265,0,0,0,0,0,0,
- 0,-84,0,0,0,0,0,0,0,0,
+ -234,0,0,0,0,-428,-123,0,0,0,
+ 0,-199,-441,-303,0,0,0,0,0,-268,
+ 0,0,0,0,0,0,-323,0,-430,0,
+ 0,0,0,0,0,-241,-308,0,-14,-148,
+ -248,-316,0,0,0,0