Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/xlc
diff options
context:
space:
mode:
authorJonah Graham2018-11-20 16:20:42 +0000
committerJonah Graham2018-11-22 21:47:02 +0000
commit170e654b4796bad1453ae85a427b97317d67a69a (patch)
tree6ca9b8a8fedd5fd25f97eb79c408312e256ff981 /xlc
parent35996a5c5ca5c254959ba48241eaada6dbf8628d (diff)
downloadorg.eclipse.cdt-170e654b4796bad1453ae85a427b97317d67a69a.tar.gz
org.eclipse.cdt-170e654b4796bad1453ae85a427b97317d67a69a.tar.xz
org.eclipse.cdt-170e654b4796bad1453ae85a427b97317d67a69a.zip
Bug 540373: Cleanup: Format & Remove trailing whitespace
This was done by selecting all projects in Eclipse then Source -> Clean Up... -> choosing: - Format source code - Remove trailing white spaces on all lines and completing the wizard Change-Id: I63685372c6bcc67719bcf145123bcb72e5b00394
Diffstat (limited to 'xlc')
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/VectorExtensionsTest.java284
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java243
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTestSuite.java10
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcTestBase.java22
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java36
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPImplicitNameTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPSpecTest.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java7
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCSpecTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCommentTests.java15
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompleteParser2Tests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionBasicTest.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionParseTest.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationMacroTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMPreprocessorInformationTest.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDigraphTrigraphTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCCompleteParseExtensionsTest.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRImageLocationTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRInactiveCodeTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRKnRTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRNodeSelectorTest.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java71
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRQuickParser2Tests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSelectionParseTest.java6
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSemanticsTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTaskParserTest.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTemplateTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTests.java6
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilOldTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilTests.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/suite/AutomatedIntegrationSuite.java11
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java28
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java46
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPScannerExtensionConfiguration.java15
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java458
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCScannerExtensionConfiguration.java14
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java349
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java76
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCBuildASTParserAction.java26
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCPPBuildASTParserAction.java65
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/activator/XlcParserPlugin.java2
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCASTVectorTypeSpecifier.java8
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTModifiedArrayModifier.java23
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTVectorTypeSpecifier.java6
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPNodeFactory.java6
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java51
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java17
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCNodeFactory.java2
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTModifiedArrayModifier.java96
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTVectorTypeSpecifier.java2
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPNodeFactory.java10
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java3173
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java3229
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java251
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java5357
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java6371
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java319
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java13
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java34
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java49
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCommandOptionNotRecognized.java10
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCompatibility.java10
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestError_1.java18
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_1.java18
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_2.java12
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_3.java10
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerCommandOptionNotRecognized.java10
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerDuplicateSymbol.java14
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerErrorWhileReading.java14
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerInfo.java14
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerSevereError.java14
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerUndefinedSymbol.java14
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedeclaration.java17
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedefinition.java15
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_1.java17
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_2.java17
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_3.java19
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_4.java22
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_5.java18
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_1.java13
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_2.java11
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_3.java12
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestWarning_1.java15
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java5
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/XlcErrorParserTester.java23
-rw-r--r--xlc/org.eclipse.cdt.errorparsers.xlc/src/org/eclipse/cdt/errorparsers/xlc/Activator.java4
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/activator/Activator.java5
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/AbstractXLCBuildOutputParser.java12
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerFileXLCScannerInfoCollector.java1247
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCBuildOutputParserUtility.java829
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerFileBuildOutputParser.java244
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerProjectBuildOutputParser.java218
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsConsoleParser.java56
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsRunSIProvider.java12
-rw-r--r--xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/util/XLCCommandDSC.java12
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XlcBuiltinSpecsDetector.java29
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixConfigurationEnvironmentSupplier.java28
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixPathResolver.java4
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCProjectMacroSupplier.java47
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceConstants.java12
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceInitializer.java2
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/XLCompilerPreferencePage.java37
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/HiddenOptionApplicabilityCalculator.java12
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCApplicabilityCalculator.java97
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java5
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv8ApplicabiltyCalculator.java33
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv9ApplicabilityCalculator.java33
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/variables/DynamicVariableResolver.java6
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java21
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardRunnable.java14
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Activator.java3
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Messages.java3
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/UpcProjectWizard.java40
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardRunnable.java9
116 files changed, 10769 insertions, 13562 deletions
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/VectorExtensionsTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/VectorExtensionsTest.java
index cabf940057c..63d91e07771 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/VectorExtensionsTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/VectorExtensionsTest.java
@@ -24,183 +24,123 @@ import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-
public class VectorExtensionsTest extends XlcTestBase {
public VectorExtensionsTest() {
}
-
+
public VectorExtensionsTest(String name) {
super(name);
}
-
-
-
- public void testVector1() {
- String code =
- "int test() { \n" +
- " vector unsigned int a = {1,2,3,4}; \n" +
- " vector unsigned int b = {2,4,6,8}; \n" +
- " vector unsigned int c = a + b; \n" +
- " int e = b > a; \n" +
- " int f = a[2]; \n" +
- " vector unsigned int d = ++a; \n" +
- "}\n";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
- public void testVectorDeclarations() {
- String code =
- "vector unsigned char a; \n" +
- "vector signed char b; \n" +
- "vector bool char c; \n" +
- "vector unsigned short d; \n" +
- "vector unsigned short int e; \n" +
- "vector signed short f; \n" +
- "vector signed short int g; \n" +
- "vector bool short h; \n" +
- "vector bool short int i; \n" +
- "vector unsigned int j; \n" +
- "vector unsigned long k; \n" +
- "vector unsigned long int l; \n" +
- "vector signed int m; \n" +
- "vector signed long n; \n" +
- "vector signed long int o; \n" +
- "vector bool int p; \n" +
- "vector bool long q; \n" +
- "vector bool long int r; \n" +
- "vector float s; \n" +
- "vector pixel t; \n" +
- "__vector __pixel u; \n";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
- // these are only treated as keywords inside a vector declaration
- public void testReservedWords() {
- String code =
- "int pixel; " +
- "int bool; ";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
-
- public void testVectorLiterals() {
- String code =
- "int test() {" +
- " (vector unsigned int)(10); " +
- " (vector unsigned int)(14, 82, 73, 700); " +
- " (vector pixel)(14, 82, 73, 700); " +
- " (vector bool int)(10); " +
- "}";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
- public void testVectorInitializers() {
- String code =
- "int test() {" +
- " vector unsigned int v3 = {1,2,3,4}; " +
- "}";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
-
- public void testVectorTypedefs() {
- String code =
- "int test() {" +
- " typedef vector pixel vint16; " +
- " vint16 v1;" +
- "}";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
- public void testVectorCompoundLiterals() {
- String code =
- "int test() {" +
- " (vector unsigned int){10}; " +
- " (vector unsigned int){14, 82, 73, 700}; " +
- " (vector pixel){14, 82, 73, 700}; " +
- " (vector bool int){10}; " +
- "}";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
- public void testVectorAlignof() {
- String code =
- "int test() {" +
- " vector unsigned int v1 = (vector unsigned int)(10); \n" +
- " vector unsigned int *pv1 = &v1; \n" +
- " __alignof__(v1); \n" +
- " __alignof__(&v1); \n" +
- " __alignof__(*pv1); \n" +
- " __alignof__(pv1); \n" +
- " __alignof__(vector signed char); \n" +
- "}";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
- public void testVectorTypeof() {
- String code =
- "int test() {" +
- " vector unsigned int v1 = (vector unsigned int)(10); \n" +
- " vector unsigned int *pv1 = &v1; \n" +
- " __typeof__(v1); \n" +
- " __typeof__(&v1); \n" +
- " __typeof__(*pv1); \n" +
- " __typeof__(pv1); \n" +
- " __typeof__(vector signed char); \n" +
- "}";
-
- parse(code, getCLanguage(), true);
- parse(code, getCPPLanguage(), true);
- }
-
- public void _testOverloads() {
- String code =
- "void foo(int); \n" +
- "void foo(vector unsigned int); \n" +
- "void foo(vector pixel) \n" +
- "int test() { \n" +
- " int x; \n" +
- " vector unsigned int y; \n" +
- " vector pixel z; \n" +
- " foo(x); \n" +
- " foo(y); \n" +
- " foo(z); \n" +
- "} \n";
-
- IASTTranslationUnit tu = parse(code, getCPPLanguage(), true);
-
-
- IASTDeclaration[] decls = tu.getDeclarations();
- IASTName foo1 = ((IASTSimpleDeclaration)decls[0]).getDeclarators()[0].getName();
- IASTName foo2 = ((IASTSimpleDeclaration)decls[1]).getDeclarators()[0].getName();
- IASTName foo3 = ((IASTSimpleDeclaration)decls[2]).getDeclarators()[0].getName();
-
- IASTFunctionDefinition func = (IASTFunctionDefinition) decls[4];
- IASTStatement[] stats = ((IASTCompoundStatement)func.getBody()).getStatements();
-
- IASTName fooCall1 = ((IASTIdExpression)((IASTFunctionCallExpression)((IASTExpressionStatement)stats[3]).getExpression()).getFunctionNameExpression()).getName();
- IASTName fooCall2 = ((IASTIdExpression)((IASTFunctionCallExpression)((IASTExpressionStatement)stats[4]).getExpression()).getFunctionNameExpression()).getName();
- IASTName fooCall3 = ((IASTIdExpression)((IASTFunctionCallExpression)((IASTExpressionStatement)stats[5]).getExpression()).getFunctionNameExpression()).getName();
-
- assertSame(foo1.resolveBinding(), fooCall1.resolveBinding());
- assertSame(foo2.resolveBinding(), fooCall2.resolveBinding());
- assertSame(foo3.resolveBinding(), fooCall3.resolveBinding());
- }
+
+ public void testVector1() {
+ String code = "int test() { \n" + " vector unsigned int a = {1,2,3,4}; \n"
+ + " vector unsigned int b = {2,4,6,8}; \n" + " vector unsigned int c = a + b; \n"
+ + " int e = b > a; \n" + " int f = a[2]; \n"
+ + " vector unsigned int d = ++a; \n" + "}\n";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void testVectorDeclarations() {
+ String code = "vector unsigned char a; \n" + "vector signed char b; \n" + "vector bool char c; \n"
+ + "vector unsigned short d; \n" + "vector unsigned short int e; \n"
+ + "vector signed short f; \n" + "vector signed short int g; \n" + "vector bool short h; \n"
+ + "vector bool short int i; \n" + "vector unsigned int j; \n" + "vector unsigned long k; \n"
+ + "vector unsigned long int l; \n" + "vector signed int m; \n" + "vector signed long n; \n"
+ + "vector signed long int o; \n" + "vector bool int p; \n" + "vector bool long q; \n"
+ + "vector bool long int r; \n" + "vector float s; \n" + "vector pixel t; \n"
+ + "__vector __pixel u; \n";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ // these are only treated as keywords inside a vector declaration
+ public void testReservedWords() {
+ String code = "int pixel; " + "int bool; ";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void testVectorLiterals() {
+ String code = "int test() {" + " (vector unsigned int)(10); "
+ + " (vector unsigned int)(14, 82, 73, 700); " + " (vector pixel)(14, 82, 73, 700); "
+ + " (vector bool int)(10); " + "}";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void testVectorInitializers() {
+ String code = "int test() {" + " vector unsigned int v3 = {1,2,3,4}; " + "}";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void testVectorTypedefs() {
+ String code = "int test() {" + " typedef vector pixel vint16; " + " vint16 v1;" + "}";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void testVectorCompoundLiterals() {
+ String code = "int test() {" + " (vector unsigned int){10}; "
+ + " (vector unsigned int){14, 82, 73, 700}; " + " (vector pixel){14, 82, 73, 700}; "
+ + " (vector bool int){10}; " + "}";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void testVectorAlignof() {
+ String code = "int test() {" + " vector unsigned int v1 = (vector unsigned int)(10); \n"
+ + " vector unsigned int *pv1 = &v1; \n" + " __alignof__(v1); \n" + " __alignof__(&v1); \n"
+ + " __alignof__(*pv1); \n" + " __alignof__(pv1); \n" + " __alignof__(vector signed char); \n"
+ + "}";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void testVectorTypeof() {
+ String code = "int test() {" + " vector unsigned int v1 = (vector unsigned int)(10); \n"
+ + " vector unsigned int *pv1 = &v1; \n" + " __typeof__(v1); \n" + " __typeof__(&v1); \n"
+ + " __typeof__(*pv1); \n" + " __typeof__(pv1); \n" + " __typeof__(vector signed char); \n"
+ + "}";
+
+ parse(code, getCLanguage(), true);
+ parse(code, getCPPLanguage(), true);
+ }
+
+ public void _testOverloads() {
+ String code = "void foo(int); \n" + "void foo(vector unsigned int); \n" + "void foo(vector pixel) \n"
+ + "int test() { \n" + " int x; \n" + " vector unsigned int y; \n" + " vector pixel z; \n"
+ + " foo(x); \n" + " foo(y); \n" + " foo(z); \n" + "} \n";
+
+ IASTTranslationUnit tu = parse(code, getCPPLanguage(), true);
+
+ IASTDeclaration[] decls = tu.getDeclarations();
+ IASTName foo1 = ((IASTSimpleDeclaration) decls[0]).getDeclarators()[0].getName();
+ IASTName foo2 = ((IASTSimpleDeclaration) decls[1]).getDeclarators()[0].getName();
+ IASTName foo3 = ((IASTSimpleDeclaration) decls[2]).getDeclarators()[0].getName();
+
+ IASTFunctionDefinition func = (IASTFunctionDefinition) decls[4];
+ IASTStatement[] stats = ((IASTCompoundStatement) func.getBody()).getStatements();
+
+ IASTName fooCall1 = ((IASTIdExpression) ((IASTFunctionCallExpression) ((IASTExpressionStatement) stats[3])
+ .getExpression()).getFunctionNameExpression()).getName();
+ IASTName fooCall2 = ((IASTIdExpression) ((IASTFunctionCallExpression) ((IASTExpressionStatement) stats[4])
+ .getExpression()).getFunctionNameExpression()).getName();
+ IASTName fooCall3 = ((IASTIdExpression) ((IASTFunctionCallExpression) ((IASTExpressionStatement) stats[5])
+ .getExpression()).getFunctionNameExpression()).getName();
+
+ assertSame(foo1.resolveBinding(), fooCall1.resolveBinding());
+ assertSame(foo2.resolveBinding(), fooCall2.resolveBinding());
+ assertSame(foo3.resolveBinding(), fooCall3.resolveBinding());
+ }
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java
index 2db13e11da3..59e08e4958c 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java
@@ -16,286 +16,201 @@ package org.eclipse.cdt.core.parser.xlc.tests;
import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences;
import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref;
-
public class XlcExtensionsTest extends XlcTestBase {
public XlcExtensionsTest() {
}
-
+
public XlcExtensionsTest(String name) {
super(name);
}
-
+
public void testHexadecimalFloatingPointLiterals() throws Exception {
- String code =
- "int test() { \n"+
- " 0x0A2B.0FDp+2f; \n"+
- " 0X12D.p-44F; \n"+
- " 0xBACP+2L; \n"+
- "}\n";
+ String code = "int test() { \n" + " 0x0A2B.0FDp+2f; \n" + " 0X12D.p-44F; \n"
+ + " 0xBACP+2L; \n" + "}\n";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
+
public void testFuncPredefinedIdentifier() {
- String code =
- "void test() { \n" +
- " __func__; \n" +
- " } \n";
+ String code = "void test() { \n" + " __func__; \n" + " } \n";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
+
public void testStringConcatenation() {
- String code =
- "void test() { \n" +
- " \"hello \" \"there\"; \n" +
- " \"hello \" L\"there\"; \n" +
- " } \n";
+ String code = "void test() { \n" + " \"hello \" \"there\"; \n" + " \"hello \" L\"there\"; \n"
+ + " } \n";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
+
public void testLongLong() {
- String code =
- "void test() { \n" +
- " long long x; \n" +
- " } \n";
+ String code = "void test() { \n" + " long long x; \n" + " } \n";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
+
public void testComplex() {
- String code =
- "void test() { \n" +
- " float _Complex x; \n" +
- " double _Complex y; \n" +
- " long double _Complex z; \n" +
- " } \n";
+ String code = "void test() { \n" + " float _Complex x; \n" + " double _Complex y; \n"
+ + " long double _Complex z; \n" + " } \n";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
+
public void testBool() {
- String code =
- "_Bool f(int a, int b) { \n" +
- " return a==b; \n" +
- " } \n";
+ String code = "_Bool f(int a, int b) { \n" + " return a==b; \n" + " } \n";
parse(code, getCLanguage(), true);
}
-
+
public void testTrailingCommaInEnum() {
- String code =
- "void test() { \n" +
- " enum grain { oats, wheat, barley, corn, rice, }; \n" +
- " } \n";
+ String code = "void test() { \n" + " enum grain { oats, wheat, barley, corn, rice, }; \n"
+ + " } \n";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
public void testNonLValueArraySubscript() {
- String code =
- "struct trio{int a[3];}; \n" +
- "struct trio f(); \n" +
- "foo (int index) \n" +
- "{ \n" +
- " return f().a[index]; \n" +
- "} \n";
+ String code = "struct trio{int a[3];}; \n" + "struct trio f(); \n" + "foo (int index) \n"
+ + "{ \n" + " return f().a[index]; \n" + "} \n";
parse(code, getCLanguage(), true);
}
-
+
public void testStaticArrayIndices() {
- String code =
- "void test() { \n" +
- " void foo1(int arr [static 10]); \n" +
- " int i = 10; \n" +
- " void foo2(int arr [static const i]); \n" +
- " } \n";
+ String code = "void test() { \n" + " void foo1(int arr [static 10]); \n"
+ + " int i = 10; \n" + " void foo2(int arr [static const i]); \n"
+ + " } \n";
parse(code, getCLanguage(), true);
}
-
+
public void testFunctionLikeMacrosVariableArguments() {
- String code =
- "#define debug(...) fprintf(stderr, __VA_ARGS__) \n" +
- "int test() { \n" +
- " debug(\"flag\"); \n" +
- " } \n";
+ String code = "#define debug(...) fprintf(stderr, __VA_ARGS__) \n" + "int test() { \n"
+ + " debug(\"flag\"); \n" + " } \n";
parse(code, getCLanguage(), false);
}
-
+
public void testFunctionLikeMacrosEmptyArgument() {
- String code =
- "#define SUM(a,b,c) a + b + c \n" +
- "int test() { \n" +
- " SUM(1,,3); \n" +
- " } \n";
+ String code = "#define SUM(a,b,c) a + b + c \n" + "int test() { \n" + " SUM(1,,3); \n" + " } \n";
parse(code, getCLanguage(), true);
}
-
+
public void testPredefinedMacroNamesC() {
- String code =
- "void test() { \n" +
- " __DATE__; \n" +
- " __FILE__; \n" +
- " __LINE__; \n" +
- " __STDC_HOSTED__; \n" +
- " __STDC_VERSION__; \n" +
- " __TIME__; \n" +
- "} \n";
+ String code = "void test() { \n" + " __DATE__; \n" + " __FILE__; \n"
+ + " __LINE__; \n" + " __STDC_HOSTED__; \n" + " __STDC_VERSION__; \n"
+ + " __TIME__; \n" + "} \n";
parse(code, getCLanguage(), true);
}
-
+
public void testPredefinedMacroNamesCpp() {
- String code =
- "void test() { \n" +
- " __DATE__; \n" +
- " __FILE__; \n" +
- " __LINE__; \n" +
- " __TIME__; \n" +
- // " __cplusplus; \n" +
- "} \n";
+ String code = "void test() { \n" + " __DATE__; \n" + " __FILE__; \n"
+ + " __LINE__; \n" + " __TIME__; \n" +
+ // " __cplusplus; \n" +
+ "} \n";
parse(code, getCPPLanguage(), true);
}
-
-
+
public void testCompoundLiterals() {
- String code =
- "void test() { \n" +
- " drawline((struct point){6,7}); \n" +
- " } \n";
+ String code = "void test() { \n" + " drawline((struct point){6,7}); \n" + " } \n";
parse(code, getCLanguage(), false);
}
-
-
public void testPragma() {
- String code =
- "void test() { \n" +
- " _Pragma ( \"pack(full)\" ) \n" +
- " } \n";
+ String code = "void test() { \n" + " _Pragma ( \"pack(full)\" ) \n" + " } \n";
parse(code, getCLanguage(), true);
}
-
-
+
public void testStandardPragmas() {
- String code =
- "#pragma STDC FP_CONTRACT ON \n" +
- "#pragma STDC FENV_ACCESS OFF \n" +
- "#pragma STDC CX_LIMITED_RANGE DEFAULT \n";
+ String code = "#pragma STDC FP_CONTRACT ON \n" + "#pragma STDC FENV_ACCESS OFF \n"
+ + "#pragma STDC CX_LIMITED_RANGE DEFAULT \n";
parse(code, getCLanguage(), true);
}
-
+
public void testLineDirective() {
- String code =
- "#define LINE200 200 \n" +
- "#line 100 \n" +
- "#line LINE200 \n";
+ String code = "#define LINE200 200 \n" + "#line 100 \n" + "#line LINE200 \n";
parse(code, getCLanguage(), true);
}
-
-
+
/**
* https://bugs.eclipse.org/bugs/show_bug.cgi?id=228826
* http://publib.boulder.ibm.com/infocenter/comphelp/v101v121/index.jsp?topic=/com.ibm.xlcpp101.aix.doc/language_ref/restrict_type_qualifier.html
- *
+ *
* TODO Need a properties page so that things like this can be configured by the user.
*/
public void testRestrictC() {
- String code =
- "void foo(int n, int * restrict a, int * __restrict b, int * __restrict__ c) {} ";
+ String code = "void foo(int n, int * restrict a, int * __restrict b, int * __restrict__ c) {} ";
parse(code, getCLanguage(), true);
}
-
+
public void testRestrictCPPOn() {
- String code =
- "void foo(int n, int * restrict a, int * __restrict b, int * __restrict__ c) {} ";
+ String code = "void foo(int n, int * restrict a, int * __restrict b, int * __restrict__ c) {} ";
parse(code, getCPPLanguage(), true);
}
+
public void testRestrictCPPOff() {
XlcLanguagePreferences.setWorkspacePreference(XlcPref.SUPPORT_RESTRICT_IN_CPP, String.valueOf(false));
- String code =
- "void restrict(); \n " +
- "void foo(int n, int * __restrict b, int * __restrict__ c) {} ";
+ String code = "void restrict(); \n " + "void foo(int n, int * __restrict b, int * __restrict__ c) {} ";
parse(code, getCPPLanguage(), true);
}
-
-
-
+
public void testUTFLiterals() {
- String code =
- "void test() { \n " +
- " u\"ucs characters \\u1234 and \\u8180 \"; \n " +
- " U\"ucs characters \\u1234 and \\u8180 \"; \n " +
- " U\"concatenation \\u1234 \" u\"is allowed \\u8180 \"; \n " +
- " u'\\u1234'; \n " +
- " U'\\u1234'; \n " +
- "}";
+ String code = "void test() { \n " + " u\"ucs characters \\u1234 and \\u8180 \"; \n "
+ + " U\"ucs characters \\u1234 and \\u8180 \"; \n "
+ + " U\"concatenation \\u1234 \" u\"is allowed \\u8180 \"; \n " + " u'\\u1234'; \n "
+ + " U'\\u1234'; \n " + "}";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
-
+
public void testFloatingPointTypes() {
- String code =
- " _Decimal32 x = 22.2df; \n " +
- " _Decimal64 y = 33.3dd; \n " +
- " _Decimal128 z = 33.3dl; \n ";
+ String code = " _Decimal32 x = 22.2df; \n " + " _Decimal64 y = 33.3dd; \n " + " _Decimal128 z = 33.3dl; \n ";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
}
-
+
public void testVariableLengthArrays() {
- String code =
- "double maximum1(int n, int m, double a[n][m]);\n" +
- "double maximum2(int n, int m, double a[*][*]);\n" +
- "double maximum3(int n, int m, double a[ ][*]);\n" +
- "double maximum4(int n, int m, double a[ ][m]);\n";
-
+ String code = "double maximum1(int n, int m, double a[n][m]);\n"
+ + "double maximum2(int n, int m, double a[*][*]);\n"
+ + "double maximum3(int n, int m, double a[ ][*]);\n"
+ + "double maximum4(int n, int m, double a[ ][m]);\n";
+
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true); // xlc supports this in C++
}
-
+
public void testV11Attributes() {
- String code =
- "#define __inline__ __inline__ __attribute__((gnu_inline)) \n" +
-
- "static int w() __attribute__ ((weakref (\"y\")));\n" +
- /* is equivalent to... */
- "static int x() __attribute__ ((weak, weakref, alias (\"y\")));\n" +
- /* and to... */
- "static int y() __attribute__ ((weakref));\n" +
- "static int z() __attribute__ ((alias (\"y\"))); \n" +
-
- "int foo() __attribute__((gnu_inline)); \n" +
- "static inline __attribute__((gnu_inline)) int ins (int *a){ \n" +
- " (*a)++; \n" +
- "} \n" +
- "inline __attribute__((gnu_inline)) int inc (int *a){ \n" +
- " (*a)++; \n" +
- "} ";
+ String code = "#define __inline__ __inline__ __attribute__((gnu_inline)) \n" +
+
+ "static int w() __attribute__ ((weakref (\"y\")));\n" +
+ /* is equivalent to... */
+ "static int x() __attribute__ ((weak, weakref, alias (\"y\")));\n" +
+ /* and to... */
+ "static int y() __attribute__ ((weakref));\n" + "static int z() __attribute__ ((alias (\"y\"))); \n" +
+
+ "int foo() __attribute__((gnu_inline)); \n"
+ + "static inline __attribute__((gnu_inline)) int ins (int *a){ \n" + " (*a)++; \n" + "} \n"
+ + "inline __attribute__((gnu_inline)) int inc (int *a){ \n" + " (*a)++; \n" + "} ";
parse(code, getCLanguage(), true);
parse(code, getCPPLanguage(), true);
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTestSuite.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTestSuite.java
index c00b93049a8..42a42ae5268 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTestSuite.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTestSuite.java
@@ -19,9 +19,11 @@ import junit.framework.TestSuite;
public class XlcExtensionsTestSuite extends TestSuite {
public static Test suite() {
- return new TestSuite() {{
- addTestSuite(VectorExtensionsTest.class);
- addTestSuite(XlcExtensionsTest.class);
- }};
+ return new TestSuite() {
+ {
+ addTestSuite(VectorExtensionsTest.class);
+ addTestSuite(XlcExtensionsTest.class);
+ }
+ };
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcTestBase.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcTestBase.java
index af38de28c15..c4d3cf3c419 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcTestBase.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcTestBase.java
@@ -25,11 +25,11 @@ public class XlcTestBase extends TestCase {
public XlcTestBase() {
}
-
+
public XlcTestBase(String name) {
super(name);
}
-
+
protected IASTTranslationUnit parse(String code, ILanguage language, boolean checkBindings) {
ParseHelper.Options options = new ParseHelper.Options();
options.setCheckSyntaxProblems(true);
@@ -37,13 +37,13 @@ public class XlcTestBase extends TestCase {
options.setCheckBindings(checkBindings);
return ParseHelper.parse(code, language, options);
}
-
- protected XlcCLanguage getCLanguage() {
- return XlcCLanguage.getDefault();
- }
-
- protected XlcCPPLanguage getCPPLanguage() {
- return XlcCPPLanguage.getDefault();
- }
-
+
+ protected XlcCLanguage getCLanguage() {
+ return XlcCLanguage.getDefault();
+ }
+
+ protected XlcCPPLanguage getCPPLanguage() {
+ return XlcCPPLanguage.getDefault();
+ }
+
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java
index 09c6e264a45..fcabbf988a7 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -19,32 +19,32 @@ import org.eclipse.cdt.core.lrparser.tests.LRCompletionHangingTest;
import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage;
import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage;
-public class XlcCompletionHangingTest extends LRCompletionHangingTest{
+public class XlcCompletionHangingTest extends LRCompletionHangingTest {
-
public static TestSuite suite() {
return new TestSuite(XlcCompletionHangingTest.class);
}
-
-
+
//TODO ??? overwrite some failed test cases
- public void testCompletionTemplateClassForCPP() throws Exception {}
- public void testCompletionGnuCPP() throws Exception {}
-
-
- protected XlcCLanguage getCLanguage() {
- return XlcCLanguage.getDefault();
- }
-
+ public void testCompletionTemplateClassForCPP() throws Exception {
+ }
+
+ public void testCompletionGnuCPP() throws Exception {
+ }
+
+ protected XlcCLanguage getCLanguage() {
+ return XlcCLanguage.getDefault();
+ }
+
protected XlcCPPLanguage getCPPLanguage() {
- return XlcCPPLanguage.getDefault();
+ return XlcCPPLanguage.getDefault();
}
-
+
public void testCompletionXlc() throws Exception {
- String code =
- " __static_assert" + CONTENT_ASIST_CURSOR +"(a>" + CONTENT_ASIST_CURSOR +"b, \"no 64-bit support\"); \n"+
- " vector " + CONTENT_ASIST_CURSOR +"unsigned " + CONTENT_ASIST_CURSOR +"int d = ++a; \n";
+ String code = " __static_assert" + CONTENT_ASIST_CURSOR + "(a>" + CONTENT_ASIST_CURSOR
+ + "b, \"no 64-bit support\"); \n" + " vector " + CONTENT_ASIST_CURSOR + "unsigned "
+ + CONTENT_ASIST_CURSOR + "int d = ++a; \n";
runTestCase(code, getCPPLanguage());
}
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPImplicitNameTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPImplicitNameTests.java
index 1202c907f4a..2d6050baa6c 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPImplicitNameTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPImplicitNameTests.java
@@ -24,11 +24,11 @@ public class XlcLRCPPImplicitNameTests extends LRCPPImplicitNameTests {
public static TestSuite suite() {
return suite(XlcLRCPPImplicitNameTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPSpecTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPSpecTest.java
index 814db43d48a..1900fca8e28 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPSpecTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPSpecTest.java
@@ -24,11 +24,11 @@ public class XlcLRCPPSpecTest extends LRCPPSpecTest {
public static TestSuite suite() {
return suite(XlcLRCPPSpecTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java
index 8da81d45da2..b76de18c521 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java
@@ -25,17 +25,18 @@ public class XlcLRCPPTests extends LRCPPTests {
public static TestSuite suite() {
return suite(XlcLRCPPTests.class);
}
+
//CDT_70_FIX_FROM_50-#9
public void testStaticAssertions_294730() throws Exception {
- String code= getAboveComment();
+ String code = getAboveComment();
code = code.replaceAll("static_assert", "__static_assert");
parseAndCheckBindings(code, ParserLanguage.CPP);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCSpecTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCSpecTests.java
index 1d0dac14b36..8607ef23f23 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCSpecTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCSpecTests.java
@@ -24,11 +24,11 @@ public class XlcLRCSpecTests extends LRCSpecTests {
public static TestSuite suite() {
return suite(XlcLRCSpecTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCommentTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCommentTests.java
index 5a359aeaa15..172863181bf 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCommentTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCommentTests.java
@@ -21,16 +21,15 @@ import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
public class XlcLRCommentTests extends LRCommentTests {
-
-
+
public static TestSuite suite() {
- return suite(XlcLRCommentTests.class);
- }
-
+ return suite(XlcLRCommentTests.class);
+ }
+
protected ILanguage getCLanguage() {
- return XlcCLanguage.getDefault();
- }
-
+ return XlcCLanguage.getDefault();
+ }
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompleteParser2Tests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompleteParser2Tests.java
index 0a2e5969859..fbbda23e66a 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompleteParser2Tests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompleteParser2Tests.java
@@ -25,11 +25,11 @@ public class XlcLRCompleteParser2Tests extends LRCompleteParser2Tests {
public static TestSuite suite() {
return suite(XlcLRCompleteParser2Tests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionBasicTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionBasicTest.java
index 6cd1a7ffe51..394a9baf277 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionBasicTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionBasicTest.java
@@ -24,11 +24,11 @@ public class XlcLRCompletionBasicTest extends LRCompletionBasicTest {
public static TestSuite suite() {
return suite(XlcLRCompletionBasicTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionParseTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionParseTest.java
index e96f13bf06a..fd5ed160751 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionParseTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionParseTest.java
@@ -24,11 +24,11 @@ public class XlcLRCompletionParseTest extends LRCompletionParseTest {
public static TestSuite suite() {
return new TestSuite(XlcLRCompletionParseTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationMacroTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationMacroTests.java
index 20e28cca007..8e2d936df6f 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationMacroTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationMacroTests.java
@@ -24,11 +24,11 @@ public class XlcLRDOMLocationMacroTests extends LRDOMLocationMacroTests {
public static TestSuite suite() {
return suite(XlcLRDOMLocationMacroTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationTests.java
index 08dac57e6ca..b2108ca084a 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationTests.java
@@ -24,11 +24,11 @@ public class XlcLRDOMLocationTests extends LRDOMLocationTests {
public static TestSuite suite() {
return suite(XlcLRDOMLocationTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMPreprocessorInformationTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMPreprocessorInformationTest.java
index 7dce686dbc1..d4b2a04abb6 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMPreprocessorInformationTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMPreprocessorInformationTest.java
@@ -24,11 +24,11 @@ public class XlcLRDOMPreprocessorInformationTest extends LRDOMPreprocessorInform
public static TestSuite suite() {
return suite(XlcLRDOMPreprocessorInformationTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDigraphTrigraphTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDigraphTrigraphTests.java
index f7d90e9eb89..eaa4da889c3 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDigraphTrigraphTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDigraphTrigraphTests.java
@@ -25,11 +25,11 @@ public class XlcLRDigraphTrigraphTests extends LRDigraphTrigraphTests {
public static TestSuite suite() {
return new TestSuite(XlcLRDigraphTrigraphTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCCompleteParseExtensionsTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCCompleteParseExtensionsTest.java
index c036eac6a53..187580d9871 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCCompleteParseExtensionsTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCCompleteParseExtensionsTest.java
@@ -24,11 +24,11 @@ public class XlcLRGCCCompleteParseExtensionsTest extends LRGCCCompleteParseExten
public static TestSuite suite() {
return suite(XlcLRGCCCompleteParseExtensionsTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCTests.java
index 5297c7b93fb..967aaa79114 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCTests.java
@@ -24,11 +24,11 @@ public class XlcLRGCCTests extends LRGCCTests {
public static TestSuite suite() {
return suite(XlcLRGCCTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRImageLocationTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRImageLocationTests.java
index 1ee0030f6c5..0e9c557d9ce 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRImageLocationTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRImageLocationTests.java
@@ -24,11 +24,11 @@ public class XlcLRImageLocationTests extends LRImageLocationTests {
public static TestSuite suite() {
return suite(XlcLRImageLocationTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRInactiveCodeTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRInactiveCodeTests.java
index e050e796f6d..342e7dc17c1 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRInactiveCodeTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRInactiveCodeTests.java
@@ -24,11 +24,11 @@ public class XlcLRInactiveCodeTests extends LRInactiveCodeTests {
public static TestSuite suite() {
return suite(XlcLRInactiveCodeTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRKnRTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRKnRTests.java
index 31bb9d8e2e1..d9a34967ffc 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRKnRTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRKnRTests.java
@@ -24,11 +24,11 @@ public class XlcLRKnRTests extends LRKnRTests {
public static TestSuite suite() {
return suite(XlcLRKnRTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRNodeSelectorTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRNodeSelectorTest.java
index 021ed9671b4..54f859a83a4 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRNodeSelectorTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRNodeSelectorTest.java
@@ -24,11 +24,11 @@ public class XlcLRNodeSelectorTest extends LRNodeSelectorTest {
public static TestSuite suite() {
return suite(XlcLRNodeSelectorTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java
index 7e8c9a8d923..4db01c58b36 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java
@@ -13,13 +13,11 @@
*******************************************************************************/
package org.eclipse.cdt.core.parser.xlc.tests.base;
-
-
import junit.framework.Test;
import junit.framework.TestSuite;
public class XlcLRParserTestSuite extends TestSuite {
-
+
// TODO: the following test are not being reused
//
// DOMGCCSelectionParseExtensionsTest
@@ -28,39 +26,40 @@ public class XlcLRParserTestSuite extends TestSuite {
// QuickParser2Tests
//
// and perhaps others
-
+
public static Test suite() {
- return new TestSuite() {{
-
- addTest(XlcLRCommentTests.suite());
- addTest(XlcLRCompleteParser2Tests.suite());
- addTest(XlcLRCompletionBasicTest.suite());
- addTest(XlcLRCompletionParseTest.suite());
- addTest(XlcLRCPPSpecTest.suite());
- addTest(XlcLRCPPTests.suite());
- addTest(XlcLRCSpecTests.suite()); // a couple of failures
- addTest(XlcLRDigraphTrigraphTests.suite());
- addTest(XlcLRDOMLocationMacroTests.suite());
- addTest(XlcLRDOMLocationTests.suite());
- addTest(XlcLRDOMPreprocessorInformationTest.suite());
- addTest(XlcLRGCCTests.suite());
- addTest(XlcLRGCCCompleteParseExtensionsTest.suite());
- addTest(XlcLRImageLocationTests.suite());
- addTest(XlcLRKnRTests.suite()); // mostly fail due to ambiguities
- addTest(XlcLRNodeSelectorTest.suite());
- addTest(XlcLRQuickParser2Tests.suite());
- addTest(XlcLRSelectionParseTest.suite()); // this one still has a lot of failing tests though
- addTest(XlcLRSemanticsTests.suite());
- addTest(XlcLRTaskParserTest.suite());
- addTest(XlcLRTemplateTests.suite());
- addTest(XlcLRTests.suite()); // has some tests that do fail
- addTest(XlcLRUtilOldTests.suite());
- addTest(XlcLRUtilTests.suite());
- addTest(XlcCompletionHangingTest.suite());
- addTest(XlcLRCPPImplicitNameTests.suite());
- //addTest(LRInactiveCodeTests.suite());
+ return new TestSuite() {
+ {
- }};
- }
-}
+ addTest(XlcLRCommentTests.suite());
+ addTest(XlcLRCompleteParser2Tests.suite());
+ addTest(XlcLRCompletionBasicTest.suite());
+ addTest(XlcLRCompletionParseTest.suite());
+ addTest(XlcLRCPPSpecTest.suite());
+ addTest(XlcLRCPPTests.suite());
+ addTest(XlcLRCSpecTests.suite()); // a couple of failures
+ addTest(XlcLRDigraphTrigraphTests.suite());
+ addTest(XlcLRDOMLocationMacroTests.suite());
+ addTest(XlcLRDOMLocationTests.suite());
+ addTest(XlcLRDOMPreprocessorInformationTest.suite());
+ addTest(XlcLRGCCTests.suite());
+ addTest(XlcLRGCCCompleteParseExtensionsTest.suite());
+ addTest(XlcLRImageLocationTests.suite());
+ addTest(XlcLRKnRTests.suite()); // mostly fail due to ambiguities
+ addTest(XlcLRNodeSelectorTest.suite());
+ addTest(XlcLRQuickParser2Tests.suite());
+ addTest(XlcLRSelectionParseTest.suite()); // this one still has a lot of failing tests though
+ addTest(XlcLRSemanticsTests.suite());
+ addTest(XlcLRTaskParserTest.suite());
+ addTest(XlcLRTemplateTests.suite());
+ addTest(XlcLRTests.suite()); // has some tests that do fail
+ addTest(XlcLRUtilOldTests.suite());
+ addTest(XlcLRUtilTests.suite());
+ addTest(XlcCompletionHangingTest.suite());
+ addTest(XlcLRCPPImplicitNameTests.suite());
+ //addTest(LRInactiveCodeTests.suite());
+ }
+ };
+ }
+}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRQuickParser2Tests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRQuickParser2Tests.java
index 2b0bc037d2c..860a2b43dc8 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRQuickParser2Tests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRQuickParser2Tests.java
@@ -24,11 +24,11 @@ public class XlcLRQuickParser2Tests extends LRQuickParser2Tests {
public static TestSuite suite() {
return new TestSuite(XlcLRQuickParser2Tests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSelectionParseTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSelectionParseTest.java
index fcf72512f62..0fac0baf0b8 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSelectionParseTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSelectionParseTest.java
@@ -21,7 +21,7 @@ import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
public class XlcLRSelectionParseTest extends LRSelectionParseTest {
-
+
public XlcLRSelectionParseTest() {
}
@@ -32,11 +32,11 @@ public class XlcLRSelectionParseTest extends LRSelectionParseTest {
public static TestSuite suite() {
return new TestSuite(XlcLRSelectionParseTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSemanticsTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSemanticsTests.java
index 60150ce85e0..8b59776a0cc 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSemanticsTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSemanticsTests.java
@@ -24,11 +24,11 @@ public class XlcLRSemanticsTests extends LRSemanticsTests {
public static TestSuite suite() {
return suite(XlcLRSemanticsTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTaskParserTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTaskParserTest.java
index 2d291f21f84..d2e602b5741 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTaskParserTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTaskParserTest.java
@@ -24,11 +24,11 @@ public class XlcLRTaskParserTest extends LRTaskParserTest {
public static TestSuite suite() {
return suite(XlcLRTaskParserTest.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTemplateTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTemplateTests.java
index c2f7e260dc4..fa2c1c18089 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTemplateTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTemplateTests.java
@@ -24,11 +24,11 @@ public class XlcLRTemplateTests extends LRTemplateTests {
public static TestSuite suite() {
return suite(XlcLRTemplateTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTests.java
index d755b1cd750..4eb9418e20f 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTests.java
@@ -26,15 +26,15 @@ public class XlcLRTests extends LRTests {
super(name);
// TODO Auto-generated constructor stub
}
-
+
public static TestSuite suite() {
return suite(XlcLRTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilOldTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilOldTests.java
index e7ed83f8bc6..895eb9da8a4 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilOldTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilOldTests.java
@@ -24,11 +24,11 @@ public class XlcLRUtilOldTests extends LRUtilOldTests {
public static TestSuite suite() {
return suite(XlcLRUtilOldTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilTests.java
index b0d9892e5e8..5026cd26895 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilTests.java
@@ -24,11 +24,11 @@ public class XlcLRUtilTests extends LRUtilTests {
public static TestSuite suite() {
return suite(XlcLRUtilTests.class);
}
-
+
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
}
-
+
protected ILanguage getCPPLanguage() {
return XlcCPPLanguage.getDefault();
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/suite/AutomatedIntegrationSuite.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/suite/AutomatedIntegrationSuite.java
index 3a3d517e251..280a4f4dde6 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/suite/AutomatedIntegrationSuite.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/suite/AutomatedIntegrationSuite.java
@@ -13,7 +13,6 @@
*******************************************************************************/
package org.eclipse.cdt.core.parser.xlc.tests.suite;
-
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -23,9 +22,11 @@ import org.eclipse.cdt.core.parser.xlc.tests.base.XlcLRParserTestSuite;
public class AutomatedIntegrationSuite extends TestSuite {
public static Test suite() {
- return new TestSuite() {{
- addTest(XlcExtensionsTestSuite.suite());
- addTest(XlcLRParserTestSuite.suite());
- }};
+ return new TestSuite() {
+ {
+ addTest(XlcExtensionsTestSuite.suite());
+ addTest(XlcLRParserTestSuite.suite());
+ }
+ };
}
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java
index 6d08023e11f..62573bcccc1 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java
@@ -30,45 +30,45 @@ import org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParser;
import org.eclipse.core.resources.IProject;
/**
- *
+ *
* @author Mike Kucera
*/
public class XlcCLanguage extends GCCLanguage {
- public static final String ID = "org.eclipse.cdt.core.lrparser.xlc.c"; //$NON-NLS-1$
+ public static final String ID = "org.eclipse.cdt.core.lrparser.xlc.c"; //$NON-NLS-1$
private static XlcCLanguage DEFAULT = new XlcCLanguage();
-
+
public static XlcCLanguage getDefault() {
return DEFAULT;
}
-
+
@Override
- protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) {
+ protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String, String> properties) {
IProject project = getProject(properties);
- boolean supportVectors = getPref(XlcPref.SUPPORT_VECTOR_TYPES, project);
+ boolean supportVectors = getPref(XlcPref.SUPPORT_VECTOR_TYPES, project);
boolean supportDecimals = getPref(XlcPref.SUPPORT_DECIMAL_FLOATING_POINT_TYPES, project);
-
- return new XlcCParser(scanner, new XlcCTokenMap(supportVectors, supportDecimals), getBuiltinBindingsProvider(), index, properties);
+
+ return new XlcCParser(scanner, new XlcCTokenMap(supportVectors, supportDecimals), getBuiltinBindingsProvider(),
+ index, properties);
}
-
+
public String getId() {
return ID;
}
-
+
@Override
protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
return XlcCScannerExtensionConfiguration.getInstance();
}
-
@SuppressWarnings("rawtypes")
@Override
public Object getAdapter(Class adapter) {
- if(ICLanguageKeywords.class.equals(adapter))
+ if (ICLanguageKeywords.class.equals(adapter))
return XlcKeywords.ALL_C_KEYWORDS;
-
+
return super.getAdapter(adapter);
}
-
+
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java
index 4bd28533394..3504a824e2e 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java
@@ -33,70 +33,66 @@ import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Path;
/**
- *
+ *
* @author Mike Kucera
*/
public class XlcCPPLanguage extends GPPLanguage {
- public static final String ID = "org.eclipse.cdt.core.lrparser.xlc.cpp"; //$NON-NLS-1$
+ public static final String ID = "org.eclipse.cdt.core.lrparser.xlc.cpp"; //$NON-NLS-1$
private static XlcCPPLanguage DEFAULT = new XlcCPPLanguage();
-
+
public static XlcCPPLanguage getDefault() {
return DEFAULT;
}
-
- static IProject getProject(Map<String,String> properties) {
+ static IProject getProject(Map<String, String> properties) {
String path = properties.get(LRParserProperties.TRANSLATION_UNIT_PATH);
IFile[] file = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(path));
-
+
IProject project = null;
- if(file != null && file.length > 0) {
+ if (file != null && file.length > 0) {
project = file[0].getProject();
}
-
+
return project;
}
-
-
+
static boolean getPref(XlcPref key, IProject project) {
return Boolean.valueOf(XlcLanguagePreferences.get(key, project));
}
-
-
+
@Override
- protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) {
+ protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String, String> properties) {
IProject project = getProject(properties);
- boolean supportVectors = getPref(XlcPref.SUPPORT_VECTOR_TYPES, project);
+ boolean supportVectors = getPref(XlcPref.SUPPORT_VECTOR_TYPES, project);
boolean supportDecimals = getPref(XlcPref.SUPPORT_DECIMAL_FLOATING_POINT_TYPES, project);
- boolean supportComplex = getPref(XlcPref.SUPPORT_COMPLEX_IN_CPP, project);
+ boolean supportComplex = getPref(XlcPref.SUPPORT_COMPLEX_IN_CPP, project);
boolean supportRestrict = getPref(XlcPref.SUPPORT_RESTRICT_IN_CPP, project);
boolean supportStaticAssert = getPref(XlcPref.SUPPORT_STATIC_ASSERT, project);
- IDOMTokenMap tokenMap = new XlcCPPTokenMap(supportVectors, supportDecimals, supportComplex, supportRestrict, supportStaticAssert);
-
+ IDOMTokenMap tokenMap = new XlcCPPTokenMap(supportVectors, supportDecimals, supportComplex, supportRestrict,
+ supportStaticAssert);
+
XlcCPPParser parser = new XlcCPPParser(scanner, tokenMap, getBuiltinBindingsProvider(), index, properties);
return parser;
}
-
-
+
public String getId() {
return ID;
}
-
+
@Override
protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
return XlcCPPScannerExtensionConfiguration.getInstance();
}
-
-
+
@SuppressWarnings("rawtypes")
@Override
public Object getAdapter(Class adapter) {
- if(ICLanguageKeywords.class.equals(adapter))
+ if (ICLanguageKeywords.class.equals(adapter))
return XlcKeywords.ALL_CPP_KEYWORDS;
-
+
return super.getAdapter(adapter);
}
-
+
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPScannerExtensionConfiguration.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPScannerExtensionConfiguration.java
index 5ac1600eba8..632f5f4f1af 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPScannerExtensionConfiguration.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPScannerExtensionConfiguration.java
@@ -13,18 +13,17 @@
*******************************************************************************/
package org.eclipse.cdt.core.lrparser.xlc;
-
import org.eclipse.cdt.core.dom.parser.cpp.GPPScannerExtensionConfiguration;
public class XlcCPPScannerExtensionConfiguration extends GPPScannerExtensionConfiguration {
private static XlcCPPScannerExtensionConfiguration instance;
-
-
- private XlcCPPScannerExtensionConfiguration() {}
-
+
+ private XlcCPPScannerExtensionConfiguration() {
+ }
+
public static synchronized XlcCPPScannerExtensionConfiguration getInstance() {
- if(instance == null)
+ if (instance == null)
instance = new XlcCPPScannerExtensionConfiguration();
return instance;
}
@@ -36,6 +35,6 @@ public class XlcCPPScannerExtensionConfiguration extends GPPScannerExtensionConf
@Override
public char[] supportAdditionalNumericLiteralSuffixes() {
- return "dflij".toCharArray(); //$NON-NLS-1$
- }
+ return "dflij".toCharArray(); //$NON-NLS-1$
+ }
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java
index 57ddc607c41..fae72b3c1a2 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java
@@ -23,180 +23,316 @@ 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 XlcCPPTokenMap implements IDOMTokenMap {
private final XlcKeywords keywordMap;
-
- public XlcCPPTokenMap(boolean supportVectors, boolean supportDecimalFloatingPoint, boolean supportComplex, boolean supportRestrict, boolean supportStaticAssert) {
- keywordMap = XlcKeywords.createCPP(supportVectors, supportDecimalFloatingPoint, supportComplex, supportRestrict, supportStaticAssert);
+
+ public XlcCPPTokenMap(boolean supportVectors, boolean supportDecimalFloatingPoint, boolean supportComplex,
+ boolean supportRestrict, boolean supportStaticAssert) {
+ keywordMap = XlcKeywords.createCPP(supportVectors, supportDecimalFloatingPoint, supportComplex, supportRestrict,
+ supportStaticAssert);
}
-
-
+
public int getEOFTokenKind() {
return TK_EOF_TOKEN;
}
-
+
public int getEOCTokenKind() {
return TK_EndOfCompletion;
}
-
+
public int mapKind(IToken token) {
-
- switch(token.getType()) {
- case t__Complex :
- case tIDENTIFIER :
- Integer keywordKind = keywordMap.getTokenKind(token.getCharImage());
- return keywordKind == null ? TK_identifier : keywordKind;
-
- 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 tUTF16STRING : return TK_stringlit;
- case tUTF32STRING : return TK_stringlit;
- case tUTF16CHAR : return TK_charconst;
- case tUTF32CHAR : return TK_charconst;
- 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_typeof : return TK_typeof;
- case IGCCToken.t___alignof__ : return TK___alignof__;
- case IGCCToken.tMAX : return TK_MAX;
- case IGCCToken.tMIN : return TK_MIN;
- case IGCCToken.t__attribute__ : return TK___attribute__;
- case IGCCToken.t__declspec : return TK___declspec;
-
- // GNU supports these but they are not in the C++ spec
-
- case t__Imaginary : return TK__Imaginary;
- case t_restrict : return TK_restrict;
- case tPOUND : return TK_Invalid;
-
- default:
- assert false : "token not recognized: " + token.getType(); //$NON-NLS-1$
- return TK_Invalid;
+
+ switch (token.getType()) {
+ case t__Complex:
+ case tIDENTIFIER:
+ Integer keywordKind = keywordMap.getTokenKind(token.getCharImage());
+ return keywordKind == null ? TK_identifier : keywordKind;
+
+ 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 tUTF16STRING:
+ return TK_stringlit;
+ case tUTF32STRING:
+ return TK_stringlit;
+ case tUTF16CHAR:
+ return TK_charconst;
+ case tUTF32CHAR:
+ return TK_charconst;
+ 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_typeof:
+ return TK_typeof;
+ case IGCCToken.t___alignof__:
+ return TK___alignof__;
+ case IGCCToken.tMAX:
+ return TK_MAX;
+ case IGCCToken.tMIN:
+ return TK_MIN;
+ case IGCCToken.t__attribute__:
+ return TK___attribute__;
+ case IGCCToken.t__declspec:
+ return TK___declspec;
+
+ // GNU supports these but they are not in the C++ spec
+
+ case t__Imaginary:
+ return TK__Imaginary;
+ case t_restrict:
+ return TK_restrict;
+ case tPOUND:
+ return TK_Invalid;
+
+ default:
+ assert false : "token not recognized: " + token.getType(); //$NON-NLS-1$
+ return TK_Invalid;
}
}
-
+
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCScannerExtensionConfiguration.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCScannerExtensionConfiguration.java
index e8a4472a32c..64e6d9974b8 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCScannerExtensionConfiguration.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCScannerExtensionConfiguration.java
@@ -18,12 +18,12 @@ import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration;
public class XlcCScannerExtensionConfiguration extends GCCScannerExtensionConfiguration {
private static XlcCScannerExtensionConfiguration instance;
-
-
- private XlcCScannerExtensionConfiguration() {}
-
+
+ private XlcCScannerExtensionConfiguration() {
+ }
+
public static synchronized XlcCScannerExtensionConfiguration getInstance() {
- if(instance == null)
+ if (instance == null)
instance = new XlcCScannerExtensionConfiguration();
return instance;
}
@@ -35,6 +35,6 @@ public class XlcCScannerExtensionConfiguration extends GCCScannerExtensionConfig
@Override
public char[] supportAdditionalNumericLiteralSuffixes() {
- return "dflij".toCharArray(); //$NON-NLS-1$
- }
+ return "dflij".toCharArray(); //$NON-NLS-1$
+ }
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java
index 80012d1654c..9179ee616ee 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java
@@ -23,146 +23,247 @@ 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 XlcCTokenMap implements IDOMTokenMap {
private final XlcKeywords keywordMap;
-
+
public XlcCTokenMap(boolean supportVectors, boolean supportDecimalFloatingPoint) {
keywordMap = XlcKeywords.createC(supportVectors, supportDecimalFloatingPoint);
}
-
-
+
public int getEOFTokenKind() {
return TK_EOF_TOKEN;
}
-
+
public int getEOCTokenKind() {
return TK_EndOfCompletion;
}
-
+
public int mapKind(IToken token) {
-
- switch(token.getType()) {
- case tIDENTIFIER :
- Integer keywordKind = keywordMap.getTokenKind(token.getCharImage());
- return keywordKind == null ? TK_identifier : keywordKind;
-
- 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 tUTF16STRING : return TK_stringlit;
- case tUTF32STRING : return TK_stringlit;
- case tCHAR : return TK_charconst;
- case tLCHAR : return TK_charconst;
- case tUTF16CHAR : return TK_charconst;
- case tUTF32CHAR : 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_typeof : return TK_typeof;
- case IGCCToken.t___alignof__ : return TK___alignof__;
- case IGCCToken.tMAX : return TK_MAX;
- case IGCCToken.tMIN : return TK_MIN;
- case IGCCToken.t__attribute__ : return TK___attribute__;
- case IGCCToken.t__declspec : return TK___declspec;
-
- case t_asm: return TK_asm;
-
-
- default:
- assert false : "token not recognized by the XLC parser: " + token.getType(); //$NON-NLS-1$
- return TK_Invalid;
+ switch (token.getType()) {
+ case tIDENTIFIER:
+ Integer keywordKind = keywordMap.getTokenKind(token.getCharImage());
+ return keywordKind == null ? TK_identifier : keywordKind;
+
+ 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 tUTF16STRING:
+ return TK_stringlit;
+ case tUTF32STRING:
+ return TK_stringlit;
+ case tCHAR:
+ return TK_charconst;
+ case tLCHAR:
+ return TK_charconst;
+ case tUTF16CHAR:
+ return TK_charconst;
+ case tUTF32CHAR:
+ 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_typeof:
+ return TK_typeof;
+ case IGCCToken.t___alignof__:
+ return TK___alignof__;
+ case IGCCToken.tMAX:
+ return TK_MAX;
+ case IGCCToken.tMIN:
+ return TK_MIN;
+ case IGCCToken.t__attribute__:
+ return TK___attribute__;
+ case IGCCToken.t__declspec:
+ return TK___declspec;
+
+ case t_asm:
+ return TK_asm;
+
+ default:
+ assert false : "token not recognized by the XLC parser: " + token.getType(); //$NON-NLS-1$
+ return TK_Invalid;
}
}
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java
index 5ce477b5e21..b8227279d18 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java
@@ -26,102 +26,98 @@ import org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym;
import org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym;
public class XlcKeywords extends CLanguageKeywords {
-
+
public static final XlcKeywords ALL_C_KEYWORDS = createC(true, true);
public static final XlcKeywords ALL_CPP_KEYWORDS = createCPP(true, true, true, true, true);
-
-
+
private final CharArrayMap<Integer> map = new CharArrayMap<Integer>();
private final ParserLanguage language;
private String[] allKeywords = null;
-
-
+
public static XlcKeywords createC(boolean supportVectors, boolean supportDecimalFloatingPoint) {
XlcKeywords keywords = new XlcKeywords(ParserLanguage.C);
CharArrayMap<Integer> map = keywords.map;
- if(supportVectors) {
- map.put("vector".toCharArray(), XlcCParsersym.TK_vector);
+ if (supportVectors) {
+ map.put("vector".toCharArray(), XlcCParsersym.TK_vector);
map.put("__vector".toCharArray(), XlcCParsersym.TK_vector);
- map.put("pixel".toCharArray(), XlcCParsersym.TK_pixel);
- map.put("__pixel".toCharArray(), XlcCParsersym.TK_pixel);
- map.put("bool".toCharArray(), XlcCParsersym.TK_bool);
+ map.put("pixel".toCharArray(), XlcCParsersym.TK_pixel);
+ map.put("__pixel".toCharArray(), XlcCParsersym.TK_pixel);
+ map.put("bool".toCharArray(), XlcCParsersym.TK_bool);
}
- if(supportDecimalFloatingPoint) {
- map.put("_Decimal32".toCharArray(), XlcCParsersym.TK__Decimal32);
- map.put("_Decimal64".toCharArray(), XlcCParsersym.TK__Decimal64);
+ if (supportDecimalFloatingPoint) {
+ map.put("_Decimal32".toCharArray(), XlcCParsersym.TK__Decimal32);
+ map.put("_Decimal64".toCharArray(), XlcCParsersym.TK__Decimal64);
map.put("_Decimal128".toCharArray(), XlcCParsersym.TK__Decimal128);
}
return keywords;
}
-
- public static XlcKeywords createCPP(boolean supportVectors, boolean supportDecimalFloatingPoint, boolean supportComplex, boolean supportRestrict, boolean supportStaticAssert) {
+
+ public static XlcKeywords createCPP(boolean supportVectors, boolean supportDecimalFloatingPoint,
+ boolean supportComplex, boolean supportRestrict, boolean supportStaticAssert) {
XlcKeywords keywords = new XlcKeywords(ParserLanguage.CPP);
CharArrayMap<Integer> map = keywords.map;
- if(supportVectors) {
- map.put("vector".toCharArray(), XlcCPPParsersym.TK_vector);
+ if (supportVectors) {
+ map.put("vector".toCharArray(), XlcCPPParsersym.TK_vector);
map.put("__vector".toCharArray(), XlcCPPParsersym.TK_vector);
- map.put("pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
- map.put("__pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
+ map.put("pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
+ map.put("__pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
}
- if(supportDecimalFloatingPoint) {
- map.put("_Decimal32".toCharArray(), XlcCPPParsersym.TK__Decimal32);
- map.put("_Decimal64".toCharArray(), XlcCPPParsersym.TK__Decimal64);
+ if (supportDecimalFloatingPoint) {
+ map.put("_Decimal32".toCharArray(), XlcCPPParsersym.TK__Decimal32);
+ map.put("_Decimal64".toCharArray(), XlcCPPParsersym.TK__Decimal64);
map.put("_Decimal128".toCharArray(), XlcCPPParsersym.TK__Decimal128);
}
- if(supportComplex) {
+ if (supportComplex) {
map.put("_Complex".toCharArray(), XlcCPPParsersym.TK__Complex);
}
- if(supportRestrict) {
+ if (supportRestrict) {
map.put("restrict".toCharArray(), XlcCPPParsersym.TK_restrict);
map.put("__restrict".toCharArray(), XlcCPPParsersym.TK_restrict);
map.put("__restrict__".toCharArray(), XlcCPPParsersym.TK_restrict);
}
-
- if(supportStaticAssert) {
+
+ if (supportStaticAssert) {
map.put("__static_assert".toCharArray(), XlcCPPParsersym.TK___static_assert);
}
-
+
return keywords;
}
-
private XlcKeywords(ParserLanguage language) {
super(language, getConfig(language));
this.language = language;
}
-
+
private static IScannerExtensionConfiguration getConfig(ParserLanguage lang) {
- return lang.isCPP()
- ? XlcCPPScannerExtensionConfiguration.getInstance()
+ return lang.isCPP() ? XlcCPPScannerExtensionConfiguration.getInstance()
: XlcCScannerExtensionConfiguration.getInstance();
}
-
+
/**
- * Returns the LPG token kind for additional keywords defined by
+ * Returns the LPG token kind for additional keywords defined by
* the XLC extensions, null otherwise.
*/
public Integer getTokenKind(char[] keyword) {
return map.get(keyword);
}
-
+
@Override
public synchronized String[] getKeywords() {
- if(allKeywords == null) {
+ if (allKeywords == null) {
ICLanguageKeywords base = new CLanguageKeywords(language, getConfig(language));
String[] baseKeywords = base.getKeywords();
-
+
List<String> keywords = new ArrayList<String>();
keywords.addAll(Arrays.asList(baseKeywords));
-
- for(char[] keyword : map.keys()) {
+
+ for (char[] keyword : map.keys()) {
keywords.add(String.valueOf(keyword));
}
-
+
allKeywords = keywords.toArray(new String[keywords.size()]);
}
return allKeywords;
}
-
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCBuildASTParserAction.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCBuildASTParserAction.java
index 835d675ce2c..19304d79492 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCBuildASTParserAction.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCBuildASTParserAction.java
@@ -27,9 +27,7 @@ public class XlcCBuildASTParserAction extends GCCBuildASTParserAction {
private IXlcCNodeFactory nodeFactory;
-
- public XlcCBuildASTParserAction(ITokenStream parser,
- ScopedStack<Object> astStack, IXlcCNodeFactory nodeFactory,
+ public XlcCBuildASTParserAction(ITokenStream parser, ScopedStack<Object> astStack, IXlcCNodeFactory nodeFactory,
ISecondaryParserFactory parserFactory) {
super(parser, astStack, nodeFactory, parserFactory);
this.nodeFactory = nodeFactory;
@@ -37,30 +35,30 @@ public class XlcCBuildASTParserAction extends GCCBuildASTParserAction {
/*
* vector_type
- * ::= <openscope-ast> sqlist_op 'vector' vector_type_specifier all_specifier_qualifier_list
+ * ::= <openscope-ast> sqlist_op 'vector' vector_type_specifier all_specifier_qualifier_list
*/
public void consumeVectorTypeSpecifier() {
IXlcCASTVectorTypeSpecifier declSpec = nodeFactory.newVectorTypeSpecifier();
-
- for(Object specifier : astStack.closeScope()) {
- if(specifier instanceof IToken) {
- switch(((IToken)specifier).getKind()) {
- case XlcCParsersym.TK_pixel :
+
+ for (Object specifier : astStack.closeScope()) {
+ if (specifier instanceof IToken) {
+ switch (((IToken) specifier).getKind()) {
+ case XlcCParsersym.TK_pixel:
declSpec.setPixel(true);
continue;
- case XlcCParsersym.TK_bool :
+ case XlcCParsersym.TK_bool:
declSpec.setBool(true);
continue;
- case XlcCParsersym.TK_vector :
+ case XlcCParsersym.TK_vector:
continue;
}
}
-
+
setSpecifier(declSpec, specifier);
}
-
+
setOffsetAndLength(declSpec);
astStack.push(declSpec);
}
-
+
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCPPBuildASTParserAction.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCPPBuildASTParserAction.java
index df9aa5fcc69..195ad3abf62 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCPPBuildASTParserAction.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCPPBuildASTParserAction.java
@@ -34,9 +34,7 @@ public class XlcCPPBuildASTParserAction extends GPPBuildASTParserAction {
private IXlcCPPNodeFactory nodeFactory;
private final ITokenMap tokenMap;
-
- public XlcCPPBuildASTParserAction(ITokenStream parser,
- ScopedStack<Object> astStack, IXlcCPPNodeFactory nodeFactory,
+ public XlcCPPBuildASTParserAction(ITokenStream parser, ScopedStack<Object> astStack, IXlcCPPNodeFactory nodeFactory,
ICPPSecondaryParserFactory parserFactory) {
super(parser, astStack, nodeFactory, parserFactory);
this.nodeFactory = nodeFactory;
@@ -45,67 +43,72 @@ public class XlcCPPBuildASTParserAction extends GPPBuildASTParserAction {
/*
* vector_type
- * ::= <openscope-ast> sqlist_op 'vector' vector_type_specifier all_specifier_qualifier_list
+ * ::= <openscope-ast> sqlist_op 'vector' vector_type_specifier all_specifier_qualifier_list
*/
public void consumeVectorTypeSpecifier() {
IXlcCPPASTVectorTypeSpecifier declSpec = nodeFactory.newVectorTypeSpecifier();
-
- for(Object specifier : astStack.closeScope()) {
- if(specifier instanceof IToken) {
- switch(tokenMap.mapKind(((IToken)specifier).getKind())) {
- case XlcCPPParsersym.TK_pixel :
+
+ for (Object specifier : astStack.closeScope()) {
+ if (specifier instanceof IToken) {
+ switch (tokenMap.mapKind(((IToken) specifier).getKind())) {
+ case XlcCPPParsersym.TK_pixel:
declSpec.setPixel(true);
continue;
- case XlcCPPParsersym.TK_vector :
+ case XlcCPPParsersym.TK_vector:
continue;
}
}
-
+
setSpecifier(declSpec, specifier);
}
-
+
setOffsetAndLength(declSpec);
astStack.push(declSpec);
}
-
-
- public void consumeDirectDeclaratorModifiedArrayModifier(boolean isStatic,
- boolean isVarSized, boolean hasTypeQualifierList, boolean hasAssignmentExpr) {
+
+ public void consumeDirectDeclaratorModifiedArrayModifier(boolean isStatic, boolean isVarSized,
+ boolean hasTypeQualifierList, boolean hasAssignmentExpr) {
assert isStatic || isVarSized || hasTypeQualifierList;
-
+
IXlcCPPASTModifiedArrayModifier arrayModifier = nodeFactory.newModifiedArrayModifier(null);
-
+
// consume all the stuff between the square brackets into an array modifier
arrayModifier.setStatic(isStatic);
arrayModifier.setVariableSized(isVarSized);
-
- if(hasAssignmentExpr)
- arrayModifier.setConstantExpression((IASTExpression)astStack.pop());
-
- if(hasTypeQualifierList)
+
+ if (hasAssignmentExpr)
+ arrayModifier.setConstantExpression((IASTExpression) astStack.pop());
+
+ if (hasTypeQualifierList)
collectArrayModifierTypeQualifiers(arrayModifier);
setOffsetAndLength(arrayModifier);
astStack.push(arrayModifier);
}
-
+
private void collectArrayModifierTypeQualifiers(IXlcCPPASTModifiedArrayModifier arrayModifier) {
- for(Object o : astStack.closeScope()) {
- switch(tokenMap.mapKind(((IToken)o).getKind())) {
- case XlcCPPParsersym.TK_const: arrayModifier.setConst(true); break;
- case XlcCPPParsersym.TK_restrict: arrayModifier.setRestrict(true); break;
- case XlcCPPParsersym.TK_volatile: arrayModifier.setVolatile(true); break;
+ for (Object o : astStack.closeScope()) {
+ switch (tokenMap.mapKind(((IToken) o).getKind())) {
+ case XlcCPPParsersym.TK_const:
+ arrayModifier.setConst(true);
+ break;
+ case XlcCPPParsersym.TK_restrict:
+ arrayModifier.setRestrict(true);
+ break;
+ case XlcCPPParsersym.TK_volatile:
+ arrayModifier.setVolatile(true);
+ break;
}
}
}
-
+
/**
* staticAssertDeclaration ::= '__static_assert' '(' expression ',' literal ')' ';'
*/
public void consumeCPPASTStaticAssertDeclaration() {
ICPPASTLiteralExpression message = (ICPPASTLiteralExpression) astStack.pop();
IASTExpression condition = (IASTExpression) astStack.pop();
-
+
ICPPASTStaticAssertDeclaration assertDeclaration = nodeFactory.newStaticAssertion(condition, message);
setOffsetAndLength(assertDeclaration);
astStack.push(assertDeclaration);
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/activator/XlcParserPlugin.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/activator/XlcParserPlugin.java
index 833e816fbbc..171ba54c8bd 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/activator/XlcParserPlugin.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/activator/XlcParserPlugin.java
@@ -18,7 +18,5 @@ import org.eclipse.core.runtime.Plugin;
public class XlcParserPlugin extends Plugin {
public static final String PLUGIN_ID = "org.eclipse.cdt.core.lrparser.xlc";
-
-
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCASTVectorTypeSpecifier.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCASTVectorTypeSpecifier.java
index fd4a76ca262..68a96369df1 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCASTVectorTypeSpecifier.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCASTVectorTypeSpecifier.java
@@ -18,11 +18,11 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier;
public interface IXlcCASTVectorTypeSpecifier extends ICASTDeclSpecifier {
public boolean isPixel();
-
+
public void setPixel(boolean isPixel);
-
+
public boolean isBool();
-
+
public void setBool(boolean isBool);
-
+
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTModifiedArrayModifier.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTModifiedArrayModifier.java
index 724773ea16c..f2e19a0a5fa 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTModifiedArrayModifier.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTModifiedArrayModifier.java
@@ -20,39 +20,38 @@ import org.eclipse.cdt.core.dom.ast.IASTArrayModifier;
*
*/
public interface IXlcCPPASTModifiedArrayModifier extends IASTArrayModifier {
-
/**
* Is the const modifier used?
- *
+ *
* @return boolean
*/
public boolean isConst();
/**
* Is the static modifier used?
- *
+ *
* @return boolean
*/
public boolean isStatic();
/**
* Is the restrict modifier used?
- *
+ *
* @return boolean
*/
public boolean isRestrict();
/**
* Is the volatile modifier used?
- *
+ *
* @return boolean
*/
public boolean isVolatile();
/**
* Set true/false that the const modifier is used.
- *
+ *
* @param value
* boolean
*/
@@ -60,7 +59,7 @@ public interface IXlcCPPASTModifiedArrayModifier extends IASTArrayModifier {
/**
* Set true/false that the volatile modifier is used.
- *
+ *
* @param value
* boolean
*/
@@ -68,7 +67,7 @@ public interface IXlcCPPASTModifiedArrayModifier extends IASTArrayModifier {
/**
* Set true/false that the restrict modifier is used.
- *
+ *
* @param value
* boolean
*/
@@ -76,7 +75,7 @@ public interface IXlcCPPASTModifiedArrayModifier extends IASTArrayModifier {
/**
* Set true/false that the static modifier is used.
- *
+ *
* @param value
* boolean
*/
@@ -84,19 +83,19 @@ public interface IXlcCPPASTModifiedArrayModifier extends IASTArrayModifier {
/**
* Is the array variable sized? ( used ... )
- *
+ *
* @return boolean
*/
public boolean isVariableSized();
/**
* Set the array to be variable sized dependent upon value.
- *
+ *
* @param value
* boolean
*/
public void setVariableSized(boolean value);
-
+
/**
*/
public IXlcCPPASTModifiedArrayModifier copy();
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTVectorTypeSpecifier.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTVectorTypeSpecifier.java
index df660ec071d..50cd9becaf0 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTVectorTypeSpecifier.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTVectorTypeSpecifier.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -18,7 +18,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier;
public interface IXlcCPPASTVectorTypeSpecifier extends ICPPASTDeclSpecifier {
public boolean isPixel();
-
+
public void setPixel(boolean isPixel);
-
+
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPNodeFactory.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPNodeFactory.java
index 998e64e1379..538fbbb32e8 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPNodeFactory.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPNodeFactory.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -17,8 +17,8 @@ import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPNodeFactory;
public interface IXlcCPPNodeFactory extends ICPPNodeFactory {
-
+
public IXlcCPPASTVectorTypeSpecifier newVectorTypeSpecifier();
-
+
public IXlcCPPASTModifiedArrayModifier newModifiedArrayModifier(IASTExpression expr);
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java
index 1956ff74ad1..6e7c610ad11 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java
@@ -24,35 +24,30 @@ import org.osgi.service.prefs.Preferences;
/**
* TODO trigger the indexer?
- *
+ *
* @author Mike Kucera
*/
-public class XlcLanguagePreferences {
+public class XlcLanguagePreferences {
private static final String QUALIFIER = XlcParserPlugin.PLUGIN_ID;
private static final String XLC_PREFERENCES_NODE = "xlc.preferences";
-
static void initializeDefaultPreferences() {
Preferences defaultNode = getDefaultPreferences();
-
- for(XlcPref p : XlcPref.values()) {
+
+ for (XlcPref p : XlcPref.values()) {
defaultNode.put(p.toString(), p.getDefaultValue());
}
}
-
-
-
+
public static void setProjectPreference(XlcPref key, String value, IProject project) {
getProjectPreferences(project).put(key.toString(), value);
}
-
+
public static void setWorkspacePreference(XlcPref key, String value) {
getWorkspacePreferences().put(key.toString(), value);
}
-
-
-
+
public static String getProjectPreference(XlcPref key, IProject project) {
return getProjectPreferences(project).get(key.toString(), null);
}
@@ -60,15 +55,14 @@ public class XlcLanguagePreferences {
public static String getWorkspacePreference(XlcPref key) {
return getWorkspacePreferences().get(key.toString(), null);
}
-
+
public static String getDefaultPreference(XlcPref key) {
return getDefaultPreferences().get(key.toString(), null);
}
-
/**
* Returns the preference for the given key.
- *
+ *
* @param project If null then just the workspace and default preferences will be checked.
*/
public static String get(XlcPref key, IProject project) {
@@ -76,31 +70,22 @@ public class XlcLanguagePreferences {
}
private static Preferences[] getPreferences(IProject project) {
- if(project == null) {
- return new Preferences[] {
- getWorkspacePreferences(),
- getDefaultPreferences()
- };
- }
- else {
- return new Preferences[] {
- getProjectPreferences(project),
- getWorkspacePreferences(),
- getDefaultPreferences()
- };
+ if (project == null) {
+ return new Preferences[] { getWorkspacePreferences(), getDefaultPreferences() };
+ } else {
+ return new Preferences[] { getProjectPreferences(project), getWorkspacePreferences(),
+ getDefaultPreferences() };
}
}
-
-
-
+
private static Preferences getDefaultPreferences() {
return getPreferences(DefaultScope.INSTANCE);
}
-
+
private static Preferences getWorkspacePreferences() {
return getPreferences(InstanceScope.INSTANCE);
}
-
+
private static Preferences getProjectPreferences(IProject project) {
return getPreferences(new ProjectScope(project));
}
@@ -109,6 +94,4 @@ public class XlcLanguagePreferences {
return scope.getNode(QUALIFIER).node(XLC_PREFERENCES_NODE);
}
-
-
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java
index ccf1c582ae2..194532c185d 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java
@@ -13,27 +13,18 @@
*******************************************************************************/
package org.eclipse.cdt.core.lrparser.xlc.preferences;
-
public enum XlcPref {
-
- SUPPORT_VECTOR_TYPES("true"),
- SUPPORT_DECIMAL_FLOATING_POINT_TYPES("true"),
- SUPPORT_COMPLEX_IN_CPP("true"),
- SUPPORT_RESTRICT_IN_CPP("true"),
- SUPPORT_STATIC_ASSERT("true");
+ SUPPORT_VECTOR_TYPES("true"), SUPPORT_DECIMAL_FLOATING_POINT_TYPES("true"), SUPPORT_COMPLEX_IN_CPP("true"),
+ SUPPORT_RESTRICT_IN_CPP("true"), SUPPORT_STATIC_ASSERT("true");
-
private final String defaultVal;
-
+
private XlcPref(String defaultVal) {
this.defaultVal = defaultVal;
}
-
+
public String getDefaultValue() {
return defaultVal;
}
}
-
-
-
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCNodeFactory.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCNodeFactory.java
index d7023e1d74a..3da0095254c 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCNodeFactory.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCNodeFactory.java
@@ -21,7 +21,7 @@ import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
public class XlcCNodeFactory extends CNodeFactory implements IXlcCNodeFactory {
private static final XlcCNodeFactory DEFAULT_INSTANCE = new XlcCNodeFactory();
-
+
public static XlcCNodeFactory getDefault() {
return DEFAULT_INSTANCE;
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTModifiedArrayModifier.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTModifiedArrayModifier.java
index 34b5a7e36f0..f6857b5f59f 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTModifiedArrayModifier.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTModifiedArrayModifier.java
@@ -21,10 +21,10 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTArrayModifier;
public class XlcCPPASTModifiedArrayModifier extends CPPASTArrayModifier implements IXlcCPPASTModifiedArrayModifier {
private boolean isVolatile;
- private boolean isRestrict;
- private boolean isStatic;
- private boolean isConst;
- private boolean varSized;
+ private boolean isRestrict;
+ private boolean isStatic;
+ private boolean isConst;
+ private boolean varSized;
public XlcCPPASTModifiedArrayModifier() {
}
@@ -49,50 +49,50 @@ public class XlcCPPASTModifiedArrayModifier extends CPPASTArrayModifier implemen
copy.varSized = varSized;
return copy(copy, style);
}
-
+
public boolean isConst() {
- return isConst;
- }
-
- public boolean isStatic() {
- return isStatic;
- }
-
- public boolean isRestrict() {
- return isRestrict;
- }
-
- public boolean isVolatile() {
- return isVolatile;
- }
-
- public void setConst(boolean value) {
- assertNotFrozen();
- this.isConst = value;
- }
-
- public void setVolatile(boolean value) {
- assertNotFrozen();
- this.isVolatile = value;
- }
-
- public void setRestrict(boolean value) {
- assertNotFrozen();
- this.isRestrict = value;
- }
-
- public void setStatic(boolean value) {
- assertNotFrozen();
- this.isStatic = value;
- }
-
- public boolean isVariableSized() {
- return varSized;
- }
-
- public void setVariableSized(boolean value) {
- assertNotFrozen();
- varSized = value;
- }
+ return isConst;
+ }
+
+ public boolean isStatic() {
+ return isStatic;
+ }
+
+ public boolean isRestrict() {
+ return isRestrict;
+ }
+
+ public boolean isVolatile() {
+ return isVolatile;
+ }
+
+ public void setConst(boolean value) {
+ assertNotFrozen();
+ this.isConst = value;
+ }
+
+ public void setVolatile(boolean value) {
+ assertNotFrozen();
+ this.isVolatile = value;
+ }
+
+ public void setRestrict(boolean value) {
+ assertNotFrozen();
+ this.isRestrict = value;
+ }
+
+ public void setStatic(boolean value) {
+ assertNotFrozen();
+ this.isStatic = value;
+ }
+
+ public boolean isVariableSized() {
+ return varSized;
+ }
+
+ public void setVariableSized(boolean value) {
+ assertNotFrozen();
+ varSized = value;
+ }
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTVectorTypeSpecifier.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTVectorTypeSpecifier.java
index 438d5e63ef9..3da2bbc8393 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTVectorTypeSpecifier.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTVectorTypeSpecifier.java
@@ -44,5 +44,5 @@ public class XlcCPPASTVectorTypeSpecifier extends CPPASTSimpleDeclSpecifier impl
public void setPixel(boolean isPixel) {
this.isPixel = isPixel;
}
-
+
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPNodeFactory.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPNodeFactory.java
index 3f998f42463..0be792d68ae 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPNodeFactory.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPNodeFactory.java
@@ -21,17 +21,17 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
@SuppressWarnings("restriction")
public class XlcCPPNodeFactory extends CPPNodeFactory implements IXlcCPPNodeFactory {
-
-private static final XlcCPPNodeFactory DEFAULT_INSTANCE = new XlcCPPNodeFactory();
-
+
+ private static final XlcCPPNodeFactory DEFAULT_INSTANCE = new XlcCPPNodeFactory();
+
public static XlcCPPNodeFactory getDefault() {
return DEFAULT_INSTANCE;
}
-
+
public IXlcCPPASTVectorTypeSpecifier newVectorTypeSpecifier() {
return new XlcCPPASTVectorTypeSpecifier();
}
-
+
public IXlcCPPASTModifiedArrayModifier newModifiedArrayModifier(IASTExpression expr) {
return new XlcCPPASTModifiedArrayModifier(expr);
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java
index 856ac8b1635..5676192e0cd 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java
@@ -38,1405 +38,1808 @@ import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory;
import org.eclipse.cdt.core.lrparser.xlc.action.XlcCBuildASTParserAction;
import org.eclipse.cdt.internal.core.lrparser.xlc.ast.XlcCNodeFactory;
-public class XlcCParser extends PrsStream implements RuleAction, ITokenStream,
- ITokenCollector, IParser< IASTTranslationUnit >
-
+public class XlcCParser extends PrsStream
+ implements RuleAction, ITokenStream, ITokenCollector, IParser<IASTTranslationUnit>
+
{
- private static ParseTable prs = new XlcCParserprs();
- private FixedBacktrackingParser btParser;
-
- public FixedBacktrackingParser getParser() { return btParser; }
- private void setResult(Object object) { btParser.setSym1(object); }
- public Object getRhsSym(int i) { return btParser.getSym(i); }
-
- public int getRhsTokenIndex(int i) { return btParser.getToken(i); }
- public IToken getRhsIToken(int i) { return super.getIToken(getRhsTokenIndex(i)); }
-
- public int getRhsFirstTokenIndex(int i) { return btParser.getFirstToken(i); }
- public IToken getRhsFirstIToken(int i) { return super.getIToken(getRhsFirstTokenIndex(i)); }
-
- public int getRhsLastTokenIndex(int i) { return btParser.getLastToken(i); }
- public IToken getRhsLastIToken(int i) { return super.getIToken(getRhsLastTokenIndex(i)); }
-
- public int getLeftSpan() { return btParser.getFirstToken(); }
- public IToken getLeftIToken() { return super.getIToken(getLeftSpan()); }
-
- public int getRightSpan() { return btParser.getLastToken(); }
- public IToken getRightIToken() { return super.getIToken(getRightSpan()); }
-
- public int getRhsErrorTokenIndex(int i)
- {
- int index = btParser.getToken(i);
- IToken err = super.getIToken(index);
- return (err instanceof ErrorToken ? index : 0);
- }
- public ErrorToken getRhsErrorIToken(int i)
- {
- int index = btParser.getToken(i);
- IToken err = super.getIToken(index);
- return (ErrorToken) (err instanceof ErrorToken ? err : null);
- }
-
- public XlcCParser(LexStream lexStream)
- {
- super(lexStream);
-
- try
- {
- super.remapTerminalSymbols(orderedTerminalSymbols(), XlcCParserprs.EOFT_SYMBOL);
- }
- catch(NullExportedSymbolsException e) {
- }
- catch(NullTerminalSymbolsException e) {
- }
- catch(UnimplementedTerminalsException e)
- {
- java.util.ArrayList unimplemented_symbols = e.getSymbols();
- System.out.println("The Lexer will not scan the following token(s):");
- for (int i = 0; i < unimplemented_symbols.size(); i++)
- {
- Integer id = (Integer) unimplemented_symbols.get(i);
- System.out.println(" " + XlcCParsersym.orderedTerminalSymbols[id.intValue()]);
- }
- System.out.println();
- }
- catch(UndefinedEofSymbolException e)
- {
- throw new Error(new UndefinedEofSymbolException
- ("The Lexer does not implement the Eof symbol " +
- XlcCParsersym.orderedTerminalSymbols[XlcCParserprs.EOFT_SYMBOL]));
- }
- }
-
- public String[] orderedTerminalSymbols() { return XlcCParsersym.orderedTerminalSymbols; }
- public String getTokenKindName(int kind) { return XlcCParsersym.orderedTerminalSymbols[kind]; }
- public int getEOFTokenKind() { return XlcCParserprs.EOFT_SYMBOL; }
- public PrsStream getParseStream() { return (PrsStream) this; }
-
- //
- // Report error message for given error_token.
- //
- public final void reportErrorTokenMessage(int error_token, String msg)
- {
- int firsttok = super.getFirstErrorToken(error_token),
- lasttok = super.getLastErrorToken(error_token);
- String location = super.getFileName() + ':' +
- (firsttok > lasttok
- ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
- : (super.getLine(error_token) + ":" +
- super.getColumn(error_token) + ":" +
- super.getEndLine(error_token) + ":" +
- super.getEndColumn(error_token)))
- + ": ";
- super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
- }
-
- public void parser()
- {
- parser(null, 0);
- }
-
- public void parser(Monitor monitor)
- {
- parser(monitor, 0);
- }
-
- public void parser(int error_repair_count)
- {
- parser(null, error_repair_count);
- }
-
- public void parser(Monitor monitor, int error_repair_count)
- {
- try
- {
- btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this);
- }
- catch (NotBacktrackParseTableException e)
- {
- throw new Error(new NotBacktrackParseTableException
- ("Regenerate XlcCParserprs.java with -BACKTRACK option"));
- }
- catch (BadParseSymFileException e)
- {
- throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- XlcCParsersym.java"));
- }
-
- try
- {
- btParser.parse(error_repair_count);
- }
- catch (BadParseException e)
- {
- reset(e.error_token); // point to error token
- DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
- diagnoseParser.diagnose(e.error_token);
- }
- }
-
-
-private XlcCBuildASTParserAction action;
-private IASTCompletionNode compNode;
-
-
-public XlcCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) {
- initActions(properties);
- action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
- CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
-}
+ private static ParseTable prs = new XlcCParserprs();
+ private FixedBacktrackingParser btParser;
-private void initActions(Map<String,String> properties) {
- ScopedStack<Object> astStack = new ScopedStack<Object>();
-
- action = new XlcCBuildASTParserAction (this, astStack, XlcCNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() );
- action.setParserProperties(properties);
-
-
+ public FixedBacktrackingParser getParser() {
+ return btParser;
+ }
- gnuAction = new GNUBuildASTParserAction (this, astStack, XlcCNodeFactory.getDefault() );
- gnuAction.setParserProperties(properties);
+ private void setResult(Object object) {
+ btParser.setSym1(object);
+ }
-}
+ public Object getRhsSym(int i) {
+ return btParser.getSym(i);
+ }
+ public int getRhsTokenIndex(int i) {
+ return btParser.getToken(i);
+ }
-public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
- super.addToken(token);
-}
+ public IToken getRhsIToken(int i) {
+ return super.getIToken(getRhsTokenIndex(i));
+ }
+ public int getRhsFirstTokenIndex(int i) {
+ return btParser.getFirstToken(i);
+ }
-public IASTTranslationUnit parse() {
- // this has to be done, or... kaboom!
- setStreamLength(getSize());
-
- final int errorRepairCount = -1; // -1 means full error handling
- parser(null, errorRepairCount); // do the actual parse
- super.resetTokenStream(); // allow tokens to be garbage collected
+ public IToken getRhsFirstIToken(int i) {
+ return super.getIToken(getRhsFirstTokenIndex(i));
+ }
- compNode = action.getASTCompletionNode(); // the completion node may be null
- return ( IASTTranslationUnit ) action.getParseResult();
-}
+ public int getRhsLastTokenIndex(int i) {
+ return btParser.getLastToken(i);
+ }
+ public IToken getRhsLastIToken(int i) {
+ return super.getIToken(getRhsLastTokenIndex(i));
+ }
-public IASTCompletionNode getCompletionNode() {
- return compNode;
-}
+ public int getLeftSpan() {
+ return btParser.getFirstToken();
+ }
-// uncomment this method to use with backtracking parser
-public List<IToken> getRuleTokens() {
- return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
-}
+ public IToken getLeftIToken() {
+ return super.getIToken(getLeftSpan());
+ }
-public String[] getOrderedTerminalSymbols() {
- return XlcCParsersym.orderedTerminalSymbols;
-}
+ public int getRightSpan() {
+ return btParser.getLastToken();
+ }
-@SuppressWarnings("nls")
-public String getName() {
- return "XlcCParser";
-}
+ public IToken getRightIToken() {
+ return super.getIToken(getRightSpan());
+ }
+ public int getRhsErrorTokenIndex(int i) {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (err instanceof ErrorToken ? index : 0);
+ }
-private GNUBuildASTParserAction gnuAction;
-
- public void ruleAction(int ruleNumber)
- {
- switch (ruleNumber)
- {
-
- //
- // Rule 1: <openscope-ast> ::= $Empty
- //
- case 1: { action. openASTScope(); break;
- }
-
- //
- // Rule 2: <empty> ::= $Empty
- //
- case 2: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 13: literal ::= integer
- //
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
- }
-
- //
- // Rule 14: literal ::= floating
- //
- case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
- }
-
- //
- // Rule 15: literal ::= charconst
- //
- case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
- }
-
- //
- // Rule 16: literal ::= stringlit
- //
- case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
- }
-
- //
- // Rule 18: primary_expression ::= primary_expression_id
- //
- case 18: { action. consumeExpressionID(); break;
- }
-
- //
- // Rule 19: primary_expression ::= ( expression )
- //
- case 19: { action. consumeExpressionBracketed(); break;
- }
-
- //
- // Rule 22: postfix_expression ::= postfix_expression [ expression ]
- //
- case 22: { action. consumeExpressionArraySubscript(); break;
- }
-
- //
- // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
- //
- case 23: { action. consumeExpressionFunctionCall(); break;
- }
-
- //
- // Rule 24: postfix_expression ::= postfix_expression . member_name
- //
- case 24: { action. consumeExpressionFieldReference(false); break;
- }
-
- //
- // Rule 25: postfix_expression ::= postfix_expression -> member_name
- //
- case 25: { action. consumeExpressionFieldReference(true); break;
- }
-
- //
- // Rule 26: postfix_expression ::= postfix_expression ++
- //
- case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
- }
-
- //
- // Rule 27: postfix_expression ::= postfix_expression --
- //
- case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
- }
-
- //
- // Rule 28: postfix_expression ::= ( type_id ) initializer_list
- //
- case 28: { action. consumeExpressionTypeIdInitializer(); break;
- }
-
- //
- // Rule 33: unary_expression ::= ++ unary_expression
- //
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
- }
-
- //
- // Rule 34: unary_expression ::= -- unary_expression
- //
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
- }
-
- //
- // Rule 35: unary_expression ::= & cast_expression
- //
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
- }
-
- //
- // Rule 36: unary_expression ::= * cast_expression
- //
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
- }
-
- //
- // Rule 37: unary_expression ::= + cast_expression
- //
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
- }
-
- //
- // Rule 38: unary_expression ::= - cast_expression
- //
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
- }
-
- //
- // Rule 39: unary_expression ::= ~ cast_expression
- //
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
- }
-
- //
- // Rule 40: unary_expression ::= ! cast_expression
- //
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
- }
-
- //
- // Rule 41: unary_expression ::= sizeof unary_expression
- //
- case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
- }
-
- //
- // Rule 42: unary_expression ::= sizeof ( type_id )
- //
- case 42: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
- }
-
- //
- // Rule 44: cast_expression ::= ( type_id ) cast_expression
- //
- case 44: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
- }
-
- //
- // Rule 46: multiplicative_expression ::= multiplicative_expression * cast_expression
- //
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
- }
-
- //
- // Rule 47: multiplicative_expression ::= multiplicative_expression / cast_expression
- //
- case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
- }
-
- //
- // Rule 48: multiplicative_expression ::= multiplicative_expression % cast_expression
- //
- case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
- }
-
- //
- // Rule 50: additive_expression ::= additive_expression + multiplicative_expression
- //
- case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
- }
-
- //
- // Rule 51: additive_expression ::= additive_expression - multiplicative_expression
- //
- case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
- }
-
- //
- // Rule 53: shift_expression ::= shift_expression << additive_expression
- //
- case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
- }
-
- //
- // Rule 54: shift_expression ::= shift_expression >> additive_expression
- //
- case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
- }
-
- //
- // Rule 56: relational_expression ::= relational_expression < shift_expression
- //
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
- }
-
- //
- // Rule 57: relational_expression ::= relational_expression > shift_expression
- //
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
- }
-
- //
- // Rule 58: relational_expression ::= relational_expression <= shift_expression
- //
- case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
- }
-
- //
- // Rule 59: relational_expression ::= relational_expression >= shift_expression
- //
- case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
- }
-
- //
- // Rule 61: equality_expression ::= equality_expression == relational_expression
- //
- case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
- }
-
- //
- // Rule 62: equality_expression ::= equality_expression != relational_expression
- //
- case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
- }
-
- //
- // Rule 64: and_expression ::= and_expression & equality_expression
- //
- case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
- }
-
- //
- // Rule 66: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
- //
- case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
- }
-
- //
- // Rule 68: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
- //
- case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
- }
-
- //
- // Rule 70: logical_and_expression ::= logical_and_expression && inclusive_or_expression
- //
- case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
- }
-
- //
- // Rule 72: logical_or_expression ::= logical_or_expression || logical_and_expression
- //
- case 72: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
- }
-
- //
- // Rule 74: conditional_expression ::= logical_or_expression ? expression : assignment_expression
- //
- case 74: { action. consumeExpressionConditional(); break;
- }
-
- //
- // Rule 76: assignment_expression ::= unary_expression = assignment_expression
- //
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
- }
-
- //
- // Rule 77: assignment_expression ::= unary_expression *= assignment_expression
- //
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
- }
-
- //
- // Rule 78: assignment_expression ::= unary_expression /= assignment_expression
- //
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
- }
-
- //
- // Rule 79: assignment_expression ::= unary_expression %= assignment_expression
- //
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
- }
-
- //
- // Rule 80: assignment_expression ::= unary_expression += assignment_expression
- //
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
- }
-
- //
- // Rule 81: assignment_expression ::= unary_expression -= assignment_expression
- //
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
- }
-
- //
- // Rule 82: assignment_expression ::= unary_expression <<= assignment_expression
- //
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
- }
-
- //
- // Rule 83: assignment_expression ::= unary_expression >>= assignment_expression
- //
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
- }
-
- //
- // Rule 84: assignment_expression ::= unary_expression &= assignment_expression
- //
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
- }
-
- //
- // Rule 85: assignment_expression ::= unary_expression ^= assignment_expression
- //
- case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
- }
-
- //
- // Rule 86: assignment_expression ::= unary_expression |= assignment_expression
- //
- case 86: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
- }
-
- //
- // Rule 89: expression_list ::= <openscope-ast> expression_list_actual
- //
- case 89: { action. consumeExpressionList(); break;
- }
-
- //
- // Rule 91: expression_list_opt ::= $Empty
- //
- case 91: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 101: statement ::= ERROR_TOKEN
- //
- case 101: { action. consumeStatementProblem(); break;
- }
-
- //
- // Rule 102: labeled_statement ::= identifier_token : statement
- //
- case 102: { action. consumeStatementLabeled(); break;
- }
-
- //
- // Rule 103: labeled_statement ::= case constant_expression : statement
- //
- case 103: { action. consumeStatementCase(); break;
- }
-
- //
- // Rule 104: labeled_statement ::= default : statement
- //
- case 104: { action. consumeStatementDefault(); break;
- }
-
- //
- // Rule 105: compound_statement ::= { }
- //
- case 105: { action. consumeStatementCompoundStatement(false); break;
- }
-
- //
- // Rule 106: compound_statement ::= { <openscope-ast> block_item_list }
- //
- case 106: { action. consumeStatementCompoundStatement(true); break;
- }
-
- //
- // Rule 110: block_item ::= declaration
- //
- case 110: { action. consumeStatementDeclarationWithDisambiguation(); break;
- }
-
- //
- // Rule 111: expression_statement ::= ;
- //
- case 111: { action. consumeStatementNull(); break;
- }
-
- //
- // Rule 112: expression_statement ::= expression_in_statement ;
- //
- case 112: { action. consumeStatementExpression(); break;
- }
-
- //
- // Rule 113: selection_statement ::= if ( expression ) statement
- //
- case 113: { action. consumeStatementIf(false); break;
- }
-
- //
- // Rule 114: selection_statement ::= if ( expression ) statement else statement
- //
- case 114: { action. consumeStatementIf(true); break;
- }
-
- //
- // Rule 115: selection_statement ::= switch ( expression ) statement
- //
- case 115: { action. consumeStatementSwitch(); break;
- }
-
- //
- // Rule 117: expression_opt ::= $Empty
- //
- case 117: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 118: iteration_statement ::= do statement while ( expression ) ;
- //
- case 118: { action. consumeStatementDoLoop(true); break;
- }
-
- //
- // Rule 119: iteration_statement ::= do statement
- //
- case 119: { action. consumeStatementDoLoop(false); break;
- }
-
- //
- // Rule 120: iteration_statement ::= while ( expression ) statement
- //
- case 120: { action. consumeStatementWhileLoop(); break;
- }
-
- //
- // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
- //
- case 121: { action. consumeStatementForLoop(); break;
- }
-
- //
- // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
- //
- case 122: { action. consumeStatementForLoop(); break;
- }
-
- //
- // Rule 123: jump_statement ::= goto identifier_token ;
- //
- case 123: { action. consumeStatementGoto(); break;
- }
-
- //
- // Rule 124: jump_statement ::= continue ;
- //
- case 124: { action. consumeStatementContinue(); break;
- }
-
- //
- // Rule 125: jump_statement ::= break ;
- //
- case 125: { action. consumeStatementBreak(); break;
- }
-
- //
- // Rule 126: jump_statement ::= return ;
- //
- case 126: { action. consumeStatementReturn(false); break;
- }
-
- //
- // Rule 127: jump_statement ::= return expression ;
- //
- case 127: { action. consumeStatementReturn(true); break;
- }
-
- //
- // Rule 128: declaration ::= declaration_specifiers ;
- //
- case 128: { action. consumeDeclarationSimple(false); break;
- }
-
- //
- // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
- //
- case 129: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
- //
- case 130: { action. consumeDeclarationSpecifiersSimple(); break;
- }
-
- //
- // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
- //
- case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
- }
-
- //
- // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
- //
- case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
- }
-
- //
- // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
- //
- case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
- }
-
- //
- // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
- //
- case 134: { action. consumeDeclarationSpecifiersTypedefName(); break;
- }
-
- //
- // Rule 159: init_declarator ::= complete_declarator = initializer
- //
- case 159: { action. consumeDeclaratorWithInitializer(true); break;
- }
-
- //
- // Rule 161: storage_class_specifier ::= storage_class_specifier_token
- //
- case 161: { action. consumeToken(); break;
- }
-
- //
- // Rule 167: simple_type_specifier ::= simple_type_specifier_token
- //
- case 167: { action. consumeToken(); break;
- }
-
- //
- // Rule 180: type_name_specifier ::= identifier_token
- //
- case 180: { action. consumeToken(); break;
- }
-
- //
- // 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); break;
- }
-
- //
- // 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(true); break;
- }
-
- //
- // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
- //
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
- }
-
- //
- // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
- //
- case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
- }
-
- //
- // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
- //
- case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
- }
-
- //
- // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
- //
- case 195: { action. consumeStructDeclaration(true); break;
- }
-
- //
- // Rule 196: struct_declaration ::= specifier_qualifier_list ;
- //
- case 196: { action. consumeStructDeclaration(false); break;
- }
-
- //
- // Rule 197: struct_declaration ::= ERROR_TOKEN
- //
- case 197: { action. consumeDeclarationProblem(); break;
- }
-
- //
- // Rule 203: struct_declarator ::= : constant_expression
- //
- case 203: { action. consumeBitField(false); break;
- }
-
- //
- // Rule 204: struct_declarator ::= declarator : constant_expression
- //
- case 204: { action. consumeBitField(true); break;
- }
-
- //
- // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
- //
- case 205: { action. consumeTypeSpecifierEnumeration(false); break;
- }
-
- //
- // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
- //
- case 206: { action. consumeTypeSpecifierEnumeration(true); break;
- }
-
- //
- // Rule 212: enumerator ::= identifier_token
- //
- case 212: { action. consumeEnumerator(false); break;
- }
-
- //
- // Rule 213: enumerator ::= identifier_token = constant_expression
- //
- case 213: { action. consumeEnumerator(true); break;
- }
-
- //
- // Rule 214: type_qualifier ::= type_qualifier_token
- //
- case 214: { action. consumeToken(); break;
- }
-
- //
- // Rule 218: function_specifier ::= inline
- //
- case 218: { action. consumeToken(); break;
- }
-
- //
- // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
- //
- case 220: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 225: basic_direct_declarator ::= declarator_id_name
- //
- case 225: { action. consumeDirectDeclaratorIdentifier(); break;
- }
-
- //
- // Rule 226: basic_direct_declarator ::= ( declarator )
- //
- case 226: { action. consumeDirectDeclaratorBracketed(); break;
- }
-
- //
- // Rule 227: declarator_id_name ::= identifier
- //
- case 227: { action. consumeIdentifierName(); break;
- }
-
- //
- // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
- //
- case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
- //
- case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
- //
- case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
- }
-
- //
- // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
- //
- case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
- }
-
- //
- // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
- //
- case 234: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
- //
- case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
- }
-
- //
- // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
- //
- case 237: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 238: identifier_list ::= identifier
- //
- case 238: { action. consumeIdentifierKnR(); break;
- }
-
- //
- // Rule 239: identifier_list ::= identifier_list , identifier
- //
- case 239: { action. consumeIdentifierKnR(); break;
- }
-
- //
- // Rule 240: array_modifier ::= [ ]
- //
- case 240: { action. consumeDirectDeclaratorArrayModifier(false); break;
- }
-
- //
- // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
- //
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
- }
-
- //
- // Rule 242: array_modifier ::= [ assignment_expression ]
- //
- case 242: { action. consumeDirectDeclaratorArrayModifier(true); break;
- }
-
- //
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
- //
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
- }
-
- //
- // Rule 244: array_modifier ::= [ static assignment_expression ]
- //
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
- }
-
- //
- // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
- //
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
- }
-
- //
- // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
- //
- case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
- }
-
- //
- // Rule 247: array_modifier ::= [ * ]
- //
- case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
- }
-
- //
- // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
- //
- case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
- }
-
- //
- // Rule 250: pointer_seq ::= pointer_hook * pointer_hook
- //
- case 250: { action. consumePointer(); break;
- }
-
- //
- // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
- //
- case 251: { action. consumePointer(); break;
- }
-
- //
- // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
- //
- case 252: { action. consumePointerTypeQualifierList(); break;
- }
-
- //
- // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
- //
- case 253: { action. consumePointerTypeQualifierList(); break;
- }
-
- //
- // Rule 257: parameter_type_list ::= parameter_list
- //
- case 257: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 258: parameter_type_list ::= parameter_list , ...
- //
- case 258: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 259: parameter_type_list ::= ...
- //
- case 259: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
- //
- case 262: { action. consumeParameterDeclaration(); break;
- }
-
- //
- // Rule 263: parameter_declaration ::= declaration_specifiers
- //
- case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break;
- }
-
- //
- // Rule 266: type_id ::= specifier_qualifier_list
- //
- case 266: { action. consumeTypeId(false); break;
- }
-
- //
- // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator
- //
- case 267: { action. consumeTypeId(true); break;
- }
-
- //
- // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
- //
- case 269: { action. consumeDeclaratorWithPointer(false); break;
- }
-
- //
- // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
- //
- case 270: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
- //
- case 274: { action. consumeDirectDeclaratorBracketed(); break;
- }
-
- //
- // Rule 275: array_direct_abstract_declarator ::= array_modifier
- //
- case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
- }
-
- //
- // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
- //
- case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
- //
- case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 278: function_direct_abstract_declarator ::= ( )
- //
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
-
- //
- // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
- //
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
- }
-
- //
- // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
- //
- case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
- }
-
- //
- // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
- //
- case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
- }
-
- //
- // Rule 282: initializer ::= assignment_expression
- //
- case 282: { action. consumeInitializer(); break;
- }
-
- //
- // Rule 283: initializer ::= initializer_list
- //
- case 283: { action. consumeInitializer(); break;
- }
-
- //
- // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
- //
- case 284: { action. consumeInitializerList(); break;
- }
-
- //
- // Rule 285: initializer_list ::= { <openscope-ast> }
- //
- case 285: { action. consumeInitializerList(); break;
- }
-
- //
- // Rule 286: start_initializer_list ::= $Empty
- //
- case 286: { action. initializerListStart(); break;
- }
-
- //
- // Rule 287: end_initializer_list ::= $Empty
- //
- case 287: { action. initializerListEnd(); break;
- }
-
- //
- // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer
- //
- case 292: { action. consumeInitializerDesignated(); break;
- }
-
- //
- // Rule 296: designator_base ::= [ constant_expression ]
- //
- case 296: { action. consumeDesignatorArray(); break;
- }
-
- //
- // Rule 297: designator_base ::= . identifier_token
- //
- case 297: { action. consumeDesignatorField(); break;
- }
-
- //
- // Rule 298: designator ::= [ constant_expression ]
- //
- case 298: { action. consumeDesignatorArray(); break;
- }
-
- //
- // Rule 299: designator ::= . identifier_token
- //
- case 299: { action. consumeDesignatorField(); break;
- }
-
- //
- // Rule 300: translation_unit ::= external_declaration_list
- //
- case 300: { action. consumeTranslationUnit(); break;
- }
-
- //
- // Rule 301: translation_unit ::= $Empty
- //
- case 301: { action. consumeTranslationUnit(); break;
- }
-
- //
- // Rule 306: external_declaration ::= ;
- //
- case 306: { action. consumeDeclarationEmpty(); break;
- }
-
- //
- // Rule 307: external_declaration ::= ERROR_TOKEN
- //
- case 307: { action. consumeDeclarationProblem(); break;
- }
-
- //
- // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body
- //
- case 311: { action. consumeFunctionDefinition(false); break;
- }
-
- //
- // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
- //
- case 312: { action. consumeFunctionDefinitionKnR(); break;
- }
-
- //
- // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
- //
- case 313: { action. consumeFunctionDefinition(true); break;
- }
-
- //
- // Rule 314: function_body ::= { }
- //
- case 314: { action. consumeStatementCompoundStatement(false); break;
- }
-
- //
- // Rule 315: function_body ::= { <openscope-ast> block_item_list }
- //
- case 315: { action. consumeStatementCompoundStatement(true); break;
- }
-
- //
- // Rule 332: attribute_parameter ::= assignment_expression
- //
- case 332: { action. consumeIgnore(); break;
- }
-
- //
- // Rule 343: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
- //
- case 343: { gnuAction.consumeDeclarationASM(); break;
- }
-
- //
- // Rule 354: unary_expression ::= __alignof__ unary_expression
- //
- case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
- }
-
- //
- // Rule 355: unary_expression ::= __alignof__ ( type_id )
- //
- case 355: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break;
- }
-
- //
- // Rule 356: unary_expression ::= typeof unary_expression
- //
- case 356: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
- }
-
- //
- // Rule 357: unary_expression ::= typeof ( type_id )
- //
- case 357: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
- }
-
- //
- // Rule 358: relational_expression ::= relational_expression >? shift_expression
- //
- case 358: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break;
- }
-
- //
- // Rule 359: relational_expression ::= relational_expression <? shift_expression
- //
- case 359: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break;
- }
-
- //
- // Rule 360: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression
- //
- case 360: { action. consumeExpressionConditional(); break;
- }
-
- //
- // Rule 361: primary_expression ::= ( compound_statement )
- //
- case 361: { gnuAction.consumeCompoundStatementExpression(); break;
- }
-
- //
- // Rule 362: labeled_statement ::= case case_range_expression : statement
- //
- case 362: { action. consumeStatementCase(); break;
- }
-
- //
- // Rule 363: case_range_expression ::= constant_expression ... constant_expression
- //
- case 363: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
- }
-
- //
- // Rule 367: typeof_type_specifier ::= typeof unary_expression
- //
- case 367: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
- }
-
- //
- // Rule 368: typeof_type_specifier ::= typeof ( type_id )
- //
- case 368: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
- }
-
- //
- // Rule 369: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
- //
- case 369: { action. consumeDeclarationSpecifiersTypeof(); break;
- }
-
- //
- // Rule 385: field_name_designator ::= identifier_token :
- //
- case 385: { action. consumeDesignatorFieldGCC(); break;
- }
-
- //
- // Rule 386: array_range_designator ::= [ constant_expression ... constant_expression ]
- //
- case 386: { action. consumeDesignatorArrayRange(); break;
- }
-
- //
- // Rule 387: designated_initializer ::= <openscope-ast> field_name_designator initializer
- //
- case 387: { action. consumeInitializerDesignated(); break;
- }
-
- //
- // Rule 388: block_item ::= normal_function_definition
- //
- case 388: { action. consumeStatementDeclaration(); break;
- }
-
- //
- // Rule 392: type_id ::= vector_type
- //
- case 392: { action. consumeTypeId(false); break;
- }
-
- //
- // Rule 393: type_id ::= vector_type abstract_declarator
- //
- case 393: { action. consumeTypeId(true); break;
- }
-
- //
- // Rule 394: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ;
- //
- case 394: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 395: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt
- //
- case 395: { action. consumeVectorTypeSpecifier(); break;
- }
-
- //
- // Rule 396: vector_type_specifier ::= vector_type_specifier_token
- //
- case 396: { action. consumeToken(); break;
- }
-
- //
- // Rule 418: declarator_id_name ::= pixel
- //
- case 418: { action. consumeIdentifierName(); break;
- }
-
- //
- // Rule 419: declarator_id_name ::= vector
- //
- case 419: { action. consumeIdentifierName(); break;
- }
-
- //
- // Rule 420: declarator_id_name ::= bool
- //
- case 420: { action. consumeIdentifierName(); break;
- }
-
-
- default:
- break;
- }
- return;
- }
-}
+ public ErrorToken getRhsErrorIToken(int i) {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (ErrorToken) (err instanceof ErrorToken ? err : null);
+ }
+
+ public XlcCParser(LexStream lexStream) {
+ super(lexStream);
+
+ try {
+ super.remapTerminalSymbols(orderedTerminalSymbols(), XlcCParserprs.EOFT_SYMBOL);
+ } catch (NullExportedSymbolsException e) {
+ } catch (NullTerminalSymbolsException e) {
+ } catch (UnimplementedTerminalsException e) {
+ java.util.ArrayList unimplemented_symbols = e.getSymbols();
+ System.out.println("The Lexer will not scan the following token(s):");
+ for (int i = 0; i < unimplemented_symbols.size(); i++) {
+ Integer id = (Integer) unimplemented_symbols.get(i);
+ System.out.println(" " + XlcCParsersym.orderedTerminalSymbols[id.intValue()]);
+ }
+ System.out.println();
+ } catch (UndefinedEofSymbolException e) {
+ throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol "
+ + XlcCParsersym.orderedTerminalSymbols[XlcCParserprs.EOFT_SYMBOL]));
+ }
+ }
+
+ public String[] orderedTerminalSymbols() {
+ return XlcCParsersym.orderedTerminalSymbols;
+ }
+
+ public String getTokenKindName(int kind) {
+ return XlcCParsersym.orderedTerminalSymbols[kind];
+ }
+
+ public int getEOFTokenKind() {
+ return XlcCParserprs.EOFT_SYMBOL;
+ }
+
+ public PrsStream getParseStream() {
+ return (PrsStream) this;
+ }
+
+ //
+ // Report error message for given error_token.
+ //
+ public final void reportErrorTokenMessage(int error_token, String msg) {
+ int firsttok = super.getFirstErrorToken(error_token), lasttok = super.getLastErrorToken(error_token);
+ String location = super.getFileName() + ':'
+ + (firsttok > lasttok ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
+ : (super.getLine(error_token) + ":" + super.getColumn(error_token) + ":"
+ + super.getEndLine(error_token) + ":" + super.getEndColumn(error_token)))
+ + ": ";
+ super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE),
+ location, msg);
+ }
+
+ public void parser() {
+ parser(null, 0);
+ }
+
+ public void parser(Monitor monitor) {
+ parser(monitor, 0);
+ }
+
+ public void parser(int error_repair_count) {
+ parser(null, error_repair_count);
+ }
+
+ public void parser(Monitor monitor, int error_repair_count) {
+ try {
+ btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this);
+ } catch (NotBacktrackParseTableException e) {
+ throw new Error(
+ new NotBacktrackParseTableException("Regenerate XlcCParserprs.java with -BACKTRACK option"));
+ } catch (BadParseSymFileException e) {
+ throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- XlcCParsersym.java"));
+ }
+
+ try {
+ btParser.parse(error_repair_count);
+ } catch (BadParseException e) {
+ reset(e.error_token); // point to error token
+ DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
+ diagnoseParser.diagnose(e.error_token);
+ }
+ }
+
+ private XlcCBuildASTParserAction action;
+ private IASTCompletionNode compNode;
+
+ public XlcCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider,
+ IIndex index, Map<String, String> properties) {
+ initActions(properties);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
+ }
+
+ private void initActions(Map<String, String> properties) {
+ ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+ action = new XlcCBuildASTParserAction(this, astStack, XlcCNodeFactory.getDefault(),
+ GCCSecondaryParserFactory.getDefault());
+ action.setParserProperties(properties);
+
+ gnuAction = new GNUBuildASTParserAction(this, astStack, XlcCNodeFactory.getDefault());
+ gnuAction.setParserProperties(properties);
+
+ }
+
+ public void addToken(IToken token) {
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
+ super.addToken(token);
+ }
+
+ public IASTTranslationUnit parse() {
+ // this has to be done, or... kaboom!
+ setStreamLength(getSize());
+
+ final int errorRepairCount = -1; // -1 means full error handling
+ parser(null, errorRepairCount); // do the actual parse
+ super.resetTokenStream(); // allow tokens to be garbage collected
+
+ compNode = action.getASTCompletionNode(); // the completion node may be null
+ return (IASTTranslationUnit) action.getParseResult();
+ }
+
+ public IASTCompletionNode getCompletionNode() {
+ return compNode;
+ }
+
+ // uncomment this method to use with backtracking parser
+ public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
+ }
+
+ public String[] getOrderedTerminalSymbols() {
+ return XlcCParsersym.orderedTerminalSymbols;
+ }
+
+ @SuppressWarnings("nls")
+ public String getName() {
+ return "XlcCParser";
+ }
+
+ private GNUBuildASTParserAction gnuAction;
+
+ public void ruleAction(int ruleNumber) {
+ switch (ruleNumber) {
+
+ //
+ // Rule 1: <openscope-ast> ::= $Empty
+ //
+ case 1: {
+ action.openASTScope();
+ break;
+ }
+
+ //
+ // Rule 2: <empty> ::= $Empty
+ //
+ case 2: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 13: literal ::= integer
+ //
+ case 13: {
+ action.consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant);
+ break;
+ }
+
+ //
+ // Rule 14: literal ::= floating
+ //
+ case 14: {
+ action.consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant);
+ break;
+ }
+
+ //
+ // Rule 15: literal ::= charconst
+ //
+ case 15: {
+ action.consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant);
+ break;
+ }
+
+ //
+ // Rule 16: literal ::= stringlit
+ //
+ case 16: {
+ action.consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal);
+ break;
+ }
+
+ //
+ // Rule 18: primary_expression ::= primary_expression_id
+ //
+ case 18: {
+ action.consumeExpressionID();
+ break;
+ }
+
+ //
+ // Rule 19: primary_expression ::= ( expression )
+ //
+ case 19: {
+ action.consumeExpressionBracketed();
+ break;
+ }
+
+ //
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
+ //
+ case 22: {
+ action.consumeExpressionArraySubscript();
+ break;
+ }
+
+ //
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
+ //
+ case 23: {
+ action.consumeExpressionFunctionCall();
+ break;
+ }
+
+ //
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
+ //
+ case 24: {
+ action.consumeExpressionFieldReference(false);
+ break;
+ }
+
+ //
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
+ //
+ case 25: {
+ action.consumeExpressionFieldReference(true);
+ break;
+ }
+
+ //
+ // Rule 26: postfix_expression ::= postfix_expression ++
+ //
+ case 26: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr);
+ break;
+ }
+
+ //
+ // Rule 27: postfix_expression ::= postfix_expression --
+ //
+ case 27: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr);
+ break;
+ }
+
+ //
+ // Rule 28: postfix_expression ::= ( type_id ) initializer_list
+ //
+ case 28: {
+ action.consumeExpressionTypeIdInitializer();
+ break;
+ }
+
+ //
+ // Rule 33: unary_expression ::= ++ unary_expression
+ //
+ case 33: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr);
+ break;
+ }
+
+ //
+ // Rule 34: unary_expression ::= -- unary_expression
+ //
+ case 34: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr);
+ break;
+ }
+
+ //
+ // Rule 35: unary_expression ::= & cast_expression
+ //
+ case 35: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper);
+ break;
+ }
+
+ //
+ // Rule 36: unary_expression ::= * cast_expression
+ //
+ case 36: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_star);
+ break;
+ }
+
+ //
+ // Rule 37: unary_expression ::= + cast_expression
+ //
+ case 37: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus);
+ break;
+ }
+
+ //
+ // Rule 38: unary_expression ::= - cast_expression
+ //
+ case 38: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus);
+ break;
+ }
+
+ //
+ // Rule 39: unary_expression ::= ~ cast_expression
+ //
+ case 39: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde);
+ break;
+ }
+
+ //
+ // Rule 40: unary_expression ::= ! cast_expression
+ //
+ case 40: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_not);
+ break;
+ }
+
+ //
+ // Rule 41: unary_expression ::= sizeof unary_expression
+ //
+ case 41: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof);
+ break;
+ }
+
+ //
+ // Rule 42: unary_expression ::= sizeof ( type_id )
+ //
+ case 42: {
+ action.consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof);
+ break;
+ }
+
+ //
+ // Rule 44: cast_expression ::= ( type_id ) cast_expression
+ //
+ case 44: {
+ action.consumeExpressionCast(IASTCastExpression.op_cast);
+ break;
+ }
+
+ //
+ // Rule 46: multiplicative_expression ::= multiplicative_expression * cast_expression
+ //
+ case 46: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply);
+ break;
+ }
+
+ //
+ // Rule 47: multiplicative_expression ::= multiplicative_expression / cast_expression
+ //
+ case 47: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide);
+ break;
+ }
+
+ //
+ // Rule 48: multiplicative_expression ::= multiplicative_expression % cast_expression
+ //
+ case 48: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo);
+ break;
+ }
+
+ //
+ // Rule 50: additive_expression ::= additive_expression + multiplicative_expression
+ //
+ case 50: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus);
+ break;
+ }
+
+ //
+ // Rule 51: additive_expression ::= additive_expression - multiplicative_expression
+ //
+ case 51: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus);
+ break;
+ }
+
+ //
+ // Rule 53: shift_expression ::= shift_expression << additive_expression
+ //
+ case 53: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft);
+ break;
+ }
+
+ //
+ // Rule 54: shift_expression ::= shift_expression >> additive_expression
+ //
+ case 54: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight);
+ break;
+ }
+
+ //
+ // Rule 56: relational_expression ::= relational_expression < shift_expression
+ //
+ case 56: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan);
+ break;
+ }
+
+ //
+ // Rule 57: relational_expression ::= relational_expression > shift_expression
+ //
+ case 57: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan);
+ break;
+ }
+
+ //
+ // Rule 58: relational_expression ::= relational_expression <= shift_expression
+ //
+ case 58: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual);
+ break;
+ }
+
+ //
+ // Rule 59: relational_expression ::= relational_expression >= shift_expression
+ //
+ case 59: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual);
+ break;
+ }
+
+ //
+ // Rule 61: equality_expression ::= equality_expression == relational_expression
+ //
+ case 61: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals);
+ break;
+ }
+
+ //
+ // Rule 62: equality_expression ::= equality_expression != relational_expression
+ //
+ case 62: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals);
+ break;
+ }
+
+ //
+ // Rule 64: and_expression ::= and_expression & equality_expression
+ //
+ case 64: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd);
+ break;
+ }
+
+ //
+ // Rule 66: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ //
+ case 66: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor);
+ break;
+ }
+
+ //
+ // Rule 68: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ //
+ case 68: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr);
+ break;
+ }
+
+ //
+ // Rule 70: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ //
+ case 70: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd);
+ break;
+ }
+
+ //
+ // Rule 72: logical_or_expression ::= logical_or_expression || logical_and_expression
+ //
+ case 72: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr);
+ break;
+ }
+
+ //
+ // Rule 74: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ //
+ case 74: {
+ action.consumeExpressionConditional();
+ break;
+ }
+
+ //
+ // Rule 76: assignment_expression ::= unary_expression = assignment_expression
+ //
+ case 76: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign);
+ break;
+ }
+
+ //
+ // Rule 77: assignment_expression ::= unary_expression *= assignment_expression
+ //
+ case 77: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign);
+ break;
+ }
+
+ //
+ // Rule 78: assignment_expression ::= unary_expression /= assignment_expression
+ //
+ case 78: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign);
+ break;
+ }
+
+ //
+ // Rule 79: assignment_expression ::= unary_expression %= assignment_expression
+ //
+ case 79: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign);
+ break;
+ }
+
+ //
+ // Rule 80: assignment_expression ::= unary_expression += assignment_expression
+ //
+ case 80: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign);
+ break;
+ }
+
+ //
+ // Rule 81: assignment_expression ::= unary_expression -= assignment_expression
+ //
+ case 81: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign);
+ break;
+ }
+
+ //
+ // Rule 82: assignment_expression ::= unary_expression <<= assignment_expression
+ //
+ case 82: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign);
+ break;
+ }
+
+ //
+ // Rule 83: assignment_expression ::= unary_expression >>= assignment_expression
+ //
+ case 83: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign);
+ break;
+ }
+
+ //
+ // Rule 84: assignment_expression ::= unary_expression &= assignment_expression
+ //
+ case 84: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign);
+ break;
+ }
+
+ //
+ // Rule 85: assignment_expression ::= unary_expression ^= assignment_expression
+ //
+ case 85: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign);
+ break;
+ }
+
+ //
+ // Rule 86: assignment_expression ::= unary_expression |= assignment_expression
+ //
+ case 86: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign);
+ break;
+ }
+
+ //
+ // Rule 89: expression_list ::= <openscope-ast> expression_list_actual
+ //
+ case 89: {
+ action.consumeExpressionList();
+ break;
+ }
+
+ //
+ // Rule 91: expression_list_opt ::= $Empty
+ //
+ case 91: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 101: statement ::= ERROR_TOKEN
+ //
+ case 101: {
+ action.consumeStatementProblem();
+ break;
+ }
+
+ //
+ // Rule 102: labeled_statement ::= identifier_token : statement
+ //
+ case 102: {
+ action.consumeStatementLabeled();
+ break;
+ }
+
+ //
+ // Rule 103: labeled_statement ::= case constant_expression : statement
+ //
+ case 103: {
+ action.consumeStatementCase();
+ break;
+ }
+
+ //
+ // Rule 104: labeled_statement ::= default : statement
+ //
+ case 104: {
+ action.consumeStatementDefault();
+ break;
+ }
+
+ //
+ // Rule 105: compound_statement ::= { }
+ //
+ case 105: {
+ action.consumeStatementCompoundStatement(false);
+ break;
+ }
+
+ //
+ // Rule 106: compound_statement ::= { <openscope-ast> block_item_list }
+ //
+ case 106: {
+ action.consumeStatementCompoundStatement(true);
+ break;
+ }
+
+ //
+ // Rule 110: block_item ::= declaration
+ //
+ case 110: {
+ action.consumeStatementDeclarationWithDisambiguation();
+ break;
+ }
+
+ //
+ // Rule 111: expression_statement ::= ;
+ //
+ case 111: {
+ action.consumeStatementNull();
+ break;
+ }
+
+ //
+ // Rule 112: expression_statement ::= expression_in_statement ;
+ //
+ case 112: {
+ action.consumeStatementExpression();
+ break;
+ }
+
+ //
+ // Rule 113: selection_statement ::= if ( expression ) statement
+ //
+ case 113: {
+ action.consumeStatementIf(false);
+ break;
+ }
+
+ //
+ // Rule 114: selection_statement ::= if ( expression ) statement else statement
+ //
+ case 114: {
+ action.consumeStatementIf(true);
+ break;
+ }
+
+ //
+ // Rule 115: selection_statement ::= switch ( expression ) statement
+ //
+ case 115: {
+ action.consumeStatementSwitch();
+ break;
+ }
+
+ //
+ // Rule 117: expression_opt ::= $Empty
+ //
+ case 117: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 118: iteration_statement ::= do statement while ( expression ) ;
+ //
+ case 118: {
+ action.consumeStatementDoLoop(true);
+ break;
+ }
+
+ //
+ // Rule 119: iteration_statement ::= do statement
+ //
+ case 119: {
+ action.consumeStatementDoLoop(false);
+ break;
+ }
+
+ //
+ // Rule 120: iteration_statement ::= while ( expression ) statement
+ //
+ case 120: {
+ action.consumeStatementWhileLoop();
+ break;
+ }
+
+ //
+ // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ //
+ case 121: {
+ action.consumeStatementForLoop();
+ break;
+ }
+
+ //
+ // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ //
+ case 122: {
+ action.consumeStatementForLoop();
+ break;
+ }
+
+ //
+ // Rule 123: jump_statement ::= goto identifier_token ;
+ //
+ case 123: {
+ action.consumeStatementGoto();
+ break;
+ }
+
+ //
+ // Rule 124: jump_statement ::= continue ;
+ //
+ case 124: {
+ action.consumeStatementContinue();
+ break;
+ }
+
+ //
+ // Rule 125: jump_statement ::= break ;
+ //
+ case 125: {
+ action.consumeStatementBreak();
+ break;
+ }
+
+ //
+ // Rule 126: jump_statement ::= return ;
+ //
+ case 126: {
+ action.consumeStatementReturn(false);
+ break;
+ }
+
+ //
+ // Rule 127: jump_statement ::= return expression ;
+ //
+ case 127: {
+ action.consumeStatementReturn(true);
+ break;
+ }
+ //
+ // Rule 128: declaration ::= declaration_specifiers ;
+ //
+ case 128: {
+ action.consumeDeclarationSimple(false);
+ break;
+ }
+
+ //
+ // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ //
+ case 129: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ //
+ case 130: {
+ action.consumeDeclarationSpecifiersSimple();
+ break;
+ }
+
+ //
+ // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ //
+ case 131: {
+ action.consumeDeclarationSpecifiersStructUnionEnum();
+ break;
+ }
+
+ //
+ // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ //
+ case 132: {
+ action.consumeDeclarationSpecifiersStructUnionEnum();
+ break;
+ }
+
+ //
+ // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ //
+ case 133: {
+ action.consumeDeclarationSpecifiersStructUnionEnum();
+ break;
+ }
+
+ //
+ // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ //
+ case 134: {
+ action.consumeDeclarationSpecifiersTypedefName();
+ break;
+ }
+
+ //
+ // Rule 159: init_declarator ::= complete_declarator = initializer
+ //
+ case 159: {
+ action.consumeDeclaratorWithInitializer(true);
+ break;
+ }
+
+ //
+ // Rule 161: storage_class_specifier ::= storage_class_specifier_token
+ //
+ case 161: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 167: simple_type_specifier ::= simple_type_specifier_token
+ //
+ case 167: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 180: type_name_specifier ::= identifier_token
+ //
+ case 180: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // 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);
+ break;
+ }
+
+ //
+ // 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(true);
+ break;
+ }
+
+ //
+ // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ //
+ case 187: {
+ action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct);
+ break;
+ }
+
+ //
+ // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ //
+ case 188: {
+ action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union);
+ break;
+ }
+
+ //
+ // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ //
+ case 189: {
+ action.consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum);
+ break;
+ }
+
+ //
+ // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ //
+ case 195: {
+ action.consumeStructDeclaration(true);
+ break;
+ }
+
+ //
+ // Rule 196: struct_declaration ::= specifier_qualifier_list ;
+ //
+ case 196: {
+ action.consumeStructDeclaration(false);
+ break;
+ }
+
+ //
+ // Rule 197: struct_declaration ::= ERROR_TOKEN
+ //
+ case 197: {
+ action.consumeDeclarationProblem();
+ break;
+ }
+
+ //
+ // Rule 203: struct_declarator ::= : constant_expression
+ //
+ case 203: {
+ action.consumeBitField(false);
+ break;
+ }
+
+ //
+ // Rule 204: struct_declarator ::= declarator : constant_expression
+ //
+ case 204: {
+ action.consumeBitField(true);
+ break;
+ }
+
+ //
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ //
+ case 205: {
+ action.consumeTypeSpecifierEnumeration(false);
+ break;
+ }
+
+ //
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ //
+ case 206: {
+ action.consumeTypeSpecifierEnumeration(true);
+ break;
+ }
+
+ //
+ // Rule 212: enumerator ::= identifier_token
+ //
+ case 212: {
+ action.consumeEnumerator(false);
+ break;
+ }
+
+ //
+ // Rule 213: enumerator ::= identifier_token = constant_expression
+ //
+ case 213: {
+ action.consumeEnumerator(true);
+ break;
+ }
+
+ //
+ // Rule 214: type_qualifier ::= type_qualifier_token
+ //
+ case 214: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 218: function_specifier ::= inline
+ //
+ case 218: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ //
+ case 220: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 225: basic_direct_declarator ::= declarator_id_name
+ //
+ case 225: {
+ action.consumeDirectDeclaratorIdentifier();
+ break;
+ }
+
+ //
+ // Rule 226: basic_direct_declarator ::= ( declarator )
+ //
+ case 226: {
+ action.consumeDirectDeclaratorBracketed();
+ break;
+ }
+
+ //
+ // Rule 227: declarator_id_name ::= identifier
+ //
+ case 227: {
+ action.consumeIdentifierName();
+ break;
+ }
+
+ //
+ // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
+ //
+ case 228: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
+ //
+ case 229: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ //
+ case 231: {
+ action.consumeDirectDeclaratorFunctionDeclarator(true, true);
+ break;
+ }
+
+ //
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
+ //
+ case 232: {
+ action.consumeDirectDeclaratorFunctionDeclarator(true, false);
+ break;
+ }
+
+ //
+ // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ //
+ case 234: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ //
+ case 235: {
+ action.consumeDirectDeclaratorFunctionDeclaratorKnR();
+ break;
+ }
+
+ //
+ // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ //
+ case 237: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 238: identifier_list ::= identifier
+ //
+ case 238: {
+ action.consumeIdentifierKnR();
+ break;
+ }
+
+ //
+ // Rule 239: identifier_list ::= identifier_list , identifier
+ //
+ case 239: {
+ action.consumeIdentifierKnR();
+ break;
+ }
+
+ //
+ // Rule 240: array_modifier ::= [ ]
+ //
+ case 240: {
+ action.consumeDirectDeclaratorArrayModifier(false);
+ break;
+ }
+
+ //
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ //
+ case 241: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false);
+ break;
+ }
+
+ //
+ // Rule 242: array_modifier ::= [ assignment_expression ]
+ //
+ case 242: {
+ action.consumeDirectDeclaratorArrayModifier(true);
+ break;
+ }
+
+ //
+ // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ //
+ case 243: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true);
+ break;
+ }
+
+ //
+ // Rule 244: array_modifier ::= [ static assignment_expression ]
+ //
+ case 244: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true);
+ break;
+ }
+
+ //
+ // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ //
+ case 245: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true);
+ break;
+ }
+
+ //
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ //
+ case 246: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true);
+ break;
+ }
+
+ //
+ // Rule 247: array_modifier ::= [ * ]
+ //
+ case 247: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false);
+ break;
+ }
+
+ //
+ // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ //
+ case 248: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false);
+ break;
+ }
+
+ //
+ // Rule 250: pointer_seq ::= pointer_hook * pointer_hook
+ //
+ case 250: {
+ action.consumePointer();
+ break;
+ }
+
+ //
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
+ //
+ case 251: {
+ action.consumePointer();
+ break;
+ }
+
+ //
+ // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
+ //
+ case 252: {
+ action.consumePointerTypeQualifierList();
+ break;
+ }
+
+ //
+ // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
+ //
+ case 253: {
+ action.consumePointerTypeQualifierList();
+ break;
+ }
+
+ //
+ // Rule 257: parameter_type_list ::= parameter_list
+ //
+ case 257: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 258: parameter_type_list ::= parameter_list , ...
+ //
+ case 258: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 259: parameter_type_list ::= ...
+ //
+ case 259: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ //
+ case 262: {
+ action.consumeParameterDeclaration();
+ break;
+ }
+
+ //
+ // Rule 263: parameter_declaration ::= declaration_specifiers
+ //
+ case 263: {
+ action.consumeParameterDeclarationWithoutDeclarator();
+ break;
+ }
+
+ //
+ // Rule 266: type_id ::= specifier_qualifier_list
+ //
+ case 266: {
+ action.consumeTypeId(false);
+ break;
+ }
+
+ //
+ // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator
+ //
+ case 267: {
+ action.consumeTypeId(true);
+ break;
+ }
+
+ //
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
+ //
+ case 269: {
+ action.consumeDeclaratorWithPointer(false);
+ break;
+ }
+
+ //
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ //
+ case 270: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ //
+ case 274: {
+ action.consumeDirectDeclaratorBracketed();
+ break;
+ }
+
+ //
+ // Rule 275: array_direct_abstract_declarator ::= array_modifier
+ //
+ case 275: {
+ action.consumeDirectDeclaratorArrayDeclarator(false);
+ break;
+ }
+
+ //
+ // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ //
+ case 276: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ //
+ case 277: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 278: function_direct_abstract_declarator ::= ( )
+ //
+ case 278: {
+ action.consumeDirectDeclaratorFunctionDeclarator(false, false);
+ break;
+ }
+
+ //
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ //
+ case 279: {
+ action.consumeDirectDeclaratorFunctionDeclarator(true, false);
+ break;
+ }
+
+ //
+ // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ //
+ case 280: {
+ action.consumeDirectDeclaratorFunctionDeclarator(false, true);
+ break;
+ }
+
+ //
+ // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ //
+ case 281: {
+ action.consumeDirectDeclaratorFunctionDeclarator(true, true);
+ break;
+ }
+
+ //
+ // Rule 282: initializer ::= assignment_expression
+ //
+ case 282: {
+ action.consumeInitializer();
+ break;
+ }
+
+ //
+ // Rule 283: initializer ::= initializer_list
+ //
+ case 283: {
+ action.consumeInitializer();
+ break;
+ }
+
+ //
+ // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
+ //
+ case 284: {
+ action.consumeInitializerList();
+ break;
+ }
+
+ //
+ // Rule 285: initializer_list ::= { <openscope-ast> }
+ //
+ case 285: {
+ action.consumeInitializerList();
+ break;
+ }
+
+ //
+ // Rule 286: start_initializer_list ::= $Empty
+ //
+ case 286: {
+ action.initializerListStart();
+ break;
+ }
+
+ //
+ // Rule 287: end_initializer_list ::= $Empty
+ //
+ case 287: {
+ action.initializerListEnd();
+ break;
+ }
+
+ //
+ // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer
+ //
+ case 292: {
+ action.consumeInitializerDesignated();
+ break;
+ }
+
+ //
+ // Rule 296: designator_base ::= [ constant_expression ]
+ //
+ case 296: {
+ action.consumeDesignatorArray();
+ break;
+ }
+
+ //
+ // Rule 297: designator_base ::= . identifier_token
+ //
+ case 297: {
+ action.consumeDesignatorField();
+ break;
+ }
+
+ //
+ // Rule 298: designator ::= [ constant_expression ]
+ //
+ case 298: {
+ action.consumeDesignatorArray();
+ break;
+ }
+
+ //
+ // Rule 299: designator ::= . identifier_token
+ //
+ case 299: {
+ action.consumeDesignatorField();
+ break;
+ }
+
+ //
+ // Rule 300: translation_unit ::= external_declaration_list
+ //
+ case 300: {
+ action.consumeTranslationUnit();
+ break;
+ }
+
+ //
+ // Rule 301: translation_unit ::= $Empty
+ //
+ case 301: {
+ action.consumeTranslationUnit();
+ break;
+ }
+
+ //
+ // Rule 306: external_declaration ::= ;
+ //
+ case 306: {
+ action.consumeDeclarationEmpty();
+ break;
+ }
+
+ //
+ // Rule 307: external_declaration ::= ERROR_TOKEN
+ //
+ case 307: {
+ action.consumeDeclarationProblem();
+ break;
+ }
+
+ //
+ // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body
+ //
+ case 311: {
+ action.consumeFunctionDefinition(false);
+ break;
+ }
+
+ //
+ // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ //
+ case 312: {
+ action.consumeFunctionDefinitionKnR();
+ break;
+ }
+
+ //
+ // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ //
+ case 313: {
+ action.consumeFunctionDefinition(true);
+ break;
+ }
+
+ //
+ // Rule 314: function_body ::= { }
+ //
+ case 314: {
+ action.consumeStatementCompoundStatement(false);
+ break;
+ }
+
+ //
+ // Rule 315: function_body ::= { <openscope-ast> block_item_list }
+ //
+ case 315: {
+ action.consumeStatementCompoundStatement(true);
+ break;
+ }
+
+ //
+ // Rule 332: attribute_parameter ::= assignment_expression
+ //
+ case 332: {
+ action.consumeIgnore();
+ break;
+ }
+
+ //
+ // Rule 343: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
+ //
+ case 343: {
+ gnuAction.consumeDeclarationASM();
+ break;
+ }
+
+ //
+ // Rule 354: unary_expression ::= __alignof__ unary_expression
+ //
+ case 354: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf);
+ break;
+ }
+
+ //
+ // Rule 355: unary_expression ::= __alignof__ ( type_id )
+ //
+ case 355: {
+ action.consumeExpressionTypeId(IASTTypeIdExpression.op_alignof);
+ break;
+ }
+
+ //
+ // Rule 356: unary_expression ::= typeof unary_expression
+ //
+ case 356: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 357: unary_expression ::= typeof ( type_id )
+ //
+ case 357: {
+ action.consumeExpressionTypeId(IASTTypeIdExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 358: relational_expression ::= relational_expression >? shift_expression
+ //
+ case 358: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_max);
+ break;
+ }
+
+ //
+ // Rule 359: relational_expression ::= relational_expression <? shift_expression
+ //
+ case 359: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_min);
+ break;
+ }
+
+ //
+ // Rule 360: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression
+ //
+ case 360: {
+ action.consumeExpressionConditional();
+ break;
+ }
+
+ //
+ // Rule 361: primary_expression ::= ( compound_statement )
+ //
+ case 361: {
+ gnuAction.consumeCompoundStatementExpression();
+ break;
+ }
+
+ //
+ // Rule 362: labeled_statement ::= case case_range_expression : statement
+ //
+ case 362: {
+ action.consumeStatementCase();
+ break;
+ }
+
+ //
+ // Rule 363: case_range_expression ::= constant_expression ... constant_expression
+ //
+ case 363: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign);
+ break;
+ }
+
+ //
+ // Rule 367: typeof_type_specifier ::= typeof unary_expression
+ //
+ case 367: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 368: typeof_type_specifier ::= typeof ( type_id )
+ //
+ case 368: {
+ action.consumeExpressionTypeId(IASTTypeIdExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 369: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
+ //
+ case 369: {
+ action.consumeDeclarationSpecifiersTypeof();
+ break;
+ }
+
+ //
+ // Rule 385: field_name_designator ::= identifier_token :
+ //
+ case 385: {
+ action.consumeDesignatorFieldGCC();
+ break;
+ }
+
+ //
+ // Rule 386: array_range_designator ::= [ constant_expression ... constant_expression ]
+ //
+ case 386: {
+ action.consumeDesignatorArrayRange();
+ break;
+ }
+
+ //
+ // Rule 387: designated_initializer ::= <openscope-ast> field_name_designator initializer
+ //
+ case 387: {
+ action.consumeInitializerDesignated();
+ break;
+ }
+
+ //
+ // Rule 388: block_item ::= normal_function_definition
+ //
+ case 388: {
+ action.consumeStatementDeclaration();
+ break;
+ }
+
+ //
+ // Rule 392: type_id ::= vector_type
+ //
+ case 392: {
+ action.consumeTypeId(false);
+ break;
+ }
+
+ //
+ // Rule 393: type_id ::= vector_type abstract_declarator
+ //
+ case 393: {
+ action.consumeTypeId(true);
+ break;
+ }
+
+ //
+ // Rule 394: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ;
+ //
+ case 394: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 395: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt
+ //
+ case 395: {
+ action.consumeVectorTypeSpecifier();
+ break;
+ }
+
+ //
+ // Rule 396: vector_type_specifier ::= vector_type_specifier_token
+ //
+ case 396: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 418: declarator_id_name ::= pixel
+ //
+ case 418: {
+ action.consumeIdentifierName();
+ break;
+ }
+
+ //
+ // Rule 419: declarator_id_name ::= vector
+ //
+ case 419: {
+ action.consumeIdentifierName();
+ break;
+ }
+
+ //
+ // Rule 420: declarator_id_name ::= bool
+ //
+ case 420: {
+ action.consumeIdentifierName();
+ break;
+ }
+
+ default:
+ break;
+ }
+ return;
+ }
+}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java
index 1608857eff1..2b3cdd11a3c 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java
@@ -18,2156 +18,1081 @@ package org.eclipse.cdt.internal.core.lrparser.xlc.c;
public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsersym {
- public interface IsKeyword {
- public final static byte isKeyword[] = {0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0
- };
- };
- public final static byte isKeyword[] = IsKeyword.isKeyword;
- public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
-
- public interface BaseCheck {
- public final static short baseCheck[] = {0,
- 0,0,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3,1,
- 1,4,4,3,3,2,2,4,1,0,
- 1,1,2,2,2,2,2,2,2,2,
- 2,4,1,4,1,3,3,3,1,3,
- 3,1,3,3,1,3,3,3,3,1,
- 3,3,1,3,1,3,1,3,1,3,
- 1,3,1,5,1,3,3,3,3,3,
- 3,3,3,3,3,3,1,1,2,1,
- 0,1,3,1,1,1,1,1,1,1,
- 1,3,4,3,2,4,1,2,1,1,
- 1,2,5,7,5,1,0,7,2,5,
- 9,8,3,2,2,2,3,2,4,2,
- 2,2,2,2,1,1,1,1,2,1,
- 2,2,2,1,2,2,1,2,2,1,
- 2,2,1,2,2,1,3,1,3,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 6,8,0,0,1,1,3,3,3,0,
- 1,0,1,2,4,2,1,1,1,3,
- 1,1,2,3,7,8,0,1,0,1,
- 3,1,3,1,1,1,1,1,1,3,
- 1,1,1,1,1,3,1,2,2,1,
- 5,3,1,3,5,1,3,1,3,2,
- 4,3,5,4,6,6,3,5,1,3,
- 4,5,6,0,1,2,1,3,1,1,
- 3,2,1,1,1,1,2,1,2,3,
- 1,1,1,3,1,2,2,2,3,4,
- 5,1,1,7,3,0,0,1,1,3,
- 3,4,1,1,2,3,2,3,2,1,
- 0,1,2,1,1,1,1,1,2,1,
- 3,6,4,2,4,1,1,1,1,2,
- 6,3,1,3,1,4,0,1,1,1,
- 3,1,0,4,3,1,2,1,3,4,
- 4,4,6,1,0,1,3,1,3,0,
- 1,4,5,2,4,2,4,3,3,5,
- 3,4,3,1,2,2,2,4,2,1,
- 1,2,2,3,2,2,3,1,1,1,
- 1,1,1,1,2,5,3,1,1,1,
- 1,1,2,4,5,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2,1,
- 0,1,0,1,1,1,1,1,1,1,
- -115,0,-2,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-8,0,
- 0,0,0,0,0,-66,-94,0,0,-54,
- 0,0,0,-33,0,-252,0,0,0,0,
- 0,-89,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-35,
- 0,0,0,0,0,0,-49,0,0,0,
- -87,-12,0,0,0,0,0,0,0,-70,
- 0,0,0,0,0,0,0,0,0,-128,
- -11,0,0,0,0,0,0,0,0,-14,
- -43,-6,0,0,-52,0,-352,-266,0,0,
- 0,0,0,0,-15,0,0,0,0,-3,
- 0,0,0,-16,-67,0,0,0,0,0,
- 0,0,0,0,-365,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-145,
- 0,0,0,0,0,-55,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -236,0,0,0,0,0,0,0,0,0,
- 0,0,0,-27,0,0,-56,0,-158,0,
- 0,0,0,0,0,0,0,-51,0,0,
- 0,0,0,0,0,0,0,0,0,-50,
- -4,0,0,0,0,0,0,0,0,-233,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-178,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-185,0,-117,0,-28,-232,0,
- -29,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-309,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-39,0,0,
- 0,0,0,0,-40,0,0,0,0,-30,
- 0,0,0,0,0,0,0,-71,0,0,
- 0,0,0,0,0,0,-258,-173,0,0,
- 0,0,0,0,0,0,0,-359,0,0,
- 0,0,0,0,0,0,-31,0,-95,-121,
- 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,-5,-270,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-262,0,0,0,-279,-116,0,
- 0,0,-118,0,-361,0,0,0,0,0,
- 0,0,0,-339,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -234,0,0,0,0,0,0,0,0,-36,
- -42,0,0,0,0,0,0,0,-45,0,
- 0,0,0,0,0,-122,0,0,-260,0,
- 0,0,-375,0,0,0,0,0,0,0,
- 0,-327,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-46,0,
- 0,0,-86,0,0,0,0,0,0,0,
- 0,-48,0,0,-324,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-254,0,-53,0,0,0,0,0,0,
- -93,0,0,-65,0,0,0,0,0,-80,
- 0,0,0,0,0,0,0,0,-44,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-58,0,0,0,0,-177,0,0,-151,
- 0,0,0,0,0,0,0,0,0,0,
- -130,0,-124,0,0,0,0,0,0,-59,
- 0,0,0,0,0,0,-60,0,0,0,
- 0,0,0,0,0,0,0,-261,0,-97,
- 0,0,0,0,0,0,0,0,0,0,
- -127,-119,0,0,0,-155,0,0,0,-63,
- 0,0,0,-79,0,0,0,0,0,-271,
- 0,-18,-81,-99,0,0,-101,0,0,0,
- 0,0,0,0,0,-82,-163,0,0,0,
- 0,0,0,0,0,-96,-323,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-193,0,0,-231,0,0,0,0,0,
- 0,0,0,-142,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-100,0,
- 0,0,-68,0,-188,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-196,-195,0,-102,0,0,0,0,0,
- 0,-189,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-110,-153,-272,
- 0,0,-69,0,0,0,0,0,0,0,
- 0,0,0,-201,0,0,0,0,0,0,
- 0,0,-152,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-273,0,
- -38,0,0,-283,0,0,0,0,0,0,
- 0,0,0,-123,0,0,0,-217,0,-200,
- 0,0,0,0,0,0,-129,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-144,-131,0,0,0,0,0,0,
- 0,0,0,0,-348,0,0,-132,-23,-275,
- -357,-146,0,0,0,0,0,0,0,0,
- 0,0,0,0,-347,0,-133,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-10,
- -202,0,0,0,0,0,-134,-111,0,0,
- 0,0,-57,0,0,0,0,0,-34,0,
- -328,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -218,0,-135,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-165,0,0,-229,
- 0,-112,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-287,0,0,
- -199,0,0,0,-154,0,0,-334,-172,0,
- 0,0,0,0,0,0,0,0,-355,0,
- -203,0,0,0,0,0,0,0,0,0,
- -374,0,0,0,0,0,0,0,-136,0,
- 0,0,0,0,0,-259,-137,0,0,0,
- 0,0,-204,0,0,0,0,0,0,0,
- 0,0,-161,-326,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-138,-205,0,
- 0,0,0,0,0,0,0,0,-175,-240,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-139,-206,0,0,0,0,0,
- 0,0,0,-237,0,0,0,0,0,0,
- 0,0,-166,0,0,0,0,0,0,-140,
- -207,0,0,0,0,0,0,0,0,-257,
- 0,0,-241,0,0,0,0,0,-168,0,
- 0,0,0,0,0,-143,-208,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-176,0,0,0,0,0,
- 0,-147,-209,0,0,0,0,0,0,0,
- 0,-265,0,0,-311,0,0,0,0,0,
- -180,0,0,0,0,0,0,-148,-210,0,
- 0,0,0,0,0,0,0,-335,0,0,
- -338,0,0,0,0,0,-181,0,0,0,
- 0,0,0,-156,-211,0,0,0,0,0,
- 0,0,0,-157,0,-362,0,0,0,0,
- 0,0,-182,0,0,0,0,0,0,-159,
- -212,0,0,0,0,0,0,0,0,-354,
- 0,0,-340,0,0,0,0,0,-183,0,
- 0,0,0,0,0,-160,-213,0,0,0,
- 0,0,0,0,0,-184,0,0,-194,0,
- 0,0,0,0,-349,0,0,0,0,0,
- 0,-269,0,0,0,-61,0,-358,0,-162,
- 0,0,0,0,0,0,0,0,0,0,
- -164,-280,0,-167,0,0,0,0,0,0,
- -198,-367,0,0,0,0,0,0,0,-169,
- 0,0,0,0,0,0,-377,0,0,0,
- -179,0,0,0,0,-190,0,-230,0,-191,
- 0,0,0,0,0,0,0,-381,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -285,0,0,0,0,0,0,0,0,-376,
- -197,-239,0,0,0,0,0,0,-235,0,
- 0,0,0,0,0,-244,-286,0,0,0,
- 0,0,0,0,0,-385,0,-248,-249,0,
- 0,0,0,0,-263,0,0,0,0,0,
- 0,-264,-317,0,0,0,0,0,0,0,
- 0,-253,-120,0,0,0,0,0,0,0,
- -281,0,0,0,0,0,0,-325,0,0,
- 0,0,0,0,0,0,-289,-290,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-291,-292,-336,0,-293,0,0,0,
- 0,0,0,-388,-294,-295,0,0,0,0,
- 0,0,-255,0,0,0,0,0,0,-296,
- -337,0,0,0,0,0,0,0,0,-297,
- 0,0,-298,0,0,0,0,0,-299,0,
- 0,0,0,0,0,-300,-350,0,0,0,
- 0,0,0,0,0,-256,-243,0,0,0,
- 0,0,0,0,-301,0,0,0,0,0,
- 0,-363,0,0,0,0,0,0,0,0,
- -302,-303,0,-304,0,0,0,0,0,0,
- 0,0,0,0,0,0,-305,-306,-371,0,
- -307,0,0,0,0,0,0,-277,-308,-313,
- 0,0,0,0,0,0,-284,0,0,0,
- 0,0,0,-378,0,0,0,0,0,0,
- 0,0,-351,-360,0,0,0,0,0,0,
- 0,-312,0,0,0,0,0,0,-364,-369,
- -384,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,0,0,0,0,
- 0,-251,0,0,0,0,0,0,0,-314,
- 0,0,0,0,-92,-76,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-78,
- -315,0,-320,0,0,0,0,0,0,0,
- 0,0,-330,-331,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-98,0,0,0,0,-245,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-333,0,0,0,-9,0,0,-356,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-103,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-238,0,0,
- 0,0,0,0,0,-368,0,0,0,0,
- -13,-379,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-387,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-274,0,0,0,0,0,
- 0,0,0,0,0,-322,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,-246,0,0,0,0,0,0,
- 0,0,0,0,0,0,-83,0,0,0,
- -187,0,0,0,0,0,0,0,0,0,
- -370,0,0,-7,0,0,0,0,0,0,
- 0,0,0,0,0,-267,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-310,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-150,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-219,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-88,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-91,0,0,0,
- 0,0,0,0,0,0,0,0,0,-17,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-84,0,
- 0,0,-346,-1,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,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-250,0,0,0,-288,0,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,0,-343,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,0,0,0,0,0,0,-104,0,
- 0,0,0,-316,0,0,-171,0,0,0,
- 0,0,0,-318,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -141,0,0,0,0,0,0,0,0,0,
- 0,0,0,-342,0,0,0,0,0,0,
- 0,0,0,-329,0,0,0,0,0,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,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-345,0,0,0,0,0,0,
- 0,-382,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-386,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-25,0,0,0,-389,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-220,0,0,
- 0,0,0,0,0,0,0,-113,0,0,
- 0,0,0,0,0,0,0,0,0,-221,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-222,0,0,0,
- 0,0,0,0,0,-276,0,0,0,0,
- 0,0,0,0,0,0,0,0,-19,0,
- 0,0,-332,0,0,0,0,0,0,0,
- 0,0,0,-22,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-24,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -32,0,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,-223,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-224,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -225,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-226,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-227,0,0,0,0,0,0,0,
- 0,-26,0,0,0,0,0,0,-228,0,
- 0,0,0,0,0,0,0,-242,0,0,
- -20,0,0,0,0,-105,0,0,0,0,
- 0,0,0,0,0,0,0,0,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,-107,0,0,0,0,0,0,
- 0,0,0,0,-108,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-109,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-282,
- 0,0,0,0,0,-125,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-41,0,0,0,
- -47,0,0,0,0,0,0,0,0,0,
- 0,0,0,-114,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-73,0,
- 0,0,0,0,0,0,0,0,0,-74,
- 0,0,0,0,0,0,0,0,-75,0,
- 0,0,0,0,0,0,0,-90,-170,0,
- 0,0,0,-186,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-214,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-215,0,0,0,0,0,0,0,
- 0,0,-268,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-216,0,0,0,
- 0,0,0,0,0,-319,-321,0,0,0,
- -21,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-77,0,0,0,0,0,
- 0,0,0,-174,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-192,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-37,0,0,
- 0,0,-85,0,0,0,0,0,0,0,
- -353,0,0,0,0,0,-372,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -341,-366,0,0,0,0,0,0,0,0,
- -373,0,-380,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -383,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0
- };
- };
- public final static short baseCheck[] = BaseCheck.baseCheck;
- public final int baseCheck(int index) { return baseCheck[index]; }
- public final static short rhs[] = baseCheck;
- public final int rhs(int index) { return rhs[index]; };
-
- public interface BaseAction {
- public final static char baseAction[] = {
- 127,2,128,54,54,18,18,59,59,25,
- 25,1,1,3,3,3,3,4,4,4,
- 5,6,6,6,6,6,6,6,6,98,
- 98,108,7,7,7,7,7,7,7,7,
- 7,7,7,8,8,13,13,13,13,14,
- 14,14,15,15,15,16,16,16,16,16,
- 17,17,17,19,19,20,20,21,21,22,
- 22,23,23,24,24,28,28,28,28,28,
- 28,28,28,28,28,28,28,43,33,26,
- 129,129,109,109,64,44,44,44,44,44,
- 44,44,45,45,45,30,30,110,110,89,
- 89,46,46,47,47,47,82,82,48,48,
- 48,48,48,49,49,49,49,49,61,61,
- 29,29,29,29,29,50,50,50,73,73,
- 91,91,91,91,92,92,92,93,93,93,
- 94,94,94,95,95,95,90,90,83,83,
- 84,51,53,53,53,53,53,67,68,68,
- 68,68,68,68,68,68,68,68,68,68,
- 77,74,74,130,131,78,78,75,75,75,
- 99,111,111,112,112,100,100,100,60,132,
- 132,113,101,101,101,76,76,133,114,114,
- 115,115,102,102,31,32,32,32,52,56,
- 56,37,37,37,37,34,34,35,38,38,
- 39,36,36,103,103,40,135,135,134,134,
- 58,58,58,58,58,58,58,58,58,116,
- 65,65,65,65,41,96,96,86,86,86,
- 87,87,79,79,136,136,66,66,88,88,
- 88,69,69,69,70,71,71,71,72,72,
- 72,72,85,85,55,55,57,138,137,137,
- 137,137,117,139,140,140,141,141,142,142,
- 127,127,143,143,118,118,118,118,144,144,
- 119,119,119,80,120,120,9,9,9,27,
- 27,10,10,145,145,121,121,121,122,122,
- 146,146,123,123,11,11,147,147,124,124,
- 124,124,12,62,148,148,149,149,125,125,
- 125,104,104,104,7,7,7,7,16,16,
- 24,4,45,150,97,97,97,81,81,29,
- 61,50,84,84,84,113,113,113,133,130,
- 131,41,99,141,141,151,152,117,89,68,
- 68,68,66,66,63,42,106,107,107,107,
- 107,107,107,107,107,107,126,126,154,154,
- 153,153,105,105,61,1,1,1,35,35,
- 35,359,1770,452,17,21,18,1054,1247,45,
- 371,316,317,318,1264,1297,1278,1363,1327,334,
- 1447,1439,1504,1478,1530,75,1506,790,2619,92,
- 1323,2144,136,214,2517,20,790,17,21,18,
- 1054,367,2306,20,232,17,21,18,1054,1247,
- 45,138,135,137,161,1264,1297,1278,1363,1327,
- 668,1447,1439,1504,1478,1530,75,483,140,167,
- 282,1506,626,2661,1339,144,147,150,153,1062,
- 2625,20,364,17,21,18,1054,43,40,232,
- 503,689,2231,2470,2889,2904,2918,283,2951,1556,
- 396,626,1310,180,2796,1696,511,846,503,3207,
- 1766,371,316,317,318,610,320,316,317,318,
- 337,255,214,335,685,2544,20,159,17,21,
- 18,1054,356,136,214,750,767,225,233,255,
- 214,725,225,230,219,718,222,224,323,1734,
- 1452,180,138,135,137,161,1560,324,1734,371,
- 316,317,318,2033,1076,320,316,317,318,140,
- 167,1364,1523,2095,396,1339,144,147,150,153,
- 1062,136,214,364,828,346,1321,816,188,1523,
- 1731,1153,311,2231,2470,2889,2904,2918,1636,2951,
- 138,135,137,161,1341,492,1194,511,3427,960,
- 1182,38,951,2177,111,87,322,140,167,96,
- 1697,313,1153,1339,144,147,150,153,1062,336,
- 285,364,1463,1816,95,97,98,99,100,1584,
- 180,2231,2470,2889,2904,2918,88,2951,371,316,
- 317,318,769,1998,1936,511,816,31,957,2625,
- 20,999,17,21,18,1054,43,45,439,314,
- 136,214,1264,1297,1278,1363,1327,295,1447,1984,
- 2436,20,834,17,21,18,1054,1247,45,138,
- 135,137,161,1264,1297,1278,1363,1327,521,1447,
- 1439,1504,1478,1530,75,406,140,167,282,28,
- 1002,1556,1712,144,147,150,153,1062,2625,20,
- 364,17,21,18,1054,43,39,1364,1356,1835,
- 2231,2470,2889,2904,2918,283,2951,1556,927,20,
- 834,17,21,18,1054,1247,45,1017,1997,1696,
- 668,1264,1297,1278,1363,1327,229,1447,1439,1504,
- 1478,1530,75,228,25,288,282,334,2725,20,
- 1401,17,21,18,1054,1247,45,893,1019,1320,
- 659,1264,1297,1278,1363,1327,181,1447,1439,1504,
- 1478,1530,75,283,1704,1556,1240,289,1506,1182,
- 2893,1102,128,816,31,2463,20,987,17,21,
- 18,1054,1247,45,1181,2049,279,1621,1264,1297,
- 1278,1363,1327,290,1447,1439,1504,1478,1530,75,
- 210,2625,20,282,17,21,18,1054,43,45,
- 684,48,814,1842,1264,1297,1278,1363,1327,684,
- 1447,1439,1504,2001,1076,291,1191,261,105,1166,
- 283,659,1556,2490,20,394,17,21,18,1054,
- 1247,45,503,337,129,347,1264,1297,1278,1363,
- 1327,343,1447,1439,1504,1478,1530,75,198,1217,
- 387,282,925,617,20,510,17,21,18,1054,
- 1247,45,771,255,214,1364,1264,1297,1278,1363,
- 1327,24,1447,1439,1504,1478,1530,75,283,1446,
- 1556,1041,2825,20,1039,17,21,18,1054,1247,
- 45,217,1731,421,1269,1264,1297,1278,1363,1327,
- 1483,1447,1439,1504,1478,1530,75,240,292,38,
- 332,3268,226,2034,555,294,111,87,876,194,
- 1377,96,816,187,205,825,384,702,1419,3323,
- 1,1731,421,631,1463,109,95,97,98,99,
- 100,1010,20,1131,17,21,18,1054,43,36,
- 1394,1129,110,370,414,111,87,816,189,1377,
- 96,725,225,230,219,718,222,224,1356,1835,
- 1269,388,631,1463,109,95,97,98,99,100,
- 107,788,1615,264,1153,275,816,1543,342,315,
- 182,110,370,414,919,247,268,1162,1135,273,
- 1969,990,590,1060,38,330,2627,38,90,748,
- 388,319,316,317,318,265,1095,2625,20,108,
- 17,21,18,1054,43,45,1119,1704,2113,576,
- 1264,1297,1278,1363,1327,242,1447,1439,1504,1478,
- 1530,94,288,1731,421,2625,20,349,17,21,
- 18,1054,43,45,38,28,591,1556,1264,1297,
- 1278,1363,1327,262,1447,1439,1982,111,87,1348,
- 210,1377,96,2571,20,1080,17,21,18,1054,
- 354,1829,1087,1842,631,1463,109,95,97,98,
- 99,100,788,2625,20,912,17,21,18,1054,
- 1247,45,587,110,370,414,1264,1297,1278,1363,
- 1327,1699,1447,1439,1504,1478,1530,75,1269,1191,
- 1988,92,388,2598,20,1670,17,21,18,1054,
- 41,107,450,276,721,20,361,17,21,18,
- 1054,1247,45,893,125,1153,22,1264,1297,1278,
- 1363,1327,1224,1447,1439,1504,1478,1530,75,1989,
- 277,446,1398,3207,145,1731,421,1828,126,88,
- 320,316,317,318,691,28,1490,1556,2625,20,
- 788,17,21,18,1054,43,45,507,241,111,
- 87,1264,1877,1377,96,725,225,230,219,718,
- 222,224,1766,1400,1684,570,631,1463,109,95,
- 97,98,99,100,28,1364,1556,3413,47,1048,
- 1997,805,893,106,2218,110,370,414,319,316,
- 317,318,1282,312,244,2825,20,635,17,21,
- 18,1054,1247,45,388,631,1716,128,1264,1297,
- 1278,1363,1327,108,1447,1439,1504,1478,1530,75,
- 446,586,3211,332,309,370,414,405,1269,319,
- 316,317,318,1594,182,28,28,1556,1556,1381,
- 180,1187,320,316,317,318,674,1221,371,316,
- 317,318,256,214,725,225,922,219,718,222,
- 909,2625,20,1387,17,21,18,1054,43,45,
- 136,214,256,214,1264,1878,3408,893,1017,2082,
- 2625,20,1269,17,21,18,1054,43,45,139,
- 135,137,161,1264,1297,1278,1363,1327,788,1965,
- 19,503,128,156,861,1191,141,167,788,38,
- 869,1028,1010,145,148,151,154,1062,331,1257,
- 365,2625,20,521,17,21,18,1054,1247,45,
- 124,50,255,214,1264,1297,1278,1363,1327,830,
- 1447,1439,1504,1478,1530,75,893,1239,2276,86,
- 256,214,243,2625,20,969,17,21,18,1054,
- 1247,45,245,1191,816,1835,1264,1297,1278,1363,
- 1327,196,1447,1439,1504,1478,1530,75,1176,2625,
- 20,85,17,21,18,1054,1247,45,112,555,
- 1191,528,1264,1297,1278,1363,1327,1321,1447,1439,
- 1504,1478,1530,75,419,2625,20,84,17,21,
- 18,1054,1247,45,38,127,700,1791,1264,1297,
- 1278,1363,1327,797,1447,1439,1504,1478,1530,75,
- 554,2625,20,83,17,21,18,1054,1247,45,
- 38,1852,3347,1191,1264,1297,1278,1363,1327,482,
- 1447,1439,1504,1478,1530,75,1745,2625,20,82,
- 17,21,18,1054,1247,45,211,339,123,284,
- 1264,1297,1278,1363,1327,1269,1447,1439,1504,1478,
- 1530,75,1289,2625,20,81,17,21,18,1054,
- 1247,45,1125,231,892,1191,1264,1297,1278,1363,
- 1327,1269,1447,1439,1504,1478,1530,75,1927,2625,
- 20,80,17,21,18,1054,1247,45,788,1060,
- 3441,1786,1264,1297,1278,1363,1327,1269,1447,1439,
- 1504,1478,1530,75,1219,2625,20,79,17,21,
- 18,1054,1247,45,1403,1180,816,297,1264,1297,
- 1278,1363,1327,1269,1447,1439,1504,1478,1530,75,
- 1598,2625,20,78,17,21,18,1054,1247,45,
- 1364,1219,246,1191,1264,1297,1278,1363,1327,1269,
- 1447,1439,1504,1478,1530,75,1663,2625,20,77,
- 17,21,18,1054,1247,45,1269,2265,3442,1269,
- 1264,1297,1278,1363,1327,2685,1447,1439,1504,1478,
- 1530,75,1584,180,1280,76,1107,23,1364,1718,
- 1357,371,316,317,318,320,316,317,318,206,
- 195,1453,2625,20,1687,17,21,18,1054,1247,
- 45,1269,1191,136,214,1264,1297,1278,1363,1327,
- 1928,1447,1439,1504,1478,1530,75,816,299,352,
- 93,1391,139,135,137,161,1505,3453,2625,20,
- 2333,17,21,18,1054,43,45,1431,1191,141,
- 167,1264,1297,1278,1363,1981,145,148,151,154,
- 1062,2625,20,365,17,21,18,1054,1247,45,
- 1330,1290,73,118,1264,1297,1278,1363,1327,1759,
- 1447,1439,1504,1478,1530,75,1710,2625,20,1408,
- 17,21,18,1054,1247,45,788,235,1819,456,
- 1264,1297,1278,1363,1327,752,1447,1439,1504,1478,
- 1530,75,1725,2625,20,1618,17,21,18,1054,
- 43,45,1269,38,296,1153,1264,1297,1278,1363,
- 1327,2398,1447,1439,1504,1478,1530,94,2625,20,
- 321,17,21,18,1054,43,45,1458,1490,88,
- 298,1264,1297,1278,1363,1327,1152,1447,1439,1504,
- 1478,1530,94,1807,1865,2625,20,1395,17,21,
- 18,1054,1247,45,788,1552,191,363,1264,1297,
- 1278,1363,1327,1269,1447,1439,1504,1478,1530,75,
- 845,2625,20,360,17,21,18,1054,1247,45,
- 923,341,213,1140,1264,1297,1278,1363,1327,1329,
- 1447,1439,1504,1478,1530,75,1368,2625,20,74,
- 17,21,18,1054,43,45,1269,38,386,1153,
- 1264,1297,1278,1363,1327,1347,1447,1439,1504,1478,
- 1530,94,2625,20,340,17,21,18,1054,43,
- 45,1556,1498,88,1104,1264,1297,1278,1363,1327,
- 2042,1447,1439,1504,1478,1530,94,1943,1944,2625,
- 20,1294,17,21,18,1054,43,45,1269,1570,
- 1723,203,1264,1297,1278,1363,1327,1269,1447,1439,
- 1504,1478,1530,94,2625,20,274,17,21,18,
- 1054,43,45,1999,1874,353,1800,1264,1297,1278,
- 1363,1327,1269,1447,1439,1504,1478,1530,94,2000,
- 1824,2625,20,3781,17,21,18,1054,43,45,
- 2674,3781,3781,204,1264,1297,1278,1363,1327,1597,
- 1447,1439,1504,1478,1530,94,3781,3781,320,316,
- 317,318,446,3781,3346,3781,3781,3781,1826,3781,
- 1269,319,316,317,318,2679,2652,20,3781,17,
- 21,18,1054,34,371,316,317,318,2707,1221,
- 874,1269,421,1820,3781,1904,725,225,922,219,
- 718,222,224,408,1269,3781,136,214,3781,2734,
- 3781,326,319,316,317,318,88,3781,3408,198,
- 1178,3781,280,1382,1692,138,135,137,161,38,
- 2069,1153,2838,319,316,317,318,725,225,230,
- 220,718,222,224,1155,156,861,3781,2964,3781,
- 3224,3269,869,1269,3781,88,1328,446,3781,3207,
- 1269,275,2090,3781,3781,521,319,316,317,318,
- 3781,1281,270,1162,1135,273,1744,3781,281,3781,
- 3781,406,396,3781,1221,319,316,317,318,3781,
- 3781,725,225,230,219,718,222,224,446,3781,
- 3207,408,3781,2069,3781,3781,1269,319,316,317,
- 318,2238,1269,3408,3781,3781,3781,1489,3781,3781,
- 371,316,317,318,1778,1221,1269,3781,395,2410,
- 2773,3781,725,225,230,219,718,222,224,3781,
- 156,861,136,214,2800,2371,20,860,17,21,
- 18,1054,43,44,3408,1750,846,3781,3207,3781,
- 3781,143,135,137,161,319,316,317,318,2625,
- 20,3781,17,21,18,1054,43,38,142,167,
- 3781,156,861,527,38,3781,1153,3781,869,3781,
- 725,225,230,219,718,222,224,446,3781,3207,
- 28,2867,1556,2579,3781,3781,319,316,317,318,
- 88,906,2033,3207,508,3781,522,2111,3781,278,
- 319,316,317,318,1221,3781,1142,3781,2684,3781,
- 3781,725,225,230,219,718,222,224,527,306,
- 3781,3781,3781,797,278,725,225,230,219,718,
- 222,224,2244,3408,1153,3781,631,3421,3781,275,
- 725,225,230,219,718,222,224,2033,3781,199,
- 268,1162,1135,273,3781,305,370,414,88,3781,
- 157,861,954,3781,275,116,3781,3781,1705,2008,
- 2752,3781,3781,3781,310,268,1162,1135,273,371,
- 316,317,318,2625,20,3781,17,21,18,1054,
- 43,45,3421,3781,2008,3781,1893,709,3781,3781,
- 3781,136,214,3781,200,3781,319,316,317,318,
- 3781,3781,303,304,1673,3781,3781,709,3781,3781,
- 138,135,137,161,2069,3781,319,316,317,318,
- 2852,725,225,230,220,718,222,224,1155,371,
- 316,317,318,2964,2069,3781,3781,3781,3781,3781,
- 3781,725,225,1608,220,718,222,1582,1155,1600,
- 3781,136,214,709,430,3781,522,3781,320,316,
- 317,318,319,316,317,318,406,396,3781,3781,
- 146,135,137,161,3781,1655,1731,1153,3781,306,
- 2069,3781,3781,797,3781,3781,409,725,225,1608,
- 220,718,222,224,1155,3781,631,3781,3781,3781,
- 111,87,1716,1731,1153,96,1010,20,3781,17,
- 21,18,1054,43,36,305,370,414,1463,104,
- 95,97,98,99,100,3781,3781,111,87,1501,
- 3781,659,96,3781,310,38,3781,1153,319,316,
- 317,318,3781,3781,3781,1463,102,95,97,98,
- 99,100,3781,3781,3781,709,2069,3781,987,3781,
- 248,88,3781,3781,319,316,317,318,2226,444,
- 1050,659,302,304,1777,1731,1153,1094,3781,659,
- 3781,423,2069,3781,1838,1731,1153,3781,3781,767,
- 225,234,3781,3781,2876,3781,1155,2334,987,111,
- 87,3781,3781,3781,96,3781,198,3781,260,111,
- 87,502,3781,659,96,2124,1761,1463,362,95,
- 97,98,99,100,1899,1731,1153,1463,103,95,
- 97,98,99,100,1555,3781,659,1446,3781,3781,
- 987,3781,3781,319,316,317,318,3781,260,111,
- 87,3781,3781,3781,96,1575,1761,1960,1731,1153,
- 3781,2069,3781,987,3781,3781,3781,1463,120,95,
- 97,98,99,100,3781,1050,3781,193,3781,3781,
- 3781,3781,111,87,2021,1731,1153,96,747,879,
- 260,3781,2082,1731,1153,3781,3781,1575,1761,2123,
- 1463,115,95,97,98,99,100,3781,3781,111,
- 87,3781,3781,260,96,3781,3781,111,87,3781,
- 2124,1761,96,2143,1731,1153,3781,1463,2050,95,
- 97,98,99,100,3781,1463,114,95,97,98,
- 99,100,3781,3781,3781,1809,1324,3781,111,87,
- 2204,1731,1153,96,3781,319,316,317,318,3781,
- 3781,3781,3781,3781,3781,3781,1463,122,95,97,
- 98,99,100,2069,3781,111,87,3781,2625,20,
- 96,17,21,18,1054,43,45,1050,2696,3781,
- 3274,1894,3781,1463,121,95,97,98,99,100,
- 2625,20,3781,17,21,18,1054,43,45,3781,
- 3781,2605,3781,1264,1297,1278,1897,2625,20,3781,
- 17,21,18,1054,43,45,1251,3781,3781,3781,
- 1264,1297,1278,1905,3781,319,316,317,318,2862,
- 3781,3781,3781,444,3781,659,275,3781,371,316,
- 317,318,3781,2069,2893,3781,3781,268,1162,1135,
- 273,3781,3781,371,316,317,318,1155,2903,3781,
- 136,214,987,3781,3781,3781,393,371,316,317,
- 318,3781,3781,3781,275,136,214,3781,3781,149,
- 135,137,161,3781,3781,270,1162,1135,273,136,
- 214,2934,3781,3781,152,135,137,161,3781,3781,
- 371,316,317,318,2944,3781,3781,3781,155,135,
- 137,161,260,371,316,317,318,3781,3781,2180,
- 1761,3781,136,214,2625,20,3781,17,21,18,
- 1054,43,45,3781,3781,136,214,1264,1297,1906,
- 3781,366,135,137,161,2625,20,3781,17,21,
- 18,1054,43,45,139,135,137,161,1264,1297,
- 1920,2625,20,3781,17,21,18,1054,43,45,
- 3781,3781,3781,3781,1264,1297,1930,2625,20,3781,
- 17,21,18,1054,43,45,3781,3781,3781,3781,
- 1264,1297,1933,2625,20,3781,17,21,18,1054,
- 43,45,476,3781,3207,3781,1264,1297,1939,2625,
- 20,3781,17,21,18,1054,43,45,890,3781,
- 421,557,1264,1297,1946,3781,874,3781,421,3781,
- 319,316,317,318,3781,3781,725,225,230,219,
- 718,222,224,874,88,421,3781,1282,1333,3781,
- 3781,116,88,3781,3781,198,1178,3781,954,1382,
- 631,3781,3781,3781,874,3781,421,3781,2838,88,
- 3781,3781,198,1178,3781,874,1382,421,3781,2372,
- 370,414,3781,3781,3781,2838,3224,3781,3781,874,
- 88,421,1601,198,1178,3781,3781,1382,3781,3781,
- 1595,88,3781,3224,198,1178,2838,3781,1382,1627,
- 874,3781,421,3781,3781,88,1748,2838,198,1178,
- 607,3781,1382,3781,3224,320,316,317,318,3781,
- 1653,2838,3781,3781,3781,3224,88,3781,3781,198,
- 1178,1679,3781,1382,3781,3781,3781,1324,3781,3224,
- 3781,1324,2838,3781,3781,1696,319,316,317,318,
- 319,316,317,318,2769,3781,3274,3781,3781,3781,
- 3224,3781,3781,3781,2069,3781,2173,3781,2069,2625,
- 20,3781,17,21,18,1054,43,37,1050,3781,
- 2625,20,1050,17,21,18,1054,43,36,2625,
- 20,3781,17,21,18,1054,43,35,1255,1804,
- 570,3781,2437,3781,1324,3781,2457,3781,320,316,
- 317,318,275,319,316,317,318,3781,3781,3781,
- 3781,3781,3781,268,1162,1135,273,1282,3781,2625,
- 20,2069,17,21,18,1054,43,48,3781,3781,
- 631,3781,267,2625,20,1050,17,21,18,1054,
- 43,47,3781,1324,3781,3781,3781,3781,3781,308,
- 370,414,319,316,317,318,3781,2625,20,2876,
- 17,21,18,1054,43,46,1324,1238,3781,659,
- 2069,1038,3781,3781,3781,319,316,317,318,3781,
- 319,316,317,318,1050,2652,20,3781,17,21,
- 18,1054,33,2069,1744,3781,198,3781,1333,3781,
- 3781,3781,3781,319,316,317,318,1050,2123,2798,
- 20,3781,17,21,18,1054,1861,3781,3781,3781,
- 3781,2069,3781,3781,3781,3781,3781,1446,1550,3781,
- 3781,2503,1263,1682,3781,1592,3781,319,316,317,
- 318,1814,319,316,317,318,3781,1870,3781,3781,
- 319,316,317,318,3781,2499,319,316,317,318,
- 3176,2244,2244,1153,1153,3781,3781,193,3451,3781,
- 982,1873,3781,2244,3471,1153,3781,3781,1275,879,
- 320,316,317,318,3781,3781,3781,88,88,3781,
- 3781,1926,3781,3781,116,116,3781,3781,3781,88,
- 320,316,317,318,3781,3781,116,3781,3781,3781,
- 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781,
- 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781,
- 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781,
- 3781,3781,3781,1742,2232,3781,3781,3781,3781,3781,
- 3781,3781,3781,3781,3781,2246,3781,0,1,540,
- 0,1,520,0,1,535,0,1,544,0,
- 678,413,0,520,130,0,535,130,0,544,
- 130,0,520,131,0,535,131,0,544,131,
- 0,520,132,0,535,132,0,544,132,0,
- 544,186,0,535,186,0,520,186,0,186,
- 190,0,544,185,0,535,185,0,520,185,
- 0,185,190,0,520,133,0,535,133,0,
- 544,133,0,520,134,0,535,134,0,544,
- 134,0,417,420,0,416,419,0,415,418,
- 0,11,227,0,520,369,0,535,369,0,
- 544,369,0,4197,412,0,224,236,0,3789,
- 1,0,544,381,0,535,381,0,520,381,
- 0,1042,32,0,1853,32,0,520,411,0,
- 535,411,0,544,411,0,4180,411,0,4178,
- 411,0,544,254,0,535,254,0,520,254,
- 0,4197,413,0,1,4019,0,224,237,0,
- 520,407,0,535,407,0,544,407,0,3999,
- 407,0,3998,407,0,3997,407,0,3996,407,
- 0,3947,407,0,3946,407,0,3945,407,0,
- 3944,407,0,3943,407,0,520,410,0,535,
- 410,0,544,410,0,4180,410,0,4178,410,
- 0,180,20,0,8,10,0,2010,119,0,
- 1,4201,0,1,4200,0,1,4199,0,1,
- 4008,0,367,356,0,368,357,0,113,2742,
- 0
- };
- };
- public final static char baseAction[] = BaseAction.baseAction;
- public final int baseAction(int index) { return baseAction[index]; }
- public final static char lhs[] = baseAction;
- public final int lhs(int index) { return lhs[index]; };
-
- public interface TermCheck {
- public final static byte termCheck[] = {0,
- 0,1,2,3,4,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,0,38,39,
- 40,41,42,43,44,45,0,0,48,0,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,65,66,67,68,69,
- 70,71,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,0,
- 38,39,40,41,42,43,44,45,72,73,
- 48,74,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
- 68,69,70,71,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,0,38,39,40,41,42,43,44,45,
- 0,10,48,0,50,51,52,53,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,68,69,70,71,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,0,38,39,40,41,42,43,
- 44,45,72,73,48,0,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,68,69,70,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,0,38,39,40,41,42,
- 43,44,45,0,1,48,0,50,51,52,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,65,66,67,68,69,70,0,1,
- 2,3,4,5,28,7,8,9,10,11,
- 12,13,14,15,16,17,0,19,20,21,
- 22,23,24,25,26,27,28,29,30,0,
- 32,33,34,35,36,0,1,39,40,41,
- 42,43,44,45,0,0,1,0,1,2,
- 3,4,5,55,7,8,9,10,0,61,
- 62,63,64,65,66,67,68,69,70,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,37,0,37,0,1,2,3,4,
- 5,0,7,8,9,0,27,28,29,30,
- 31,32,33,34,35,36,0,38,39,40,
- 41,42,43,44,45,0,1,2,3,4,
- 5,0,0,2,55,3,4,6,84,85,
- 61,62,63,64,65,66,67,68,69,70,
- 19,0,0,2,49,87,0,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 0,39,40,41,42,43,44,45,47,27,
- 28,29,89,104,27,28,29,30,31,32,
- 33,34,35,36,89,38,39,40,41,42,
- 43,44,45,0,0,104,0,37,2,3,
- 4,5,55,7,8,9,0,11,61,62,
- 63,64,65,66,67,68,69,70,0,1,
- 74,27,28,29,6,0,0,1,10,0,
- 89,13,14,15,16,17,7,8,9,93,
- 94,95,96,97,98,99,100,101,102,0,
- 1,104,27,28,29,37,0,1,2,3,
- 4,5,6,37,46,0,10,11,12,13,
- 14,15,16,17,0,19,20,21,22,23,
- 24,25,26,18,91,92,30,13,14,71,
- 72,73,74,75,76,77,78,79,80,81,
- 82,83,84,85,86,87,88,0,90,91,
- 92,93,94,95,96,97,98,99,100,101,
- 102,0,1,0,0,1,19,6,0,6,
- 0,10,2,5,13,14,15,16,17,0,
- 10,0,1,2,3,4,5,6,0,1,
- 2,3,4,5,31,7,8,9,37,103,
- 0,1,2,3,4,5,6,46,0,46,
- 10,11,12,13,14,15,16,17,37,19,
- 20,21,22,23,24,25,26,46,47,0,
- 30,0,71,72,73,74,75,76,77,78,
- 79,80,81,82,83,84,85,86,87,88,
- 0,90,91,92,93,94,95,96,97,98,
- 99,100,101,102,0,1,37,0,18,0,
- 6,2,0,6,10,0,0,13,14,15,
- 16,17,6,0,0,1,2,3,4,5,
- 6,7,8,9,10,0,27,2,3,4,
- 5,37,18,103,75,74,11,0,1,0,
- 46,27,28,29,30,31,32,33,34,35,
- 36,37,46,47,0,0,1,2,3,4,
- 5,47,7,8,9,71,72,73,74,75,
- 76,77,78,79,80,81,82,83,84,85,
- 86,87,88,0,90,91,92,93,94,95,
- 96,97,98,99,100,101,102,0,1,0,
- 103,18,0,6,49,6,7,10,6,0,
- 13,14,15,16,17,0,1,2,3,4,
- 5,0,7,8,9,86,72,73,0,1,
- 31,10,0,31,37,0,0,1,2,3,
- 4,5,6,46,16,17,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,0,49,37,0,1,71,72,
- 73,74,75,76,77,78,79,80,81,82,
- 83,84,85,86,87,88,0,90,91,92,
- 93,94,95,96,97,98,99,100,101,102,
- 0,1,0,75,72,73,6,71,0,1,
- 10,0,1,13,14,15,16,17,90,0,
- 1,2,3,4,5,6,0,1,0,10,
- 11,12,13,14,15,16,17,37,19,20,
- 21,22,23,24,25,26,46,0,0,2,
- 3,4,5,0,7,8,9,0,11,2,
- 3,4,5,0,7,8,9,19,11,0,
- 1,71,72,73,74,75,76,77,78,79,
- 80,81,82,83,84,85,86,87,88,0,
- 90,91,92,93,94,95,96,97,98,99,
- 100,101,102,0,0,2,3,4,5,6,
- 7,8,9,0,11,12,0,89,2,3,
- 4,5,103,7,8,9,37,11,0,1,
- 27,28,29,30,0,32,33,34,35,36,
- 0,38,39,40,41,42,43,44,45,0,
- 46,0,1,2,3,4,5,6,55,19,
- 0,27,28,29,61,62,63,64,65,66,
- 67,68,69,70,71,0,0,2,3,4,
- 5,6,7,8,9,0,11,12,37,0,
- 0,0,2,3,4,5,0,6,47,86,
- 0,11,27,28,29,30,6,32,33,34,
- 35,36,0,38,39,40,41,42,43,44,
- 45,72,73,27,28,29,0,37,0,1,
- 55,31,6,7,8,9,61,62,63,64,
- 65,66,67,68,69,70,71,0,0,2,
- 3,4,5,6,7,8,9,31,11,12,
- 0,1,71,15,0,75,0,7,8,9,
- 10,7,46,88,27,28,29,30,0,32,
- 33,34,35,36,6,38,39,40,41,42,
- 43,44,45,27,28,29,0,37,0,0,
- 74,2,55,0,6,7,8,9,61,62,
- 63,64,65,66,67,68,69,70,71,0,
- 1,2,3,4,5,47,7,8,9,31,
- 11,12,0,0,2,3,4,5,0,0,
- 7,8,9,11,46,6,27,28,29,30,
- 18,32,33,34,35,36,0,0,39,40,
- 41,42,43,44,45,0,0,2,3,4,
- 5,15,74,0,55,18,11,0,0,6,
- 61,62,63,64,65,66,67,68,69,70,
- 0,88,2,3,4,5,0,7,8,9,
- 0,11,12,0,0,2,3,4,5,0,
- 72,73,0,1,11,49,7,27,28,29,
- 30,18,32,33,34,35,36,18,89,39,
- 40,41,42,43,44,45,0,0,2,3,
- 4,5,103,6,71,55,46,11,0,72,
- 73,61,62,63,64,65,66,67,68,69,
- 70,0,0,2,3,4,5,0,7,8,
- 9,0,11,12,78,79,80,81,82,83,
- 13,14,78,79,80,81,82,83,27,28,
- 29,30,0,32,33,34,35,36,6,0,
- 39,40,41,42,43,44,45,0,71,0,
- 0,49,13,14,0,0,55,7,8,9,
- 10,6,61,62,63,64,65,66,67,68,
- 69,70,0,1,2,3,4,5,6,47,
- 0,49,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,0,
- 46,0,47,31,0,0,7,8,9,0,
- 38,7,8,9,10,0,7,8,9,0,
- 48,2,50,51,52,53,54,0,56,57,
- 58,59,60,0,87,2,3,4,5,89,
- 7,8,9,0,11,12,0,0,1,0,
- 7,8,9,7,8,9,7,8,9,0,
- 27,28,29,30,0,32,33,34,35,36,
- 6,0,39,40,41,42,43,44,45,78,
- 79,80,81,82,83,0,1,0,55,84,
- 85,6,0,89,61,62,63,64,65,66,
- 67,68,69,70,0,1,2,3,4,5,
- 6,47,0,1,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,0,47,0,0,31,0,1,7,8,
- 9,0,38,10,0,0,0,2,7,8,
- 9,6,48,0,50,51,52,53,54,0,
- 56,57,58,59,60,0,1,2,3,4,
- 5,6,0,1,0,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,47,0,0,49,31,0,0,46,
- 7,8,9,38,7,8,9,48,0,76,
- 77,0,18,48,6,50,51,52,53,54,
- 46,56,57,58,59,60,0,1,2,3,
- 4,5,6,0,0,0,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,0,46,47,0,31,0,0,
- 7,8,9,0,38,0,10,0,0,0,
- 7,8,9,0,48,6,50,51,52,53,
- 54,46,56,57,58,59,60,0,1,2,
- 3,4,5,6,0,0,0,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,0,46,47,49,31,0,
- 0,0,0,0,10,38,7,8,9,7,
- 8,9,76,77,0,48,0,50,51,52,
- 53,54,0,56,57,58,59,60,0,1,
- 2,3,4,5,6,0,0,0,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,0,0,0,105,31,
- 0,0,7,8,9,0,38,0,0,0,
- 76,77,0,0,18,18,48,74,50,51,
- 52,53,54,18,56,57,58,59,60,0,
- 1,2,3,4,5,6,0,0,0,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,18,0,0,0,
- 31,49,49,0,0,0,0,38,0,0,
- 0,0,0,0,0,18,18,48,0,50,
- 51,52,53,54,18,56,57,58,59,60,
- 0,1,2,3,4,5,6,0,0,0,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,49,49,0,
- 49,31,49,49,0,0,0,0,38,0,
- 0,0,0,0,0,0,0,18,48,0,
- 50,51,52,53,54,18,56,57,58,59,
- 60,0,1,2,3,4,5,6,0,0,
- 0,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,49,49,
- 0,0,31,0,0,0,0,0,0,38,
- 0,0,0,0,0,0,0,0,0,48,
- 0,50,51,52,53,54,0,56,57,58,
- 59,60,0,1,2,3,4,5,6,0,
- 0,0,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,0,
- 0,0,0,31,0,0,0,0,0,0,
- 38,0,0,0,0,0,0,0,0,0,
- 48,0,50,51,52,53,54,0,56,57,
- 58,59,60,0,1,2,3,4,5,6,
- 0,0,0,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 0,0,0,0,31,0,0,0,0,0,
- 0,38,0,0,7,8,9,0,0,6,
- 0,48,0,50,51,52,53,54,0,56,
- 57,58,59,60,27,28,29,30,0,32,
- 33,34,35,36,31,0,39,40,41,42,
- 43,44,45,0,0,0,0,0,0,0,
- 47,0,55,0,0,0,0,0,61,62,
- 63,64,65,66,67,0,1,2,3,4,
- 5,0,0,0,0,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,0,1,2,3,4,5,6,7,
- 8,9,10,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,27,
- 28,29,30,31,32,33,34,35,36,37,
- 0,1,2,3,4,5,0,0,0,47,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,0,1,2,
- 3,4,5,6,7,8,9,10,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,27,28,29,30,31,32,
- 33,34,35,36,37,0,1,2,3,4,
- 5,0,0,0,47,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,0,1,2,3,4,5,0,0,
- 0,0,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,0,
- 1,2,3,4,5,0,0,0,0,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,0,1,2,3,
- 4,5,0,0,0,0,10,11,12,13,
- 14,15,16,17,0,19,20,21,22,23,
- 24,25,26,0,1,2,3,4,5,0,
- 0,0,0,10,11,12,13,14,15,16,
- 17,0,19,20,21,22,23,24,25,26,
- 0,1,2,3,4,5,0,0,0,0,
- 10,11,12,13,14,15,16,17,0,19,
- 20,21,22,23,24,25,26,0,1,2,
- 3,4,5,0,0,0,0,10,11,12,
- 13,14,15,16,17,0,19,20,21,22,
- 23,24,25,26,0,1,2,3,4,5,
- 0,0,0,0,10,11,12,13,14,15,
- 16,17,0,19,20,21,22,23,24,25,
- 26,0,1,2,3,4,5,0,0,0,
- 0,10,11,12,13,14,15,16,17,0,
- 19,20,21,22,23,24,25,26,0,0,
- 0,3,4,0,0,7,8,9,0,0,
- 6,0,0,0,0,0,1,0,0,0,
- 0,6,0,0,0,27,28,29,30,0,
- 32,33,34,35,36,31,0,39,40,41,
- 42,43,44,45,0,1,2,3,4,5,
- 46,0,37,0,10,11,12,13,14,15,
- 16,17,47,19,20,21,22,23,24,25,
- 26,0,0,0,3,4,0,0,7,8,
- 9,0,0,0,0,0,0,0,0,1,
- 0,0,0,0,6,0,0,0,27,28,
- 29,30,0,32,33,34,35,36,0,0,
- 39,40,41,42,43,44,45,0,1,2,
- 3,4,5,0,0,37,0,10,11,12,
- 13,14,15,16,17,47,19,20,21,22,
- 23,24,25,26,0,1,2,3,4,5,
- 0,0,0,0,10,11,12,13,14,15,
- 16,17,0,19,20,21,22,23,24,25,
- 26,0,0,0,0,0,0,0,7,8,
- 9,0,0,0,0,0,0,1,7,8,
- 9,0,6,0,0,0,0,0,27,28,
- 29,30,0,32,33,34,35,36,27,28,
- 29,30,0,32,33,34,35,36,0,7,
- 8,9,0,37,0,0,0,0,0,7,
- 8,9,0,47,0,0,0,0,0,27,
- 28,29,30,0,32,33,34,35,36,27,
- 28,29,30,0,32,33,34,35,36,0,
- 7,8,9,0,0,0,0,0,0,0,
- 7,8,9,0,0,0,0,0,0,0,
- 27,28,29,30,0,32,33,34,35,36,
- 27,28,29,30,0,32,33,34,35,36,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0
- };
- };
- public final static byte termCheck[] = TermCheck.termCheck;
- public final int termCheck(int index) { return termCheck[index]; }
-
- public interface TermAction {
- public final static char termAction[] = {0,
- 3781,1,6262,6206,6203,6205,1802,3538,1,1,
- 1,6261,1,1,1,1,1,1,819,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,3790,1,1,1,1,1,1,3882,1,
- 1,1,1,1,1,1,55,158,1644,287,
- 1179,1077,1405,1720,609,1,1634,1046,1686,1203,
- 1660,1,1,1,1,1,1,1,1,1,
- 1,3788,8,3754,3754,3754,3754,3754,3754,3754,
- 3754,3754,3754,3754,3754,3754,3754,3754,3754,3754,
- 3754,3754,3754,3754,3754,3754,3754,3754,3754,3754,
- 3754,3754,3754,3754,3754,3754,3754,3754,3754,3781,
- 3754,3754,3754,3754,3754,3754,3754,3754,1238,1361,
- 3754,462,3754,3754,3754,3754,3754,3754,3754,3754,
- 3754,3754,3754,3754,3754,3754,3754,3754,3754,3754,
- 3754,3754,3754,3754,3781,1,6262,6206,6203,6205,
- 1802,3538,1,1,1,6261,1,1,1,1,
- 1,1,819,1,1,1,1,1,1,1,
- 1,1,1,1,1,3790,1,1,1,1,
- 1,3781,3882,1,1,1,1,1,1,1,
- 359,2196,1644,3781,1179,1077,1405,1720,609,1,
- 1634,1046,1686,1203,1660,1,1,1,1,1,
- 1,1,1,1,1,3788,3781,1,6262,6206,
- 6203,6205,3791,3538,1,1,1,6261,1,1,
- 1,1,1,1,819,1,1,1,1,1,
- 1,1,1,1,1,1,1,3790,1,1,
- 1,1,1,3781,3882,1,1,1,1,1,
- 1,1,1238,1361,1644,3781,1179,1077,1405,1720,
- 609,1,1634,1046,1686,1203,1660,1,1,1,
- 1,1,1,1,1,1,1,3781,1,6262,
- 6206,6203,6205,3791,3538,1,1,1,6261,1,
- 1,1,1,1,1,819,1,1,1,1,
- 1,1,1,1,1,1,1,1,3790,1,
- 1,1,1,1,3781,3882,1,1,1,1,
- 1,1,1,3781,480,1644,345,1179,1077,1405,
- 1720,609,1,1634,1046,1686,1203,1660,1,1,
- 1,1,1,1,1,1,1,1,3781,3135,
- 3792,4196,4198,3691,4125,544,520,535,3250,3793,
- 3389,3239,2289,3259,3365,2096,3781,3797,1183,3794,
- 3795,3796,738,500,1133,3996,3998,3997,3945,3781,
- 3946,3944,3999,3947,3943,3781,618,3950,3954,3952,
- 3953,3951,3956,3957,63,223,491,269,2346,4008,
- 4199,4201,4200,3955,544,520,535,254,69,3949,
- 3958,3959,3960,4170,4171,4172,1279,3351,3081,3781,
- 1,1,1,1,1,3791,3538,1,1,1,
- 1,1,913,1,913,1,3062,4008,4199,4201,
- 4200,3781,3547,3541,3544,3781,1,1,1,1,
- 3790,1,1,1,1,1,3781,4088,1,1,
- 1,1,1,1,1,1,3062,4008,4199,4201,
- 4200,3781,3781,1956,1,4178,4180,3787,2867,2850,
- 1,1,1,1,1,1,1,1,1,1,
- 1913,1,3781,3694,2634,679,43,3781,1,1,
- 1,1,1,3791,3538,1,1,1,1,1,
- 221,4183,4179,4185,4186,4184,4181,4182,3786,3996,
- 3998,3997,4040,301,1,1,1,1,3790,1,
- 1,1,1,1,1843,4088,1,1,1,1,
- 1,1,1,73,250,3537,186,913,3589,3589,
- 3589,3589,1,3580,3586,3583,3781,3589,1,1,
- 1,1,1,1,1,1,1,1,1,4198,
- 1687,1,1,1,4198,249,271,818,4198,183,
- 4040,4198,4198,4198,4198,4198,544,520,535,1661,
- 1635,1609,1583,1557,1505,1531,1479,1453,1421,3781,
- 525,300,3996,3998,3997,4198,1,3135,3792,4196,
- 4198,4197,3785,913,4198,3781,1001,3793,545,3239,
- 2289,3259,3365,2096,52,3797,1183,3794,3795,3796,
- 738,500,1133,630,851,640,788,2828,2423,4198,
- 4198,4198,4198,4198,4198,4198,4198,4198,4198,4198,
- 4198,4198,4198,4198,4198,4198,4198,350,4198,4198,
- 4198,4198,4198,4198,4198,4198,4198,4198,4198,4198,
- 4198,1,4197,3781,3781,944,1063,4197,3781,3791,
- 3781,4197,1741,487,4197,4197,4197,4197,4197,3781,
- 1801,1,2346,4008,4199,4201,4200,263,254,3062,
- 4008,4199,4201,4200,3790,544,520,535,4197,3784,
- 3781,3135,3792,4196,4198,4197,3785,4197,3781,2317,
- 2556,3793,545,3239,2289,3259,3365,2096,913,3797,
- 1183,3794,3795,3796,738,500,1133,263,263,293,
- 1817,212,4197,4197,4197,4197,4197,4197,4197,4197,
- 4197,4197,4197,4197,4197,4197,4197,4197,4197,4197,
- 230,4197,4197,4197,4197,4197,4197,4197,4197,4197,
- 4197,4197,4197,4197,1,4196,2024,3781,233,327,
- 4196,4109,3781,3785,4196,3781,3781,4196,4196,4196,
- 4196,4196,3787,3781,357,368,368,368,368,368,
- 3775,368,368,368,3775,3781,4110,3792,4196,4198,
- 4197,4196,5629,3784,1757,1868,3793,417,3622,67,
- 4196,368,368,368,368,3775,368,368,368,368,
- 368,368,456,3786,358,1,3062,4008,4199,4201,
- 4200,3775,3547,3541,3544,4196,4196,4196,4196,4196,
- 4196,4196,4196,4196,4196,4196,4196,4196,4196,4196,
- 4196,4196,4196,1,4196,4196,4196,4196,4196,4196,
- 4196,4196,4196,4196,4196,4196,4196,1,3793,1,
- 3784,819,1,3793,1947,117,3538,3793,3791,3781,
- 3793,3793,3793,3793,3793,1,3062,4008,4199,4201,
- 4200,3781,3547,3541,3544,1380,1238,1361,32,3661,
- 117,3374,59,3790,3793,3781,1,3135,5192,4986,
- 4780,4883,29,3793,3807,3808,3250,5089,545,3239,
- 2289,3259,3365,2096,5629,3797,1183,3794,3795,3796,
- 738,500,1133,3781,1947,3664,416,3625,3793,3793,
- 3793,3793,3793,3793,3793,3793,3793,3793,3793,3793,
- 3793,3793,3793,3793,3793,3793,3781,3793,3793,3793,
- 3793,3793,3793,3793,3793,3793,3793,3793,3793,3793,
- 1,3792,3781,823,1238,1361,3792,29,415,3628,
- 3792,11,3631,3792,3792,3792,3792,3792,676,3781,
- 3135,3792,4196,4198,4197,3785,3781,446,1,3250,
- 3793,545,3239,2289,3259,3365,2096,3792,3797,1183,
- 3794,3795,3796,738,500,1133,3792,185,3781,3601,
- 3601,3601,3601,3781,3592,3598,3595,207,3601,6251,
- 6251,6251,6251,3781,544,520,535,1030,6251,351,
- 1234,3792,3792,3792,3792,3792,3792,3792,3792,3792,
- 3792,3792,3792,3792,3792,3792,3792,3792,3792,272,
- 3792,3792,3792,3792,3792,3792,3792,3792,3792,3792,
- 3792,3792,3792,3781,348,1,1,1,1,192,
- 1,1,1,68,1,1,378,4039,6259,6259,
- 6259,6259,3784,544,520,535,913,6259,338,1549,
- 1,1,1,1,251,1,1,1,1,1,
- 3781,3978,1,1,1,1,1,1,1,58,
- 1003,1,2346,3769,3766,3760,3763,3787,1,1063,
- 3781,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,192,3781,3781,1,1,1,
- 1,191,1,1,1,71,1,1,913,3781,
- 3781,1,3792,4196,4198,4197,252,3649,3786,1380,
- 3781,3793,1,1,1,1,3791,1,1,1,
- 1,1,3781,3978,1,1,1,1,1,1,
- 1,1238,1361,3996,3998,3997,236,1972,3781,3078,
- 1,3790,224,3646,3646,3646,1,1,1,1,
- 1,1,1,1,1,1,191,3781,65,1,
- 1,1,1,192,1,1,1,224,1,1,
- 269,2321,3788,1768,1,1646,253,544,520,535,
- 254,3538,224,1105,1,1,1,1,3781,1,
- 1,1,1,1,3787,3978,1,1,1,1,
- 1,1,1,3996,3998,3997,3781,913,237,3781,
- 224,2017,1,72,224,3697,3697,3697,1,1,
- 1,1,1,1,1,1,1,1,192,1,
- 3062,730,681,604,3550,3786,3547,3541,3544,224,
- 3793,454,3781,254,3792,4196,4198,4197,57,3781,
- 544,520,535,3793,224,3785,3996,3998,3997,3945,
- 1064,3946,3944,3999,3947,3943,66,3781,3950,3954,
- 3952,3953,3951,3956,3957,209,3781,3792,4196,4198,
- 4197,1768,224,3781,3955,1409,3793,56,3781,3789,
- 3949,3958,3959,3960,4170,4171,4172,1279,3351,3081,
- 3781,1105,3792,4196,4198,3643,60,544,520,535,
- 257,3793,454,3781,62,3792,4196,4198,4197,1,
- 1238,1361,3781,1957,3793,2525,3538,3996,3998,3997,
- 3945,1067,3946,3944,3999,3947,3943,819,2051,3950,
- 3954,3952,3953,3951,3956,3957,208,286,1464,1464,
- 1464,1464,3784,1114,3788,3955,798,1464,3781,1238,
- 1361,3949,3958,3959,3960,4170,4171,4172,1279,3351,
- 3081,3781,3781,3792,4196,4198,3691,54,544,520,
- 535,3781,3793,454,3069,3053,3037,3021,3005,2984,
- 2828,2423,3069,3053,3037,3021,3005,2984,3996,3998,
- 3997,3945,3781,3946,3944,3999,3947,3943,3787,53,
- 3950,3954,3952,3953,3951,3956,3957,70,1114,3781,
- 1,2552,2828,2423,89,1,3955,3547,3541,3544,
- 254,3787,3949,3958,3959,3960,4170,4171,4172,1279,
- 3351,3081,3781,1,6262,6206,6203,6205,3791,3786,
- 3781,770,1,6261,1,1,1,1,1,1,
- 819,1,1,1,1,1,1,1,1,160,
- 1732,61,3786,3790,1,64,544,520,535,379,
- 3882,3547,3541,3544,254,3781,544,520,535,3781,
- 1644,4020,1179,1077,1405,1720,609,3781,1634,1046,
- 1686,1203,1660,3781,679,3792,4196,4198,4197,4040,
- 544,520,535,382,3793,454,381,3781,2149,373,
- 544,520,535,3652,3658,3655,544,520,535,3781,
- 3996,3998,3997,3945,1,3946,3944,3999,3947,3943,
- 91,3781,3950,3954,3952,3953,3951,3956,3957,3069,
- 3053,3037,3021,3005,2984,3781,447,3781,3955,2867,
- 2850,3787,3781,4040,3949,3958,3959,3960,4170,4171,
- 4172,1279,3351,3081,3781,1,6262,6206,6203,6205,
- 3791,91,3781,2304,1,6261,1,1,1,1,
- 1,1,819,1,1,1,1,1,1,1,
- 1,372,3786,49,3781,3790,325,942,544,520,
- 535,184,3882,3337,3781,3781,1,1086,544,520,
- 535,3787,1644,30,1179,1077,1405,1720,609,119,
- 1634,1046,1686,1203,1660,3781,1,6262,6206,6203,
- 6205,3791,3781,2585,208,1,6261,1,1,1,
- 1,1,1,819,1,1,1,1,1,1,
- 1,1,3786,254,3781,2,3790,374,3781,3810,
- 3682,3688,3685,3882,544,520,535,3757,3781,3313,
- 3299,3781,1514,1644,3787,1179,1077,1405,1720,609,
- 5628,1634,1046,1686,1203,1660,3781,1,6262,6206,
- 6203,6205,3791,3781,3781,30,1,6261,1,1,
- 1,1,1,1,819,1,1,1,1,1,
- 1,1,1,380,2009,3786,51,3790,3781,3781,
- 544,520,535,201,3882,3781,3337,3781,3781,3781,
- 544,520,535,113,1644,3787,1179,1077,1405,1720,
- 609,758,1634,1046,1686,1203,1660,3781,1,6262,
- 6206,6203,6205,3791,3781,3781,3781,1,6261,1,
- 1,1,1,1,1,819,1,1,1,1,
- 1,1,1,1,50,1295,3786,2624,3790,375,
- 3781,3781,376,3781,3337,3882,544,520,535,544,
- 520,535,3313,3299,3781,1644,3781,1179,1077,1405,
- 1720,609,3781,1634,1046,1686,1203,1660,3781,1,
- 6262,6206,6203,6205,3791,3781,3781,3781,1,6261,
- 1,1,1,1,1,1,819,1,1,1,
- 1,1,1,1,1,377,230,3781,3778,3790,
- 3781,3781,544,520,535,368,3882,3781,3781,3781,
- 3313,3299,3781,3781,234,1540,1644,883,1179,1077,
- 1405,1720,609,5629,1634,1046,1686,1203,1660,3781,
- 1,6262,6206,6203,6205,3791,3781,3781,357,1,
- 6261,1,1,1,1,1,1,819,1,1,
- 1,1,1,1,1,1,5629,355,42,3781,
- 3790,1895,1921,3781,3781,3781,3781,3882,202,3781,
- 3781,1,3781,1,1,5629,5629,1644,3781,1179,
- 1077,1405,1720,609,5629,1634,1046,1686,1203,1660,
- 3781,1,6262,6206,6203,6205,3791,3781,3781,3781,
- 1,6261,1,1,1,1,1,1,819,1,
- 1,1,1,1,1,1,1,1999,4166,190,
- 4198,3790,4197,4196,3781,3781,3781,382,3882,1,
- 1,3781,3781,3781,3781,3781,3781,207,1644,3781,
- 1179,1077,1405,1720,609,378,1634,1046,1686,1203,
- 1660,3781,1,6262,6206,6203,6205,3791,3781,3781,
- 3781,1,6261,1,1,1,1,1,1,819,
- 1,1,1,1,1,1,1,1,3793,3792,
- 3781,3781,3790,3781,3781,3781,3781,3781,3781,3882,
- 3781,3781,3781,3781,3781,3781,3781,3781,3781,1644,
- 3781,1179,1077,1405,1720,609,3781,1634,1046,1686,
- 1203,1660,3781,1,6262,6206,6203,6205,3791,3781,
- 3781,3781,1,6261,1,1,1,1,1,1,
- 819,1,1,1,1,1,1,1,1,3781,
- 3781,3781,3781,3790,3781,3781,3781,3781,3781,3781,
- 3882,3781,3781,3781,3781,3781,3781,3781,3781,3781,
- 1644,3781,1179,1077,1405,1720,609,3781,1634,1046,
- 1686,1203,1660,3781,1,6262,6206,6203,6205,3791,
- 3781,3781,3781,1,6261,1,1,1,1,1,
- 1,819,1,1,1,1,1,1,1,1,
- 3781,3781,3781,3781,3790,3781,3781,130,3781,3781,
- 3781,3882,3781,1,3559,3553,3556,3781,3781,117,
- 3781,1644,3781,1179,1077,1405,1720,609,3781,1634,
- 1046,1686,1203,1660,3996,3998,3997,3945,3781,3946,
- 3944,3999,3947,3943,117,3781,3950,3954,3952,3953,
- 3951,3956,3957,3781,3781,3781,3781,3781,3781,3781,
- 117,3781,3955,3781,3781,3781,3781,3781,3949,3958,
- 3959,3960,4170,4171,4172,3781,3135,3792,4196,4198,
- 4197,3781,3781,3781,3781,3250,3793,545,3239,2289,
- 3259,3365,2096,5629,3797,1183,3794,3795,3796,738,
- 500,1133,20,3751,180,180,180,180,3751,180,
- 180,180,3751,3781,3781,3781,3781,3781,3781,3781,
- 3781,3781,3781,3781,3781,3781,3781,3781,3781,180,
- 180,180,180,3751,180,180,180,180,180,3751,
- 3781,3135,3792,4196,4198,4197,3781,3781,3781,3751,
- 3250,3793,545,3239,2289,3259,3365,2096,5629,3797,
- 1183,3794,3795,3796,738,500,1133,356,367,367,
- 367,367,367,3772,367,367,367,3772,3781,3781,
- 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781,
- 3781,3781,3781,3781,367,367,367,367,3772,367,
- 367,367,367,367,367,1,3135,5192,4986,4780,
- 4883,3781,3781,3781,3772,3250,5089,545,3239,2289,
- 3259,3365,2096,5629,3797,1183,3794,3795,3796,738,
- 500,1133,383,3135,3792,4196,4198,4197,3781,3781,
- 3781,3781,3250,3793,545,3239,2289,3259,3365,2096,
- 5629,3797,1183,3794,3795,3796,738,500,1133,3781,
- 3135,3792,4196,4198,4197,3781,3781,3781,3781,3250,
- 3793,545,3239,2289,3259,3365,2096,5629,3797,1183,
- 3794,3795,3796,738,500,1133,3781,2110,3792,4196,
- 4198,4197,3781,3781,3781,3781,3250,3793,545,3239,
- 2289,3259,3365,2096,3781,3797,1183,3794,3795,3796,
- 738,500,1133,3781,3086,3792,4196,4198,4197,3781,
- 3781,3781,3781,3250,3793,545,3239,2289,3259,3365,
- 2096,3781,3797,1183,3794,3795,3796,738,500,1133,
- 3781,3103,3792,4196,4198,4197,3781,3781,3781,3781,
- 3250,3793,545,3239,2289,3259,3365,2096,3781,3797,
- 1183,3794,3795,3796,738,500,1133,3781,3124,3792,
- 4196,4198,4197,3781,3781,3781,3781,3250,3793,545,
- 3239,2289,3259,3365,2096,3781,3797,1183,3794,3795,
- 3796,738,500,1133,3781,3135,3792,4196,4198,4197,
- 3781,3781,3781,3781,3250,3793,545,3239,2289,3259,
- 3365,2096,3781,3797,1183,3794,3795,3796,738,500,
- 1133,3781,3149,3792,4196,4198,4197,3781,3781,3781,
- 3781,3250,3793,545,3239,2289,3259,3365,2096,3781,
- 3797,1183,3794,3795,3796,738,500,1133,411,3781,
- 3781,3679,3676,3781,3781,3673,3667,3670,3781,3781,
- 3791,3781,3781,3781,3781,1,2321,3781,3781,3781,
- 3781,392,3781,3781,3781,3996,3998,3997,3945,3781,
- 3946,3944,3999,3947,3943,3790,3781,4183,4179,4185,
- 4186,4184,4181,4182,1,3135,3792,4196,4198,4197,
- 2331,3781,913,3781,3250,3793,545,3239,2289,3259,
- 3365,2096,392,3797,1183,3794,3795,3796,738,500,
- 1133,410,3781,3781,3748,3745,3781,3781,3742,3736,
- 3739,3781,3781,3781,3781,3781,3781,3781,1,2321,
- 3781,3781,3781,3781,266,3781,3781,3781,3996,3998,
- 3997,3945,3781,3946,3944,3999,3947,3943,3781,3781,
- 4183,4179,4185,4186,4184,4181,4182,3781,3170,3792,
- 4196,4198,4197,3781,3781,913,3781,3250,3793,545,
- 3239,2289,3259,3365,2096,266,3797,1183,3794,3795,
- 3796,738,500,1133,333,3135,3792,4196,4198,4197,
- 3781,3781,3781,3781,3250,3793,545,3239,2289,3259,
- 3365,2096,3781,3797,1183,3794,3795,3796,738,500,
- 1133,131,3781,3781,3781,3781,3781,3781,3568,3562,
- 3565,132,3781,3781,3781,3781,1,2321,3577,3571,
- 3574,3781,3787,3781,3781,3781,3781,3781,3996,3998,
- 3997,3945,3781,3946,3944,3999,3947,3943,3996,3998,
- 3997,3945,133,3946,3944,3999,3947,3943,3781,3610,
- 3604,3607,134,913,3781,3781,3781,3781,3781,3619,
- 3613,3616,3781,3786,3781,3781,3781,3781,3781,3996,
- 3998,3997,3945,3781,3946,3944,3999,3947,3943,3996,
- 3998,3997,3945,369,3946,3944,3999,3947,3943,3781,
- 3640,3634,3637,407,3781,3781,3781,3781,3781,3781,
- 3706,3700,3703,3781,3781,3781,3781,3781,3781,3781,
- 3996,3998,3997,3945,3781,3946,3944,3999,3947,3943,
- 3718,3712,3715,3727,3781,3724,3730,3709,3721,3733
- };
- };
- public final static char termAction[] = TermAction.termAction;
- public final int termAction(int index) { return termAction[index]; }
-
- public interface Asb {
- public final static char asb[] = {0,
- 751,1,165,350,348,568,751,166,350,350,
- 831,141,668,166,166,166,79,658,79,658,
- 658,79,658,79,355,350,339,339,339,339,
- 166,79,33,570,9,521,227,350,105,104,
- 355,230,141,570,521,194,355,263,597,539,
- 416,704,53,136,658,662,659,662,136,662,
- 658,350,358,403,417,711,33,33,33,33,
- 33,33,33,33,33,33,33,615,297,528,
- 420,527,350,227,227,235,711,350,120,570,
- 350,679,540,3,704,703,417,267,426,141,
- 466,358,403,713,615,615,615,615,615,417,
- 417,417,411,411,555,539,662,662,273,33,
- 9,522,791,53,227,143,260,747,481,239,
- 492,497,495,505,499,508,507,510,509,511,
- 713,463,141,630,570,348,194,263,679,679,
- 539,31,522,522,662,166,166,18,166,166,
- 522,102,33,102,348,112,476,292,141,267,
- 426,466,466,403,403,417,406,570,112,417,
- 417,417,417,417,78,355,708,111,475,525,
- 301,33,540,417,33,260,666,417,747,260,
- 238,235,33,33,33,33,33,33,33,33,
- 33,33,33,33,33,33,33,33,33,33,
- 33,33,33,33,33,33,33,33,33,33,
- 33,33,55,33,112,463,118,350,536,522,
- 522,553,33,538,33,33,18,102,607,18,
- 350,3,417,272,417,417,426,463,91,426,
- 466,471,610,471,403,747,708,355,570,713,
- 360,360,360,120,141,411,417,794,711,33,
- 305,615,539,417,33,33,260,239,495,495,
- 492,492,499,499,497,497,497,497,497,497,
- 507,505,509,508,102,102,510,666,118,31,
- 522,417,166,417,417,18,33,18,355,112,
- 426,93,471,463,33,662,747,403,794,406,
- 417,713,417,260,260,33,33,471,186,522,
- 31,18,33,18,18,350,272,463,521,33,
- 517,93,518,463,403,417,364,463,116,233,
- 168,662,33,102,14,273,522,417,538,93,
- 33,518,518,297,120,532,662,33,417,273,
- 522,18,518,33,260,18,417,260,18
- };
- };
- public final static char asb[] = Asb.asb;
- public final int asb(int index) { return asb[index]; }
-
- public interface Asr {
- public final static byte asr[] = {0,
- 104,0,6,46,47,2,27,0,6,49,
- 47,19,0,74,37,75,0,51,53,18,
- 58,60,54,48,56,57,52,50,59,38,
- 31,6,1,21,22,23,2,11,3,5,
- 4,16,17,15,10,13,14,24,25,20,
- 26,12,19,0,20,21,22,23,19,2,
- 11,1,16,17,15,10,13,14,24,25,
- 12,26,5,3,4,49,0,18,37,46,
- 47,36,33,30,32,35,27,29,28,34,
- 31,6,10,2,3,5,4,1,7,9,
- 8,49,0,1,49,74,31,8,9,7,
- 37,47,6,46,0,6,71,37,75,1,
- 21,22,23,19,16,17,15,10,13,14,
- 24,25,20,26,12,2,11,3,5,4,
- 18,0,27,29,16,17,15,10,13,14,
- 24,25,20,26,12,2,11,3,5,4,
- 21,22,23,19,28,1,0,74,1,21,
- 22,23,19,16,17,15,10,13,14,24,
- 25,20,26,12,18,2,11,3,5,4,
- 37,75,0,55,68,33,40,34,41,42,
- 35,29,43,44,30,69,36,70,45,61,
- 28,62,63,64,2,11,12,27,39,32,
- 5,3,4,65,66,67,8,9,7,6,
- 46,31,74,0,27,29,28,30,16,17,
- 15,10,13,14,24,25,20,26,12,1,
- 2,11,3,5,4,21,22,23,19,103,
- 6,0,6,74,46,31,18,8,9,7,
- 0,46,20,21,22,23,11,1,16,17,
- 15,10,13,14,24,25,12,26,5,3,
- 4,47,6,2,19,0,49,89,103,71,
- 75,90,16,17,37,15,13,14,76,77,
- 72,73,78,79,80,81,84,85,86,87,
- 88,91,92,74,93,94,95,96,97,98,
- 99,100,101,102,46,82,83,47,32,27,
- 33,34,35,29,30,36,28,31,6,2,
- 1,5,3,4,8,9,7,10,0,49,
- 89,103,71,35,30,36,34,33,32,15,
- 13,14,76,77,72,73,78,79,80,81,
- 84,85,86,87,88,91,92,74,93,94,
- 95,96,97,98,99,100,101,102,82,83,
- 18,31,27,29,28,46,2,3,5,4,
- 10,8,9,7,37,1,47,6,0,6,
- 49,46,47,1,0,32,39,27,55,68,
- 33,40,34,41,42,35,29,43,44,30,
- 69,36,70,45,61,28,62,63,64,2,
- 11,12,8,9,7,5,3,4,65,66,
- 67,38,6,71,0,2,11,5,3,4,
- 6,71,46,0,37,6,46,47,1,0,
- 74,93,94,95,96,97,99,98,100,101,
- 102,10,76,77,13,14,73,72,78,79,
- 80,81,82,83,84,85,15,86,87,88,
- 89,103,47,71,91,92,49,8,9,7,
- 46,31,6,0,103,31,46,47,6,49,
- 0,103,6,89,0,47,104,105,71,51,
- 53,18,58,60,54,48,56,57,52,50,
- 59,38,6,31,21,22,23,19,16,17,
- 15,13,14,24,25,20,26,10,1,12,
- 2,11,68,69,70,61,55,62,63,64,
- 65,66,67,36,33,30,32,35,27,29,
- 28,34,7,9,8,5,3,40,4,44,
- 45,39,43,41,42,0,49,89,0,6,
- 46,71,74,0,20,21,22,23,19,1,
- 16,17,15,10,13,14,24,25,26,32,
- 39,27,55,68,33,40,34,41,42,35,
- 29,43,44,30,69,36,70,45,61,28,
- 62,63,64,12,65,66,67,18,8,9,
- 7,11,3,5,4,2,0,49,46,31,
- 61,55,62,63,64,65,66,67,37,10,
- 5,40,44,45,39,43,41,42,36,33,
- 30,32,35,27,29,28,34,3,4,7,
- 9,8,1,47,6,2,0,10,1,37,
- 47,6,32,39,55,68,33,40,34,41,
- 42,35,43,44,30,69,36,70,45,61,
- 62,63,64,2,11,12,8,9,7,5,
- 3,4,65,66,67,89,27,29,28,0,
- 104,32,39,27,55,68,33,40,34,41,
- 42,35,29,43,44,30,69,36,70,45,
- 61,28,62,63,64,11,1,12,8,9,
- 5,3,4,65,66,67,31,6,38,7,
- 2,10,0,10,32,39,27,55,68,33,
- 40,34,41,42,35,29,43,44,30,69,
- 36,70,45,61,28,62,63,64,2,11,
- 12,3,4,65,66,67,89,7,9,8,
- 5,0
- };
- };
- public final static byte asr[] = Asr.asr;
- public final int asr(int index) { return asr[index]; }
-
- public interface Nasb {
- public final static char nasb[] = {0,
- 181,34,38,94,103,23,163,34,149,117,
- 34,19,132,34,34,34,133,122,133,122,
- 122,133,122,133,188,107,34,34,34,34,
- 34,133,63,126,15,104,122,106,58,58,
- 188,34,19,94,104,34,188,34,17,49,
- 161,35,34,8,42,8,42,8,8,8,
- 42,177,34,42,161,160,63,63,63,63,
- 63,63,63,63,63,63,63,137,34,161,
- 34,34,149,42,122,77,160,120,12,205,
- 175,33,81,10,65,34,161,122,94,34,
- 94,34,122,93,137,137,137,137,137,161,
- 161,161,171,171,1,49,56,56,96,140,
- 15,104,34,15,42,62,79,21,34,78,
- 34,34,34,34,34,34,34,34,34,34,
- 195,94,34,111,26,103,34,34,133,33,
- 88,102,104,104,8,34,34,44,34,34,
- 104,34,99,34,103,161,34,161,34,42,
- 191,94,8,122,94,161,169,26,34,161,
- 161,161,161,161,155,188,158,58,58,34,
- 34,63,81,161,63,79,34,161,21,79,
- 78,124,63,63,63,63,63,63,63,63,
- 63,63,63,63,63,63,63,63,63,63,
- 63,63,63,63,63,63,63,63,63,63,
- 63,63,52,63,161,50,94,149,34,104,
- 104,199,140,34,140,140,44,34,34,44,
- 118,10,161,63,161,161,94,50,103,73,
- 8,68,34,34,94,21,168,188,126,93,
- 155,155,155,154,155,145,161,186,160,63,
- 34,137,88,161,63,63,79,78,34,34,
- 34,34,34,34,34,34,34,34,34,34,
- 34,34,34,34,34,34,34,34,61,202,
- 104,161,34,161,161,44,63,44,188,161,
- 191,149,68,50,63,8,21,124,186,143,
- 161,93,161,79,79,63,63,68,70,104,
- 202,44,140,44,44,119,63,50,104,63,
- 34,106,122,50,124,161,155,50,60,34,
- 12,8,63,34,40,202,104,161,34,149,
- 63,122,42,135,12,79,8,63,161,202,
- 104,44,42,63,79,44,161,79,44
- };
- };
- public final static char nasb[] = Nasb.nasb;
- public final int nasb(int index) { return nasb[index]; }
-
- public interface Nasr {
- public final static char nasr[] = {0,
- 73,97,94,93,78,92,91,1,0,122,
- 0,6,57,0,104,0,106,0,120,0,
- 96,0,34,2,103,97,95,94,93,78,
- 92,91,73,0,147,18,0,148,0,142,
- 0,9,0,1,43,2,44,0,2,59,
- 0,2,33,128,0,108,0,58,0,117,
- 57,2,6,0,18,124,0,98,0,1,
- 151,0,2,60,100,0,2,6,54,0,
- 29,2,42,1,43,110,0,43,1,42,
- 89,59,29,2,0,2,129,0,6,150,
- 0,33,2,25,0,9,38,34,2,0,
- 2,42,29,61,30,0,40,2,36,34,
- 38,27,0,31,0,78,74,75,76,77,
- 81,67,50,0,138,0,60,42,30,2,
- 33,0,34,38,71,70,27,0,2,34,
- 38,27,0,6,57,55,0,70,71,2,
- 18,0,2,29,42,118,0,18,34,38,
- 70,71,2,0,38,40,27,34,36,0,
- 143,2,29,42,0,2,29,27,65,0,
- 112,2,60,0,134,2,29,0,42,29,
- 61,2,82,0,29,2,42,144,0
- };
- };
- public final static char nasr[] = Nasr.nasr;
- public final int nasr(int index) { return nasr[index]; }
-
- public interface TerminalIndex {
- public final static char terminalIndex[] = {0,
- 2,87,101,102,100,89,99,97,98,9,
- 88,95,10,11,8,6,7,3,86,70,
- 83,84,85,12,13,96,50,78,66,71,
- 94,46,57,62,65,74,1,107,49,58,
- 63,64,68,69,76,42,92,79,29,47,
- 48,51,52,53,54,59,60,61,67,73,
- 77,80,81,82,103,104,105,56,72,75,
- 93,16,17,31,4,14,15,18,19,20,
- 21,43,44,22,23,24,25,26,30,5,
- 27,28,32,33,34,35,36,37,38,39,
- 40,41,91,108,55,90,106
- };
- };
- public final static char terminalIndex[] = TerminalIndex.terminalIndex;
- public final int terminalIndex(int index) { return terminalIndex[index]; }
-
- public interface NonterminalIndex {
- public final static char nonterminalIndex[] = {0,
- 113,0,0,0,0,115,119,120,197,0,
- 0,0,121,122,123,124,125,110,126,127,
- 128,129,130,0,112,0,198,131,140,136,
- 148,0,114,171,0,174,168,170,0,172,
- 0,207,132,135,0,0,0,0,0,147,
- 0,0,0,109,118,158,0,173,111,162,
- 139,0,0,134,169,117,150,0,185,186,
- 187,0,149,151,152,153,154,159,182,0,
- 205,0,155,156,157,175,181,184,138,141,
- 142,143,144,145,146,180,204,0,0,161,
- 165,167,176,202,0,208,0,116,133,137,
- 0,160,164,0,166,179,189,194,0,196,
- 0,199,0,201,0,209,0,0,0,0,
- 0,163,0,177,178,183,188,0,190,191,
- 0,192,193,195,0,0,200,0,0,203,
- 206,0,0,210,0
- };
- };
- public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
- public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
-
- public interface ScopePrefix {
- public final static char scopePrefix[] = {
- 221,275,348,239,328,144,170,176,303,118,
- 377,399,356,20,127,160,186,206,86,283,
- 338,8,54,54,78,82,94,100,132,182,
- 254,319,94,435,442,446,373,395,408,422,
- 408,362,34,46,75,27,27,136,139,191,
- 139,216,139,264,269,272,325,450,14,69,
- 106,112,152,258,106,419,429,429,1,27,
- 152,293,229,386,229,293,39,39,60,252,
- 60,60,60,60,60,323,417,39,39,64,
- 165,194,165,194,194
- };
- };
- public final static char scopePrefix[] = ScopePrefix.scopePrefix;
- public final int scopePrefix(int index) { return scopePrefix[index]; }
-
- public interface ScopeSuffix {
- public final static char scopeSuffix[] = {
- 98,98,335,98,335,150,25,25,98,124,
- 383,405,343,25,58,150,25,58,91,288,
- 343,12,58,58,58,58,98,104,58,25,
- 12,12,98,58,58,25,335,335,335,426,
- 412,366,37,37,58,25,25,58,142,25,
- 201,58,219,267,267,267,12,58,17,72,
- 109,115,167,261,17,72,432,439,4,30,
- 155,288,246,389,232,296,44,52,62,12,
- 309,311,313,315,317,12,12,41,49,66,
- 167,203,155,196,211
- };
- };
- public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
- public final int scopeSuffix(int index) { return scopeSuffix[index]; }
-
- public interface ScopeLhs {
- public final static char scopeLhs[] = {
- 76,74,48,76,48,65,58,58,74,55,
- 48,47,48,152,72,65,58,36,10,74,
- 48,63,81,7,7,121,120,80,72,58,
- 100,61,30,7,6,6,48,47,47,24,
- 47,48,113,84,4,142,141,70,88,58,
- 103,34,56,75,75,75,49,4,63,45,
- 80,117,65,100,61,45,8,6,42,152,
- 65,74,76,48,76,74,113,84,97,100,
- 95,94,93,92,91,61,46,113,84,150,
- 65,36,65,40,36
- };
- };
- public final static char scopeLhs[] = ScopeLhs.scopeLhs;
- public final int scopeLhs(int index) { return scopeLhs[index]; }
-
- public interface ScopeLa {
- public final static byte scopeLa[] = {
- 71,71,47,71,47,27,103,103,71,71,
- 47,105,31,103,47,27,103,47,47,18,
- 31,31,47,47,47,47,71,18,47,103,
- 31,31,71,47,47,103,47,47,47,49,
- 47,31,8,8,47,103,103,47,1,103,
- 2,47,2,2,2,2,31,47,2,49,
- 2,74,10,2,2,49,47,47,5,89,
- 10,18,18,48,2,2,2,2,12,31,
- 2,68,69,69,61,31,31,2,2,89,
- 10,1,10,1,1
- };
- };
- public final static byte scopeLa[] = ScopeLa.scopeLa;
- public final int scopeLa(int index) { return scopeLa[index]; }
-
- public interface ScopeStateSet {
- public final static char scopeStateSet[] = {
- 142,142,38,142,38,218,54,54,142,17,
- 38,38,38,3,58,218,54,149,168,142,
- 38,238,142,66,66,14,139,241,58,54,
- 8,238,30,66,66,66,38,38,38,102,
- 38,38,5,162,66,1,3,58,60,54,
- 227,149,155,142,142,142,38,66,238,38,
- 241,136,218,8,238,38,73,66,231,3,
- 218,142,142,38,142,142,5,162,144,8,
- 144,144,144,144,144,238,38,5,162,12,
- 218,149,218,151,149
- };
- };
- public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
- public final int scopeStateSet(int index) { return scopeStateSet[index]; }
-
- public interface ScopeRhs {
- public final static char scopeRhs[] = {0,
- 212,109,0,100,208,0,0,197,109,149,
- 0,112,0,109,149,0,141,112,0,171,
- 89,171,37,0,109,0,171,37,0,30,
- 134,109,0,208,134,0,198,0,134,0,
- 165,198,0,165,0,163,134,0,158,198,
- 0,158,0,173,1,12,0,110,0,180,
- 0,205,0,171,0,30,134,0,257,51,
- 0,29,135,0,137,1,0,173,1,26,
- 0,253,1,229,0,252,1,1,8,0,
- 110,110,0,217,109,18,0,111,0,210,
- 109,136,0,196,0,109,136,0,176,196,
- 0,246,109,0,31,157,0,205,244,109,
- 18,164,0,111,0,0,193,109,1,177,
- 0,193,109,1,0,195,1,0,172,109,
- 0,185,0,109,148,10,148,172,0,180,
- 0,148,172,0,9,0,0,180,0,109,
- 148,10,148,0,148,0,9,0,0,135,
- 30,223,109,37,0,135,223,109,30,37,
- 0,135,30,37,0,135,223,109,37,0,
- 135,37,0,141,0,2,0,177,110,0,
- 174,0,2,110,0,193,109,1,141,0,
- 2,0,175,110,0,163,1,0,168,0,
- 205,221,109,18,108,240,68,0,240,68,
- 0,113,3,0,0,0,111,0,205,221,
- 109,18,240,68,0,3,0,0,0,111,
- 0,167,0,239,109,167,0,109,167,0,
- 163,112,0,206,68,0,113,0,206,70,
- 0,206,69,0,218,109,18,238,108,237,
- 185,0,238,108,237,185,0,3,0,0,
- 111,0,237,185,0,113,0,3,0,0,
- 111,0,218,109,18,237,185,0,154,0,
- 153,0,152,0,151,0,150,0,197,109,
- 136,0,136,0,140,59,0,189,132,189,
- 168,1,56,0,110,135,0,189,168,1,
- 56,0,112,0,110,135,0,189,132,189,
- 132,189,1,56,0,189,132,189,1,56,
- 0,189,1,56,0,112,0,112,0,110,
- 135,0,140,1,48,0,140,1,48,151,
- 54,0,110,112,0,151,54,0,79,2,
- 114,110,112,0,140,1,60,0,151,125,
- 140,1,58,0,55,135,0,140,1,58,
- 0,110,135,55,135,0,150,0,171,51,
- 0,140,92,130,0,29,131,0,173,1,
- 0,110,120,0,173,1,20,0,110,118,
- 0,236,1,113,0,140,37,113,0,140,
- 1,0
- };
- };
- public final static char scopeRhs[] = ScopeRhs.scopeRhs;
- public final int scopeRhs(int index) { return scopeRhs[index]; }
-
- public interface ScopeState {
- public final static char scopeState[] = {0,
- 555,0,834,0,2331,2276,0,3347,879,2627,
- 0,1077,0,456,447,0,883,825,758,1281,
- 700,1280,2265,1219,1180,1060,674,462,0,3170,
- 1263,3149,3135,3124,3103,3086,2110,2800,2773,2742,
- 2734,2707,2674,2634,2624,1224,2552,2525,1102,609,
- 990,951,0,1162,1135,725,718,2123,2876,2346,
- 2321,987,3224,2838,0,3389,3365,2096,1183,1133,
- 545,454,2556,2265,851,679,1105,1768,1380,3069,
- 3053,3037,3021,3005,2984,2867,2850,2828,2423,1361,
- 1238,3337,3313,3299,1001,3259,3250,3239,2289,738,
- 500,2051,2024,883,1999,1972,825,1947,1295,1921,
- 1895,1868,1843,1817,1791,1732,942,1687,1661,1635,
- 1609,1583,1557,1531,1505,1479,1453,1421,1194,1153,
- 1077,788,421,462,913,758,700,0,521,492,
- 0,1712,1339,659,570,421,522,0,2605,522,
- 2503,2123,2457,2437,2331,527,2276,2346,987,1221,
- 3062,2082,2218,2317,1320,2177,0,3471,3451,3427,
- 2331,3421,527,2503,2123,2276,2876,1712,2082,2218,
- 659,3374,3269,2410,2964,570,3176,421,2196,2144,
- 2095,2457,2437,3413,2499,2317,2069,2605,1716,1333,
- 576,1221,3408,1339,2951,2918,1279,2904,3351,3081,
- 2889,1062,2470,2231,1320,2177,522,2684,3346,2579,
- 3323,3274,3211,3207,2796,0,2082,1320,522,0,
- 3170,3149,3135,3124,3103,3086,2110,3078,1263,3268,
- 1224,1102,990,951,2334,2504,0
- };
- };
- public final static char scopeState[] = ScopeState.scopeState;
- public final int scopeState(int index) { return scopeState[index]; }
-
- public interface InSymb {
- public final static char inSymb[] = {0,
- 0,234,7,149,136,109,250,255,109,109,
- 212,210,198,8,9,7,199,185,200,70,
- 69,201,68,202,109,1,4,5,3,2,
- 141,204,12,180,1,197,163,134,145,141,
- 109,191,210,242,197,147,109,143,5,18,
- 1,1,1,237,134,206,134,206,240,206,
- 134,172,148,134,163,1,12,26,20,25,
- 24,14,13,10,15,17,16,1,113,256,
- 19,211,46,134,163,37,1,172,74,109,
- 172,213,109,1,254,2,19,108,18,108,
- 18,148,10,109,1,1,1,1,1,137,
- 173,140,149,167,109,18,90,75,1,37,
- 49,125,1,46,134,30,135,109,114,10,
- 120,122,121,124,123,127,126,129,128,130,
- 109,18,164,251,109,136,147,143,180,261,
- 217,59,50,52,57,56,48,54,60,58,
- 150,53,51,108,136,252,229,1,238,134,
- 109,18,109,10,148,193,136,109,194,173,
- 173,173,173,173,125,109,1,178,177,216,
- 108,12,109,236,109,140,10,2,109,135,
- 223,203,102,101,100,98,99,97,96,95,
- 94,93,74,77,76,10,72,73,14,13,
- 85,84,83,82,81,80,79,78,86,15,
- 88,87,92,91,241,109,18,109,6,140,
- 108,1,1,151,1,1,49,257,171,49,
- 109,46,125,1,19,2,18,218,167,219,
- 109,221,108,222,148,109,1,109,180,46,
- 125,125,125,125,125,172,195,109,1,46,
- 114,1,217,2,223,30,135,10,121,121,
- 120,120,123,123,122,122,122,122,122,122,
- 126,124,128,127,235,140,129,46,109,168,
- 189,140,48,140,140,49,89,49,109,253,
- 109,109,221,205,74,46,109,203,109,172,
- 193,109,173,135,135,49,49,244,109,189,
- 132,125,1,125,125,172,46,218,239,49,
- 163,134,208,205,203,193,125,205,46,246,
- 258,75,37,108,247,132,189,140,151,46,
- 49,208,134,166,74,171,75,37,189,132,
- 125,105,134,89,171,125,189,171,125
- };
- };
- public final static char inSymb[] = InSymb.inSymb;
- public final int inSymb(int index) { return inSymb[index]; }
-
- public interface Name {
- public final static String name[] = {
- "",
- "[",
- "(",
- "{",
- ".",
- "->",
- "++",
- "--",
- "&",
- "*",
- "+",
- "-",
- "~",
- "!",
- "/",
- "%",
- ">>",
- "<<",
- "<",
- ">",
- "<=",
- ">=",
- "==",
- "!=",
- "^",
- "|",
- "&&",
- "||",
- "?",
- ":",
- "...",
- "=",
- "*=",
- "/=",
- "%=",
- "+=",
- "-=",
- ">>=",
- "<<=",
- "&=",
- "^=",
- "|=",
- ",",
- ">?",
- "<?",
- "$empty",
- "auto",
- "break",
- "case",
- "char",
- "const",
- "continue",
- "default",
- "do",
- "double",
- "else",
- "enum",
- "extern",
- "float",
- "for",
- "goto",
- "if",
- "inline",
- "int",
- "long",
- "register",
- "restrict",
- "return",
- "short",
- "signed",
- "sizeof",
- "static",
- "struct",
- "switch",
- "typedef",
- "union",
- "unsigned",
- "void",
- "volatile",
- "while",
- "_Bool",
- "_Complex",
- "_Imaginary",
- "integer",
- "floating",
- "charconst",
- "stringlit",
- "identifier",
- "Completion",
- "EndOfCompletion",
- "Invalid",
- "RightBracket",
- "RightParen",
- "RightBrace",
- "SemiColon",
- "typeof",
- "__alignof__",
- "__attribute__",
- "__declspec",
- "asm",
- "vector",
- "pixel",
- "bool",
- "_Decimal32",
- "_Decimal64",
- "_Decimal128",
- "__static_assert",
- "ERROR_TOKEN",
- "EOF_TOKEN",
- "]",
- ")",
- "}",
- ";",
- "identifier_token",
- "expression",
- "postfix_expression",
- "member_name",
- "type_id",
- "initializer_list",
- "unary_expression",
- "cast_expression",
- "multiplicative_expression",
- "additive_expression",
- "shift_expression",
- "relational_expression",
- "equality_expression",
- "and_expression",
- "exclusive_or_expression",
- "inclusive_or_expression",
- "logical_and_expression",
- "logical_or_expression",
- "assignment_expression",
- "expression_in_statement",
- "expression_list_actual",
- "constant_expression",
- "statement",
- "compound_statement",
- "block_item_list",
- "block_item",
- "declaration",
- "declaration_specifiers",
- "init_declarator_list",
- "simple_declaration_specifiers",
- "struct_or_union_declaration_sp" +
- "ecifiers",
- "elaborated_declaration_specifi" +
- "ers",
- "enum_declaration_specifiers",
- "typdef_name_declaration_specif" +
- "iers",
- "no_type_declaration_specifier",
- "type_qualifier",
- "no_type_declaration_specifiers",
- "simple_type_specifier",
- "struct_or_union_specifier",
- "elaborated_specifier",
- "enum_specifier",
- "type_name_specifier",
- "init_declarator",
- "complete_declarator",
- "initializer",
- "declarator",
- "struct_or_union",
- "struct_declaration_list",
- "struct_declaration",
- "specifier_qualifier_list",
- "struct_declarator_list",
- "complete_struct_declarator",
- "struct_declarator",
- "enumerator_list",
- "enumerator",
- "direct_declarator",
- "pointer_seq",
- "array_direct_declarator",
- "basic_direct_declarator",
- "knr_direct_declarator",
- "array_modifier",
- "function_direct_declarator",
- "parameter_type_list",
- "function_declarator",
- "identifier_list",
- "knr_function_declarator",
- "array_modifier_type_qualifiers",
- "type_qualifier_list",
- "parameter_list",
- "parameter_declaration",
- "complete_parameter_declarator",
- "abstract_declarator",
- "direct_abstract_declarator",
- "basic_direct_abstract_declarat" +
- "or",
- "array_direct_abstract_declarat" +
- "or",
- "initializer_seq",
- "designated_initializer",
- "designation",
- "designator_list",
- "designator",
- "external_declaration_list",
- "external_declaration",
- "declaration_list",
- "function_body",
- "attribute_or_decl_specifier",
- "attribute_or_decl_specifier_se" +
- "q",
- "word",
- "extended_decl_modifier_seq",
- "extended_decl_modifier",
- "extended_asm_param",
- "case_range_expression",
- "typeof_declaration_specifiers",
- "typeof_type_specifier",
- "field_name_designator",
- "vector_type",
- "vector_type_specifier",
- "all_specifier_qualifiers",
- "all_specifier_qualifier_list"
- };
- };
- public final static String name[] = Name.name;
- public final String name(int index) { return name[index]; }
-
- public final static int
- ERROR_SYMBOL = 38,
- SCOPE_UBOUND = 94,
- SCOPE_SIZE = 95,
- MAX_NAME_LENGTH = 38;
-
- public final int getErrorSymbol() { return ERROR_SYMBOL; }
- public final int getScopeUbound() { return SCOPE_UBOUND; }
- public final int getScopeSize() { return SCOPE_SIZE; }
- public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
-
- public final static int
- NUM_STATES = 389,
- NT_OFFSET = 107,
- LA_STATE_OFFSET = 4201,
- MAX_LA = 2147483647,
- NUM_RULES = 420,
- NUM_NONTERMINALS = 155,
- NUM_SYMBOLS = 262,
- SEGMENT_SIZE = 8192,
- START_STATE = 2504,
- IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 104,
- EOLT_SYMBOL = 104,
- ACCEPT_ACTION = 3537,
- ERROR_ACTION = 3781;
-
- public final static boolean BACKTRACK = true;
-
- public final int getNumStates() { return NUM_STATES; }
- public final int getNtOffset() { return NT_OFFSET; }
- public final int getLaStateOffset() { return LA_STATE_OFFSET; }
- public final int getMaxLa() { return MAX_LA; }
- public final int getNumRules() { return NUM_RULES; }
- public final int getNumNonterminals() { return NUM_NONTERMINALS; }
- public final int getNumSymbols() { return NUM_SYMBOLS; }
- public final int getSegmentSize() { return SEGMENT_SIZE; }
- public final int getStartState() { return START_STATE; }
- public final int getStartSymbol() { return lhs[0]; }
- public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
- public final int getEoftSymbol() { return EOFT_SYMBOL; }
- public final int getEoltSymbol() { return EOLT_SYMBOL; }
- public final int getAcceptAction() { return ACCEPT_ACTION; }
- public final int getErrorAction() { return ERROR_ACTION; }
- public final boolean isValidForParser() { return isValidForParser; }
- public final boolean getBacktrack() { return BACKTRACK; }
-
- public final int originalState(int state) {
- return -baseCheck[state];
- }
- public final int asi(int state) {
- return asb[originalState(state)];
- }
- public final int nasi(int state) {
- return nasb[originalState(state)];
- }
- public final int inSymbol(int state) {
- return inSymb[originalState(state)];
- }
-
- public final int ntAction(int state, int sym) {
- return baseAction[state + sym];
- }
-
- public final int tAction(int state, int sym) {
- int i = baseAction[state],
- k = i + sym;
- return termAction[termCheck[k] == sym ? k : i];
- }
- public final int lookAhead(int la_state, int sym) {
- int k = la_state + sym;
- return termAction[termCheck[k] == sym ? k : la_state];
- }
+ public interface IsKeyword {
+ public final static byte isKeyword[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ };
+
+ public final static byte isKeyword[] = IsKeyword.isKeyword;
+
+ public final boolean isKeyword(int index) {
+ return isKeyword[index] != 0;
+ }
+
+ public interface BaseCheck {
+ public final static short baseCheck[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4,
+ 4, 3, 3, 2, 2, 4, 1, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1, 4, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3,
+ 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 2, 1, 0, 1,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 2, 4, 1, 2, 1, 1, 1, 2, 5, 7, 5, 1, 0, 7, 2, 5, 9, 8, 3, 2, 2, 2, 3,
+ 2, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 3, 1, 3, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 8, 0, 0, 1, 1, 3, 3, 3, 0, 1, 0, 1, 2, 4, 2, 1,
+ 1, 1, 3, 1, 1, 2, 3, 7, 8, 0, 1, 0, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 2, 2, 1, 5, 3,
+ 1, 3, 5, 1, 3, 1, 3, 2, 4, 3, 5, 4, 6, 6, 3, 5, 1, 3, 4, 5, 6, 0, 1, 2, 1, 3, 1, 1, 3, 2, 1, 1, 1, 1, 2,
+ 1, 2, 3, 1, 1, 1, 3, 1, 2, 2, 2, 3, 4, 5, 1, 1, 7, 3, 0, 0, 1, 1, 3, 3, 4, 1, 1, 2, 3, 2, 3, 2, 1, 0, 1,
+ 2, 1, 1, 1, 1, 1, 2, 1, 3, 6, 4, 2, 4, 1, 1, 1, 1, 2, 6, 3, 1, 3, 1, 4, 0, 1, 1, 1, 3, 1, 0, 4, 3, 1, 2,
+ 1, 3, 4, 4, 4, 6, 1, 0, 1, 3, 1, 3, 0, 1, 4, 5, 2, 4, 2, 4, 3, 3, 5, 3, 4, 3, 1, 2, 2, 2, 4, 2, 1, 1, 2,
+ 2, 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 2, 5, 3, 1, 1, 1, 1, 1, 2, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, -115, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0,
+ 0, 0, 0, 0, 0, -66, -94, 0, 0, -54, 0, 0, 0, -33, 0, -252, 0, 0, 0, 0, 0, -89, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, -87, -12, 0, 0, 0, 0, 0, 0, 0, -70, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -128, -11, 0, 0, 0, 0, 0, 0, 0, 0, -14, -43, -6, 0, 0, -52, 0, -352, -266, 0, 0,
+ 0, 0, 0, 0, -15, 0, 0, 0, 0, -3, 0, 0, 0, -16, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, -365, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -145, 0, 0, 0, 0, 0, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, -56, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -50, -4, 0, 0, 0, 0, 0, 0, 0, 0, -233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, -117, 0, -28, -232, 0, -29, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -39, 0, 0,
+ 0, 0, 0, 0, -40, 0, 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, -258, -173, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -359, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, -95, -121, 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, -5, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -262, 0, 0, 0, -279, -116, 0, 0, 0, -118, 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -234, 0, 0, 0, 0, 0, 0, 0, 0, -36, -42, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0,
+ 0, -122, 0, 0, -260, 0, 0, 0, -375, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -46, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -254, 0, -53, 0, 0, 0, 0, 0, 0, -93, 0, 0, -65, 0, 0, 0, 0, 0, -80, 0, 0, 0, 0, 0, 0, 0, 0,
+ -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -58, 0, 0, 0, 0, -177, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -130, 0, -124, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -261, 0,
+ -97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, -119, 0, 0, 0, -155, 0, 0, 0, -63, 0, 0, 0, -79, 0, 0, 0, 0, 0,
+ -271, 0, -18, -81, -99, 0, 0, -101, 0, 0, 0, 0, 0, 0, 0, 0, -82, -163, 0, 0, 0, 0, 0, 0, 0, 0, -96,
+ -323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, 0, -231, 0, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -100, 0, 0, 0, -68, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -196, -195, 0, -102, 0, 0, 0, 0, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110,
+ -153, -272, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, -38, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123, 0, 0, 0, -217,
+ 0, -200, 0, 0, 0, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, -131, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -348, 0, 0, -132, -23, -275, -357, -146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -347, 0,
+ -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -202, 0, 0, 0, 0, 0, -134,
+ -111, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, -34, 0, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -218, 0, -135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -165, 0, 0, -229, 0, -112, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, -199, 0, 0, 0, -154, 0, 0, -334, -172, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -355, 0, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, -374, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, 0, 0, 0, 0, -259, -137,
+ 0, 0, 0, 0, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138,
+ -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, -175, -240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, -206, 0, 0, 0,
+ 0, 0, 0, 0, 0, -237, 0, 0, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, -140, -207, 0, 0, 0, 0, 0, 0, 0, 0,
+ -257, 0, 0, -241, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, -143, -208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -176, 0, 0, 0, 0, 0, 0, -147, -209, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, -311, 0, 0, 0, 0,
+ 0, -180, 0, 0, 0, 0, 0, 0, -148, -210, 0, 0, 0, 0, 0, 0, 0, 0, -335, 0, 0, -338, 0, 0, 0, 0, 0, -181, 0,
+ 0, 0, 0, 0, 0, -156, -211, 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, -362, 0, 0, 0, 0, 0, 0, -182, 0, 0, 0, 0, 0,
+ 0, -159, -212, 0, 0, 0, 0, 0, 0, 0, 0, -354, 0, 0, -340, 0, 0, 0, 0, 0, -183, 0, 0, 0, 0, 0, 0, -160,
+ -213, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, 0, -194, 0, 0, 0, 0, 0, -349, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0,
+ -61, 0, -358, 0, -162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -164, -280, 0, -167, 0, 0, 0, 0, 0, 0, -198, -367,
+ 0, 0, 0, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0, 0, -377, 0, 0, 0, -179, 0, 0, 0, 0, -190, 0, -230, 0, -191, 0,
+ 0, 0, 0, 0, 0, 0, -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, -376, -197,
+ -239, 0, 0, 0, 0, 0, 0, -235, 0, 0, 0, 0, 0, 0, -244, -286, 0, 0, 0, 0, 0, 0, 0, 0, -385, 0, -248, -249,
+ 0, 0, 0, 0, 0, -263, 0, 0, 0, 0, 0, 0, -264, -317, 0, 0, 0, 0, 0, 0, 0, 0, -253, -120, 0, 0, 0, 0, 0, 0,
+ 0, -281, 0, 0, 0, 0, 0, 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, -289, -290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -291, -292, -336, 0, -293, 0, 0, 0, 0, 0, 0, -388, -294, -295, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0,
+ 0, 0, -296, -337, 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, -298, 0, 0, 0, 0, 0, -299, 0, 0, 0, 0, 0, 0, -300,
+ -350, 0, 0, 0, 0, 0, 0, 0, 0, -256, -243, 0, 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, -363, 0, 0, 0, 0,
+ 0, 0, 0, 0, -302, -303, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, -306, -371, 0, -307, 0, 0, 0,
+ 0, 0, 0, -277, -308, -313, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, -378, 0, 0, 0, 0, 0, 0, 0, 0, -351,
+ -360, 0, 0, 0, 0, 0, 0, 0, -312, 0, 0, 0, 0, 0, 0, -364, -369, -384, 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, 0, 0, 0, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, -314, 0, 0, 0, 0,
+ -92, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, -315, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, 0, -330,
+ -331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -98, 0, 0, 0, 0, -245, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, -9, 0, 0, -356, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -238, 0, 0,
+ 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, -13, -379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -387, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, 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, -246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -83, 0, 0, 0, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -150, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, -346, -1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -250, 0, 0, 0, -288, 0, 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, 0, -343, 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, 0,
+ 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, -316, 0, 0, -171, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -342, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, -382, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -386, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, -389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -220, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -222, 0, 0, 0, 0, 0, 0, 0, 0,
+ -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, 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, -223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -224, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -227, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, -228, 0, 0,
+ 0, 0, 0, 0, 0, 0, -242, 0, 0, -20, 0, 0, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -282, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0,
+ 0, 0, -90, -170, 0, 0, 0, 0, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -215, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -216, 0, 0, 0, 0, 0, 0, 0, 0, -319, -321, 0, 0, 0, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, -174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37, 0, 0, 0, 0, -85, 0, 0, 0, 0, 0, 0, 0, -353, 0, 0, 0,
+ 0, 0, -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -341, -366, 0, 0, 0, 0, 0, 0, 0, 0, -373, 0, -380, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ };
+
+ public final static short baseCheck[] = BaseCheck.baseCheck;
+
+ public final int baseCheck(int index) {
+ return baseCheck[index];
+ }
+
+ public final static short rhs[] = baseCheck;
+
+ public final int rhs(int index) {
+ return rhs[index];
+ };
+
+ public interface BaseAction {
+ public final static char baseAction[] = { 127, 2, 128, 54, 54, 18, 18, 59, 59, 25, 25, 1, 1, 3, 3, 3, 3, 4, 4,
+ 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 98, 98, 108, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 13, 13, 13, 13, 14,
+ 14, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 17, 17, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 43, 33, 26, 129, 129, 109, 109, 64, 44, 44, 44, 44, 44, 44,
+ 44, 45, 45, 45, 30, 30, 110, 110, 89, 89, 46, 46, 47, 47, 47, 82, 82, 48, 48, 48, 48, 48, 49, 49, 49,
+ 49, 49, 61, 61, 29, 29, 29, 29, 29, 50, 50, 50, 73, 73, 91, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94,
+ 94, 95, 95, 95, 90, 90, 83, 83, 84, 51, 53, 53, 53, 53, 53, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 77, 74, 74, 130, 131, 78, 78, 75, 75, 75, 99, 111, 111, 112, 112, 100, 100, 100, 60, 132, 132,
+ 113, 101, 101, 101, 76, 76, 133, 114, 114, 115, 115, 102, 102, 31, 32, 32, 32, 52, 56, 56, 37, 37, 37,
+ 37, 34, 34, 35, 38, 38, 39, 36, 36, 103, 103, 40, 135, 135, 134, 134, 58, 58, 58, 58, 58, 58, 58, 58,
+ 58, 116, 65, 65, 65, 65, 41, 96, 96, 86, 86, 86, 87, 87, 79, 79, 136, 136, 66, 66, 88, 88, 88, 69, 69,
+ 69, 70, 71, 71, 71, 72, 72, 72, 72, 85, 85, 55, 55, 57, 138, 137, 137, 137, 137, 117, 139, 140, 140,
+ 141, 141, 142, 142, 127, 127, 143, 143, 118, 118, 118, 118, 144, 144, 119, 119, 119, 80, 120, 120, 9, 9,
+ 9, 27, 27, 10, 10, 145, 145, 121, 121, 121, 122, 122, 146, 146, 123, 123, 11, 11, 147, 147, 124, 124,
+ 124, 124, 12, 62, 148, 148, 149, 149, 125, 125, 125, 104, 104, 104, 7, 7, 7, 7, 16, 16, 24, 4, 45, 150,
+ 97, 97, 97, 81, 81, 29, 61, 50, 84, 84, 84, 113, 113, 113, 133, 130, 131, 41, 99, 141, 141, 151, 152,
+ 117, 89, 68, 68, 68, 66, 66, 63, 42, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 126, 126, 154,
+ 154, 153, 153, 105, 105, 61, 1, 1, 1, 35, 35, 35, 359, 1770, 452, 17, 21, 18, 1054, 1247, 45, 371, 316,
+ 317, 318, 1264, 1297, 1278, 1363, 1327, 334, 1447, 1439, 1504, 1478, 1530, 75, 1506, 790, 2619, 92,
+ 1323, 2144, 136, 214, 2517, 20, 790, 17, 21, 18, 1054, 367, 2306, 20, 232, 17, 21, 18, 1054, 1247, 45,
+ 138, 135, 137, 161, 1264, 1297, 1278, 1363, 1327, 668, 1447, 1439, 1504, 1478, 1530, 75, 483, 140, 167,
+ 282, 1506, 626, 2661, 1339, 144, 147, 150, 153, 1062, 2625, 20, 364, 17, 21, 18, 1054, 43, 40, 232, 503,
+ 689, 2231, 2470, 2889, 2904, 2918, 283, 2951, 1556, 396, 626, 1310, 180, 2796, 1696, 511, 846, 503,
+ 3207, 1766, 371, 316, 317, 318, 610, 320, 316, 317, 318, 337, 255, 214, 335, 685, 2544, 20, 159, 17, 21,
+ 18, 1054, 356, 136, 214, 750, 767, 225, 233, 255, 214, 725, 225, 230, 219, 718, 222, 224, 323, 1734,
+ 1452, 180, 138, 135, 137, 161, 1560, 324, 1734, 371, 316, 317, 318, 2033, 1076, 320, 316, 317, 318, 140,
+ 167, 1364, 1523, 2095, 396, 1339, 144, 147, 150, 153, 1062, 136, 214, 364, 828, 346, 1321, 816, 188,
+ 1523, 1731, 1153, 311, 2231, 2470, 2889, 2904, 2918, 1636, 2951, 138, 135, 137, 161, 1341, 492, 1194,
+ 511, 3427, 960, 1182, 38, 951, 2177, 111, 87, 322, 140, 167, 96, 1697, 313, 1153, 1339, 144, 147, 150,
+ 153, 1062, 336, 285, 364, 1463, 1816, 95, 97, 98, 99, 100, 1584, 180, 2231, 2470, 2889, 2904, 2918, 88,
+ 2951, 371, 316, 317, 318, 769, 1998, 1936, 511, 816, 31, 957, 2625, 20, 999, 17, 21, 18, 1054, 43, 45,
+ 439, 314, 136, 214, 1264, 1297, 1278, 1363, 1327, 295, 1447, 1984, 2436, 20, 834, 17, 21, 18, 1054,
+ 1247, 45, 138, 135, 137, 161, 1264, 1297, 1278, 1363, 1327, 521, 1447, 1439, 1504, 1478, 1530, 75, 406,
+ 140, 167, 282, 28, 1002, 1556, 1712, 144, 147, 150, 153, 1062, 2625, 20, 364, 17, 21, 18, 1054, 43, 39,
+ 1364, 1356, 1835, 2231, 2470, 2889, 2904, 2918, 283, 2951, 1556, 927, 20, 834, 17, 21, 18, 1054, 1247,
+ 45, 1017, 1997, 1696, 668, 1264, 1297, 1278, 1363, 1327, 229, 1447, 1439, 1504, 1478, 1530, 75, 228, 25,
+ 288, 282, 334, 2725, 20, 1401, 17, 21, 18, 1054, 1247, 45, 893, 1019, 1320, 659, 1264, 1297, 1278, 1363,
+ 1327, 181, 1447, 1439, 1504, 1478, 1530, 75, 283, 1704, 1556, 1240, 289, 1506, 1182, 2893, 1102, 128,
+ 816, 31, 2463, 20, 987, 17, 21, 18, 1054, 1247, 45, 1181, 2049, 279, 1621, 1264, 1297, 1278, 1363, 1327,
+ 290, 1447, 1439, 1504, 1478, 1530, 75, 210, 2625, 20, 282, 17, 21, 18, 1054, 43, 45, 684, 48, 814, 1842,
+ 1264, 1297, 1278, 1363, 1327, 684, 1447, 1439, 1504, 2001, 1076, 291, 1191, 261, 105, 1166, 283, 659,
+ 1556, 2490, 20, 394, 17, 21, 18, 1054, 1247, 45, 503, 337, 129, 347, 1264, 1297, 1278, 1363, 1327, 343,
+ 1447, 1439, 1504, 1478, 1530, 75, 198, 1217, 387, 282, 925, 617, 20, 510, 17, 21, 18, 1054, 1247, 45,
+ 771, 255, 214, 1364, 1264, 1297, 1278, 1363, 1327, 24, 1447, 1439, 1504, 1478, 1530, 75, 283, 1446,
+ 1556, 1041, 2825, 20, 1039, 17, 21, 18, 1054, 1247, 45, 217, 1731, 421, 1269, 1264, 1297, 1278, 1363,
+ 1327, 1483, 1447, 1439, 1504, 1478, 1530, 75, 240, 292, 38, 332, 3268, 226, 2034, 555, 294, 111, 87,
+ 876, 194, 1377, 96, 816, 187, 205, 825, 384, 702, 1419, 3323, 1, 1731, 421, 631, 1463, 109, 95, 97, 98,
+ 99, 100, 1010, 20, 1131, 17, 21, 18, 1054, 43, 36, 1394, 1129, 110, 370, 414, 111, 87, 816, 189, 1377,
+ 96, 725, 225, 230, 219, 718, 222, 224, 1356, 1835, 1269, 388, 631, 1463, 109, 95, 97, 98, 99, 100, 107,
+ 788, 1615, 264, 1153, 275, 816, 1543, 342, 315, 182, 110, 370, 414, 919, 247, 268, 1162, 1135, 273,
+ 1969, 990, 590, 1060, 38, 330, 2627, 38, 90, 748, 388, 319, 316, 317, 318, 265, 1095, 2625, 20, 108, 17,
+ 21, 18, 1054, 43, 45, 1119, 1704, 2113, 576, 1264, 1297, 1278, 1363, 1327, 242, 1447, 1439, 1504, 1478,
+ 1530, 94, 288, 1731, 421, 2625, 20, 349, 17, 21, 18, 1054, 43, 45, 38, 28, 591, 1556, 1264, 1297, 1278,
+ 1363, 1327, 262, 1447, 1439, 1982, 111, 87, 1348, 210, 1377, 96, 2571, 20, 1080, 17, 21, 18, 1054, 354,
+ 1829, 1087, 1842, 631, 1463, 109, 95, 97, 98, 99, 100, 788, 2625, 20, 912, 17, 21, 18, 1054, 1247, 45,
+ 587, 110, 370, 414, 1264, 1297, 1278, 1363, 1327, 1699, 1447, 1439, 1504, 1478, 1530, 75, 1269, 1191,
+ 1988, 92, 388, 2598, 20, 1670, 17, 21, 18, 1054, 41, 107, 450, 276, 721, 20, 361, 17, 21, 18, 1054,
+ 1247, 45, 893, 125, 1153, 22, 1264, 1297, 1278, 1363, 1327, 1224, 1447, 1439, 1504, 1478, 1530, 75,
+ 1989, 277, 446, 1398, 3207, 145, 1731, 421, 1828, 126, 88, 320, 316, 317, 318, 691, 28, 1490, 1556,
+ 2625, 20, 788, 17, 21, 18, 1054, 43, 45, 507, 241, 111, 87, 1264, 1877, 1377, 96, 725, 225, 230, 219,
+ 718, 222, 224, 1766, 1400, 1684, 570, 631, 1463, 109, 95, 97, 98, 99, 100, 28, 1364, 1556, 3413, 47,
+ 1048, 1997, 805, 893, 106, 2218, 110, 370, 414, 319, 316, 317, 318, 1282, 312, 244, 2825, 20, 635, 17,
+ 21, 18, 1054, 1247, 45, 388, 631, 1716, 128, 1264, 1297, 1278, 1363, 1327, 108, 1447, 1439, 1504, 1478,
+ 1530, 75, 446, 586, 3211, 332, 309, 370, 414, 405, 1269, 319, 316, 317, 318, 1594, 182, 28, 28, 1556,
+ 1556, 1381, 180, 1187, 320, 316, 317, 318, 674, 1221, 371, 316, 317, 318, 256, 214, 725, 225, 922, 219,
+ 718, 222, 909, 2625, 20, 1387, 17, 21, 18, 1054, 43, 45, 136, 214, 256, 214, 1264, 1878, 3408, 893,
+ 1017, 2082, 2625, 20, 1269, 17, 21, 18, 1054, 43, 45, 139, 135, 137, 161, 1264, 1297, 1278, 1363, 1327,
+ 788, 1965, 19, 503, 128, 156, 861, 1191, 141, 167, 788, 38, 869, 1028, 1010, 145, 148, 151, 154, 1062,
+ 331, 1257, 365, 2625, 20, 521, 17, 21, 18, 1054, 1247, 45, 124, 50, 255, 214, 1264, 1297, 1278, 1363,
+ 1327, 830, 1447, 1439, 1504, 1478, 1530, 75, 893, 1239, 2276, 86, 256, 214, 243, 2625, 20, 969, 17, 21,
+ 18, 1054, 1247, 45, 245, 1191, 816, 1835, 1264, 1297, 1278, 1363, 1327, 196, 1447, 1439, 1504, 1478,
+ 1530, 75, 1176, 2625, 20, 85, 17, 21, 18, 1054, 1247, 45, 112, 555, 1191, 528, 1264, 1297, 1278, 1363,
+ 1327, 1321, 1447, 1439, 1504, 1478, 1530, 75, 419, 2625, 20, 84, 17, 21, 18, 1054, 1247, 45, 38, 127,
+ 700, 1791, 1264, 1297, 1278, 1363, 1327, 797, 1447, 1439, 1504, 1478, 1530, 75, 554, 2625, 20, 83, 17,
+ 21, 18, 1054, 1247, 45, 38, 1852, 3347, 1191, 1264, 1297, 1278, 1363, 1327, 482, 1447, 1439, 1504, 1478,
+ 1530, 75, 1745, 2625, 20, 82, 17, 21, 18, 1054, 1247, 45, 211, 339, 123, 284, 1264, 1297, 1278, 1363,
+ 1327, 1269, 1447, 1439, 1504, 1478, 1530, 75, 1289, 2625, 20, 81, 17, 21, 18, 1054, 1247, 45, 1125, 231,
+ 892, 1191, 1264, 1297, 1278, 1363, 1327, 1269, 1447, 1439, 1504, 1478, 1530, 75, 1927, 2625, 20, 80, 17,
+ 21, 18, 1054, 1247, 45, 788, 1060, 3441, 1786, 1264, 1297, 1278, 1363, 1327, 1269, 1447, 1439, 1504,
+ 1478, 1530, 75, 1219, 2625, 20, 79, 17, 21, 18, 1054, 1247, 45, 1403, 1180, 816, 297, 1264, 1297, 1278,
+ 1363, 1327, 1269, 1447, 1439, 1504, 1478, 1530, 75, 1598, 2625, 20, 78, 17, 21, 18, 1054, 1247, 45,
+ 1364, 1219, 246, 1191, 1264, 1297, 1278, 1363, 1327, 1269, 1447, 1439, 1504, 1478, 1530, 75, 1663, 2625,
+ 20, 77, 17, 21, 18, 1054, 1247, 45, 1269, 2265, 3442, 1269, 1264, 1297, 1278, 1363, 1327, 2685, 1447,
+ 1439, 1504, 1478, 1530, 75, 1584, 180, 1280, 76, 1107, 23, 1364, 1718, 1357, 371, 316, 317, 318, 320,
+ 316, 317, 318, 206, 195, 1453, 2625, 20, 1687, 17, 21, 18, 1054, 1247, 45, 1269, 1191, 136, 214, 1264,
+ 1297, 1278, 1363, 1327, 1928, 1447, 1439, 1504, 1478, 1530, 75, 816, 299, 352, 93, 1391, 139, 135, 137,
+ 161, 1505, 3453, 2625, 20, 2333, 17, 21, 18, 1054, 43, 45, 1431, 1191, 141, 167, 1264, 1297, 1278, 1363,
+ 1981, 145, 148, 151, 154, 1062, 2625, 20, 365, 17, 21, 18, 1054, 1247, 45, 1330, 1290, 73, 118, 1264,
+ 1297, 1278, 1363, 1327, 1759, 1447, 1439, 1504, 1478, 1530, 75, 1710, 2625, 20, 1408, 17, 21, 18, 1054,
+ 1247, 45, 788, 235, 1819, 456, 1264, 1297, 1278, 1363, 1327, 752, 1447, 1439, 1504, 1478, 1530, 75,
+ 1725, 2625, 20, 1618, 17, 21, 18, 1054, 43, 45, 1269, 38, 296, 1153, 1264, 1297, 1278, 1363, 1327, 2398,
+ 1447, 1439, 1504, 1478, 1530, 94, 2625, 20, 321, 17, 21, 18, 1054, 43, 45, 1458, 1490, 88, 298, 1264,
+ 1297, 1278, 1363, 1327, 1152, 1447, 1439, 1504, 1478, 1530, 94, 1807, 1865, 2625, 20, 1395, 17, 21, 18,
+ 1054, 1247, 45, 788, 1552, 191, 363, 1264, 1297, 1278, 1363, 1327, 1269, 1447, 1439, 1504, 1478, 1530,
+ 75, 845, 2625, 20, 360, 17, 21, 18, 1054, 1247, 45, 923, 341, 213, 1140, 1264, 1297, 1278, 1363, 1327,
+ 1329, 1447, 1439, 1504, 1478, 1530, 75, 1368, 2625, 20, 74, 17, 21, 18, 1054, 43, 45, 1269, 38, 386,
+ 1153, 1264, 1297, 1278, 1363, 1327, 1347, 1447, 1439, 1504, 1478, 1530, 94, 2625, 20, 340, 17, 21, 18,
+ 1054, 43, 45, 1556, 1498, 88, 1104, 1264, 1297, 1278, 1363, 1327, 2042, 1447, 1439, 1504, 1478, 1530,
+ 94, 1943, 1944, 2625, 20, 1294, 17, 21, 18, 1054, 43, 45, 1269, 1570, 1723, 203, 1264, 1297, 1278, 1363,
+ 1327, 1269, 1447, 1439, 1504, 1478, 1530, 94, 2625, 20, 274, 17, 21, 18, 1054, 43, 45, 1999, 1874, 353,
+ 1800, 1264, 1297, 1278, 1363, 1327, 1269, 1447, 1439, 1504, 1478, 1530, 94, 2000, 1824, 2625, 20, 3781,
+ 17, 21, 18, 1054, 43, 45, 2674, 3781, 3781, 204, 1264, 1297, 1278, 1363, 1327, 1597, 1447, 1439, 1504,
+ 1478, 1530, 94, 3781, 3781, 320, 316, 317, 318, 446, 3781, 3346, 3781, 3781, 3781, 1826, 3781, 1269,
+ 319, 316, 317, 318, 2679, 2652, 20, 3781, 17, 21, 18, 1054, 34, 371, 316, 317, 318, 2707, 1221, 874,
+ 1269, 421, 1820, 3781, 1904, 725, 225, 922, 219, 718, 222, 224, 408, 1269, 3781, 136, 214, 3781, 2734,
+ 3781, 326, 319, 316, 317, 318, 88, 3781, 3408, 198, 1178, 3781, 280, 1382, 1692, 138, 135, 137, 161, 38,
+ 2069, 1153, 2838, 319, 316, 317, 318, 725, 225, 230, 220, 718, 222, 224, 1155, 156, 861, 3781, 2964,
+ 3781, 3224, 3269, 869, 1269, 3781, 88, 1328, 446, 3781, 3207, 1269, 275, 2090, 3781, 3781, 521, 319,
+ 316, 317, 318, 3781, 1281, 270, 1162, 1135, 273, 1744, 3781, 281, 3781, 3781, 406, 396, 3781, 1221, 319,
+ 316, 317, 318, 3781, 3781, 725, 225, 230, 219, 718, 222, 224, 446, 3781, 3207, 408, 3781, 2069, 3781,
+ 3781, 1269, 319, 316, 317, 318, 2238, 1269, 3408, 3781, 3781, 3781, 1489, 3781, 3781, 371, 316, 317,
+ 318, 1778, 1221, 1269, 3781, 395, 2410, 2773, 3781, 725, 225, 230, 219, 718, 222, 224, 3781, 156, 861,
+ 136, 214, 2800, 2371, 20, 860, 17, 21, 18, 1054, 43, 44, 3408, 1750, 846, 3781, 3207, 3781, 3781, 143,
+ 135, 137, 161, 319, 316, 317, 318, 2625, 20, 3781, 17, 21, 18, 1054, 43, 38, 142, 167, 3781, 156, 861,
+ 527, 38, 3781, 1153, 3781, 869, 3781, 725, 225, 230, 219, 718, 222, 224, 446, 3781, 3207, 28, 2867,
+ 1556, 2579, 3781, 3781, 319, 316, 317, 318, 88, 906, 2033, 3207, 508, 3781, 522, 2111, 3781, 278, 319,
+ 316, 317, 318, 1221, 3781, 1142, 3781, 2684, 3781, 3781, 725, 225, 230, 219, 718, 222, 224, 527, 306,
+ 3781, 3781, 3781, 797, 278, 725, 225, 230, 219, 718, 222, 224, 2244, 3408, 1153, 3781, 631, 3421, 3781,
+ 275, 725, 225, 230, 219, 718, 222, 224, 2033, 3781, 199, 268, 1162, 1135, 273, 3781, 305, 370, 414, 88,
+ 3781, 157, 861, 954, 3781, 275, 116, 3781, 3781, 1705, 2008, 2752, 3781, 3781, 3781, 310, 268, 1162,
+ 1135, 273, 371, 316, 317, 318, 2625, 20, 3781, 17, 21, 18, 1054, 43, 45, 3421, 3781, 2008, 3781, 1893,
+ 709, 3781, 3781, 3781, 136, 214, 3781, 200, 3781, 319, 316, 317, 318, 3781, 3781, 303, 304, 1673, 3781,
+ 3781, 709, 3781, 3781, 138, 135, 137, 161, 2069, 3781, 319, 316, 317, 318, 2852, 725, 225, 230, 220,
+ 718, 222, 224, 1155, 371, 316, 317, 318, 2964, 2069, 3781, 3781, 3781, 3781, 3781, 3781, 725, 225, 1608,
+ 220, 718, 222, 1582, 1155, 1600, 3781, 136, 214, 709, 430, 3781, 522, 3781, 320, 316, 317, 318, 319,
+ 316, 317, 318, 406, 396, 3781, 3781, 146, 135, 137, 161, 3781, 1655, 1731, 1153, 3781, 306, 2069, 3781,
+ 3781, 797, 3781, 3781, 409, 725, 225, 1608, 220, 718, 222, 224, 1155, 3781, 631, 3781, 3781, 3781, 111,
+ 87, 1716, 1731, 1153, 96, 1010, 20, 3781, 17, 21, 18, 1054, 43, 36, 305, 370, 414, 1463, 104, 95, 97,
+ 98, 99, 100, 3781, 3781, 111, 87, 1501, 3781, 659, 96, 3781, 310, 38, 3781, 1153, 319, 316, 317, 318,
+ 3781, 3781, 3781, 1463, 102, 95, 97, 98, 99, 100, 3781, 3781, 3781, 709, 2069, 3781, 987, 3781, 248, 88,
+ 3781, 3781, 319, 316, 317, 318, 2226, 444, 1050, 659, 302, 304, 1777, 1731, 1153, 1094, 3781, 659, 3781,
+ 423, 2069, 3781, 1838, 1731, 1153, 3781, 3781, 767, 225, 234, 3781, 3781, 2876, 3781, 1155, 2334, 987,
+ 111, 87, 3781, 3781, 3781, 96, 3781, 198, 3781, 260, 111, 87, 502, 3781, 659, 96, 2124, 1761, 1463, 362,
+ 95, 97, 98, 99, 100, 1899, 1731, 1153, 1463, 103, 95, 97, 98, 99, 100, 1555, 3781, 659, 1446, 3781,
+ 3781, 987, 3781, 3781, 319, 316, 317, 318, 3781, 260, 111, 87, 3781, 3781, 3781, 96, 1575, 1761, 1960,
+ 1731, 1153, 3781, 2069, 3781, 987, 3781, 3781, 3781, 1463, 120, 95, 97, 98, 99, 100, 3781, 1050, 3781,
+ 193, 3781, 3781, 3781, 3781, 111, 87, 2021, 1731, 1153, 96, 747, 879, 260, 3781, 2082, 1731, 1153, 3781,
+ 3781, 1575, 1761, 2123, 1463, 115, 95, 97, 98, 99, 100, 3781, 3781, 111, 87, 3781, 3781, 260, 96, 3781,
+ 3781, 111, 87, 3781, 2124, 1761, 96, 2143, 1731, 1153, 3781, 1463, 2050, 95, 97, 98, 99, 100, 3781,
+ 1463, 114, 95, 97, 98, 99, 100, 3781, 3781, 3781, 1809, 1324, 3781, 111, 87, 2204, 1731, 1153, 96, 3781,
+ 319, 316, 317, 318, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 1463, 122, 95, 97, 98, 99, 100, 2069,
+ 3781, 111, 87, 3781, 2625, 20, 96, 17, 21, 18, 1054, 43, 45, 1050, 2696, 3781, 3274, 1894, 3781, 1463,
+ 121, 95, 97, 98, 99, 100, 2625, 20, 3781, 17, 21, 18, 1054, 43, 45, 3781, 3781, 2605, 3781, 1264, 1297,
+ 1278, 1897, 2625, 20, 3781, 17, 21, 18, 1054, 43, 45, 1251, 3781, 3781, 3781, 1264, 1297, 1278, 1905,
+ 3781, 319, 316, 317, 318, 2862, 3781, 3781, 3781, 444, 3781, 659, 275, 3781, 371, 316, 317, 318, 3781,
+ 2069, 2893, 3781, 3781, 268, 1162, 1135, 273, 3781, 3781, 371, 316, 317, 318, 1155, 2903, 3781, 136,
+ 214, 987, 3781, 3781, 3781, 393, 371, 316, 317, 318, 3781, 3781, 3781, 275, 136, 214, 3781, 3781, 149,
+ 135, 137, 161, 3781, 3781, 270, 1162, 1135, 273, 136, 214, 2934, 3781, 3781, 152, 135, 137, 161, 3781,
+ 3781, 371, 316, 317, 318, 2944, 3781, 3781, 3781, 155, 135, 137, 161, 260, 371, 316, 317, 318, 3781,
+ 3781, 2180, 1761, 3781, 136, 214, 2625, 20, 3781, 17, 21, 18, 1054, 43, 45, 3781, 3781, 136, 214, 1264,
+ 1297, 1906, 3781, 366, 135, 137, 161, 2625, 20, 3781, 17, 21, 18, 1054, 43, 45, 139, 135, 137, 161,
+ 1264, 1297, 1920, 2625, 20, 3781, 17, 21, 18, 1054, 43, 45, 3781, 3781, 3781, 3781, 1264, 1297, 1930,
+ 2625, 20, 3781, 17, 21, 18, 1054, 43, 45, 3781, 3781, 3781, 3781, 1264, 1297, 1933, 2625, 20, 3781, 17,
+ 21, 18, 1054, 43, 45, 476, 3781, 3207, 3781, 1264, 1297, 1939, 2625, 20, 3781, 17, 21, 18, 1054, 43, 45,
+ 890, 3781, 421, 557, 1264, 1297, 1946, 3781, 874, 3781, 421, 3781, 319, 316, 317, 318, 3781, 3781, 725,
+ 225, 230, 219, 718, 222, 224, 874, 88, 421, 3781, 1282, 1333, 3781, 3781, 116, 88, 3781, 3781, 198,
+ 1178, 3781, 954, 1382, 631, 3781, 3781, 3781, 874, 3781, 421, 3781, 2838, 88, 3781, 3781, 198, 1178,
+ 3781, 874, 1382, 421, 3781, 2372, 370, 414, 3781, 3781, 3781, 2838, 3224, 3781, 3781, 874, 88, 421,
+ 1601, 198, 1178, 3781, 3781, 1382, 3781, 3781, 1595, 88, 3781, 3224, 198, 1178, 2838, 3781, 1382, 1627,
+ 874, 3781, 421, 3781, 3781, 88, 1748, 2838, 198, 1178, 607, 3781, 1382, 3781, 3224, 320, 316, 317, 318,
+ 3781, 1653, 2838, 3781, 3781, 3781, 3224, 88, 3781, 3781, 198, 1178, 1679, 3781, 1382, 3781, 3781, 3781,
+ 1324, 3781, 3224, 3781, 1324, 2838, 3781, 3781, 1696, 319, 316, 317, 318, 319, 316, 317, 318, 2769,
+ 3781, 3274, 3781, 3781, 3781, 3224, 3781, 3781, 3781, 2069, 3781, 2173, 3781, 2069, 2625, 20, 3781, 17,
+ 21, 18, 1054, 43, 37, 1050, 3781, 2625, 20, 1050, 17, 21, 18, 1054, 43, 36, 2625, 20, 3781, 17, 21, 18,
+ 1054, 43, 35, 1255, 1804, 570, 3781, 2437, 3781, 1324, 3781, 2457, 3781, 320, 316, 317, 318, 275, 319,
+ 316, 317, 318, 3781, 3781, 3781, 3781, 3781, 3781, 268, 1162, 1135, 273, 1282, 3781, 2625, 20, 2069, 17,
+ 21, 18, 1054, 43, 48, 3781, 3781, 631, 3781, 267, 2625, 20, 1050, 17, 21, 18, 1054, 43, 47, 3781, 1324,
+ 3781, 3781, 3781, 3781, 3781, 308, 370, 414, 319, 316, 317, 318, 3781, 2625, 20, 2876, 17, 21, 18, 1054,
+ 43, 46, 1324, 1238, 3781, 659, 2069, 1038, 3781, 3781, 3781, 319, 316, 317, 318, 3781, 319, 316, 317,
+ 318, 1050, 2652, 20, 3781, 17, 21, 18, 1054, 33, 2069, 1744, 3781, 198, 3781, 1333, 3781, 3781, 3781,
+ 3781, 319, 316, 317, 318, 1050, 2123, 2798, 20, 3781, 17, 21, 18, 1054, 1861, 3781, 3781, 3781, 3781,
+ 2069, 3781, 3781, 3781, 3781, 3781, 1446, 1550, 3781, 3781, 2503, 1263, 1682, 3781, 1592, 3781, 319,
+ 316, 317, 318, 1814, 319, 316, 317, 318, 3781, 1870, 3781, 3781, 319, 316, 317, 318, 3781, 2499, 319,
+ 316, 317, 318, 3176, 2244, 2244, 1153, 1153, 3781, 3781, 193, 3451, 3781, 982, 1873, 3781, 2244, 3471,
+ 1153, 3781, 3781, 1275, 879, 320, 316, 317, 318, 3781, 3781, 3781, 88, 88, 3781, 3781, 1926, 3781, 3781,
+ 116, 116, 3781, 3781, 3781, 88, 320, 316, 317, 318, 3781, 3781, 116, 3781, 3781, 3781, 3781, 3781, 3781,
+ 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781,
+ 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 1742, 2232, 3781, 3781,
+ 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 2246, 3781, 0, 1, 540, 0, 1, 520, 0, 1, 535, 0, 1, 544,
+ 0, 678, 413, 0, 520, 130, 0, 535, 130, 0, 544, 130, 0, 520, 131, 0, 535, 131, 0, 544, 131, 0, 520, 132,
+ 0, 535, 132, 0, 544, 132, 0, 544, 186, 0, 535, 186, 0, 520, 186, 0, 186, 190, 0, 544, 185, 0, 535, 185,
+ 0, 520, 185, 0, 185, 190, 0, 520, 133, 0, 535, 133, 0, 544, 133, 0, 520, 134, 0, 535, 134, 0, 544, 134,
+ 0, 417, 420, 0, 416, 419, 0, 415, 418, 0, 11, 227, 0, 520, 369, 0, 535, 369, 0, 544, 369, 0, 4197, 412,
+ 0, 224, 236, 0, 3789, 1, 0, 544, 381, 0, 535, 381, 0, 520, 381, 0, 1042, 32, 0, 1853, 32, 0, 520, 411,
+ 0, 535, 411, 0, 544, 411, 0, 4180, 411, 0, 4178, 411, 0, 544, 254, 0, 535, 254, 0, 520, 254, 0, 4197,
+ 413, 0, 1, 4019, 0, 224, 237, 0, 520, 407, 0, 535, 407, 0, 544, 407, 0, 3999, 407, 0, 3998, 407, 0,
+ 3997, 407, 0, 3996, 407, 0, 3947, 407, 0, 3946, 407, 0, 3945, 407, 0, 3944, 407, 0, 3943, 407, 0, 520,
+ 410, 0, 535, 410, 0, 544, 410, 0, 4180, 410, 0, 4178, 410, 0, 180, 20, 0, 8, 10, 0, 2010, 119, 0, 1,
+ 4201, 0, 1, 4200, 0, 1, 4199, 0, 1, 4008, 0, 367, 356, 0, 368, 357, 0, 113, 2742, 0 };
+ };
+
+ public final static char baseAction[] = BaseAction.baseAction;
+
+ public final int baseAction(int index) {
+ return baseAction[index];
+ }
+
+ public final static char lhs[] = baseAction;
+
+ public final int lhs(int index) {
+ return lhs[index];
+ };
+
+ public interface TermCheck {
+ public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 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, 0, 38, 39, 40, 41, 42, 43, 44,
+ 45, 0, 0, 48, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 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, 0, 38, 39, 40, 41, 42, 43, 44, 45, 72, 73, 48, 74, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 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, 0, 38, 39, 40, 41, 42, 43, 44, 45, 0, 10, 48, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 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, 0, 38, 39, 40, 41, 42, 43, 44,
+ 45, 72, 73, 48, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 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, 0, 38, 39, 40, 41, 42, 43, 44, 45, 0, 1, 48, 0, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 1, 2, 3, 4, 5, 28, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 0, 1,
+ 39, 40, 41, 42, 43, 44, 45, 0, 0, 1, 0, 1, 2, 3, 4, 5, 55, 7, 8, 9, 10, 0, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 37, 0, 37, 0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 0, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 0, 1, 2, 3, 4, 5, 0, 0, 2, 55, 3,
+ 4, 6, 84, 85, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 19, 0, 0, 2, 49, 87, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 0, 39, 40, 41, 42, 43, 44, 45, 47, 27, 28, 29, 89, 104, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 89, 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, 104, 0, 37, 2, 3, 4, 5, 55, 7, 8, 9, 0, 11, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 0, 1, 74, 27, 28, 29, 6, 0, 0, 1, 10, 0, 89, 13, 14, 15, 16, 17, 7, 8,
+ 9, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 1, 104, 27, 28, 29, 37, 0, 1, 2, 3, 4, 5, 6, 37, 46, 0,
+ 10, 11, 12, 13, 14, 15, 16, 17, 0, 19, 20, 21, 22, 23, 24, 25, 26, 18, 91, 92, 30, 13, 14, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 0, 1, 0, 0, 1, 19, 6, 0, 6, 0, 10, 2, 5, 13, 14, 15, 16, 17, 0, 10, 0, 1, 2, 3, 4, 5, 6,
+ 0, 1, 2, 3, 4, 5, 31, 7, 8, 9, 37, 103, 0, 1, 2, 3, 4, 5, 6, 46, 0, 46, 10, 11, 12, 13, 14, 15, 16, 17,
+ 37, 19, 20, 21, 22, 23, 24, 25, 26, 46, 47, 0, 30, 0, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 0, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 1, 37, 0, 18, 0, 6,
+ 2, 0, 6, 10, 0, 0, 13, 14, 15, 16, 17, 6, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 27, 2, 3, 4, 5, 37,
+ 18, 103, 75, 74, 11, 0, 1, 0, 46, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 46, 47, 0, 0, 1, 2, 3, 4,
+ 5, 47, 7, 8, 9, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 1, 0, 103, 18, 0, 6, 49, 6, 7, 10, 6, 0, 13, 14, 15, 16,
+ 17, 0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 86, 72, 73, 0, 1, 31, 10, 0, 31, 37, 0, 0, 1, 2, 3, 4, 5, 6, 46, 16,
+ 17, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 49, 37, 0, 1, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 0, 1, 0, 75, 72, 73, 6, 71, 0, 1, 10, 0, 1, 13, 14, 15, 16, 17, 90, 0, 1, 2, 3, 4, 5, 6, 0, 1,
+ 0, 10, 11, 12, 13, 14, 15, 16, 17, 37, 19, 20, 21, 22, 23, 24, 25, 26, 46, 0, 0, 2, 3, 4, 5, 0, 7, 8, 9,
+ 0, 11, 2, 3, 4, 5, 0, 7, 8, 9, 19, 11, 0, 1, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 0, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 0,
+ 11, 12, 0, 89, 2, 3, 4, 5, 103, 7, 8, 9, 37, 11, 0, 1, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 0, 38, 39,
+ 40, 41, 42, 43, 44, 45, 0, 46, 0, 1, 2, 3, 4, 5, 6, 55, 19, 0, 27, 28, 29, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 12, 37, 0, 0, 0, 2, 3, 4, 5, 0, 6, 47, 86, 0, 11,
+ 27, 28, 29, 30, 6, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 72, 73, 27, 28, 29, 0, 37, 0,
+ 1, 55, 31, 6, 7, 8, 9, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 31, 11,
+ 12, 0, 1, 71, 15, 0, 75, 0, 7, 8, 9, 10, 7, 46, 88, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 6, 38, 39,
+ 40, 41, 42, 43, 44, 45, 27, 28, 29, 0, 37, 0, 0, 74, 2, 55, 0, 6, 7, 8, 9, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 0, 1, 2, 3, 4, 5, 47, 7, 8, 9, 31, 11, 12, 0, 0, 2, 3, 4, 5, 0, 0, 7, 8, 9, 11, 46, 6,
+ 27, 28, 29, 30, 18, 32, 33, 34, 35, 36, 0, 0, 39, 40, 41, 42, 43, 44, 45, 0, 0, 2, 3, 4, 5, 15, 74, 0,
+ 55, 18, 11, 0, 0, 6, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 88, 2, 3, 4, 5, 0, 7, 8, 9, 0, 11, 12,
+ 0, 0, 2, 3, 4, 5, 0, 72, 73, 0, 1, 11, 49, 7, 27, 28, 29, 30, 18, 32, 33, 34, 35, 36, 18, 89, 39, 40,
+ 41, 42, 43, 44, 45, 0, 0, 2, 3, 4, 5, 103, 6, 71, 55, 46, 11, 0, 72, 73, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 0, 0, 2, 3, 4, 5, 0, 7, 8, 9, 0, 11, 12, 78, 79, 80, 81, 82, 83, 13, 14, 78, 79, 80, 81, 82, 83,
+ 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 6, 0, 39, 40, 41, 42, 43, 44, 45, 0, 71, 0, 0, 49, 13, 14, 0, 0,
+ 55, 7, 8, 9, 10, 6, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 1, 2, 3, 4, 5, 6, 47, 0, 49, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 46, 0, 47, 31, 0, 0, 7, 8, 9, 0, 38, 7, 8, 9,
+ 10, 0, 7, 8, 9, 0, 48, 2, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60, 0, 87, 2, 3, 4, 5, 89, 7, 8, 9, 0,
+ 11, 12, 0, 0, 1, 0, 7, 8, 9, 7, 8, 9, 7, 8, 9, 0, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 6, 0, 39, 40,
+ 41, 42, 43, 44, 45, 78, 79, 80, 81, 82, 83, 0, 1, 0, 55, 84, 85, 6, 0, 89, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 0, 1, 2, 3, 4, 5, 6, 47, 0, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 0, 47, 0, 0, 31, 0, 1, 7, 8, 9, 0, 38, 10, 0, 0, 0, 2, 7, 8, 9, 6, 48, 0, 50, 51, 52, 53, 54, 0,
+ 56, 57, 58, 59, 60, 0, 1, 2, 3, 4, 5, 6, 0, 1, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 47, 0, 0, 49, 31, 0, 0, 46, 7, 8, 9, 38, 7, 8, 9, 48, 0, 76, 77, 0, 18, 48, 6, 50, 51,
+ 52, 53, 54, 46, 56, 57, 58, 59, 60, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 0, 46, 47, 0, 31, 0, 0, 7, 8, 9, 0, 38, 0, 10, 0, 0, 0, 7, 8, 9, 0, 48,
+ 6, 50, 51, 52, 53, 54, 46, 56, 57, 58, 59, 60, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 46, 47, 49, 31, 0, 0, 0, 0, 0, 10, 38, 7, 8, 9, 7, 8, 9, 76,
+ 77, 0, 48, 0, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 105, 31, 0, 0, 7, 8, 9, 0, 38, 0, 0, 0, 76,
+ 77, 0, 0, 18, 18, 48, 74, 50, 51, 52, 53, 54, 18, 56, 57, 58, 59, 60, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 18, 0, 0, 0, 31, 49, 49, 0, 0, 0, 0, 38,
+ 0, 0, 0, 0, 0, 0, 0, 18, 18, 48, 0, 50, 51, 52, 53, 54, 18, 56, 57, 58, 59, 60, 0, 1, 2, 3, 4, 5, 6, 0,
+ 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 49, 49, 0, 49, 31, 49, 49, 0,
+ 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 18, 48, 0, 50, 51, 52, 53, 54, 18, 56, 57, 58, 59, 60, 0, 1, 2, 3,
+ 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 49, 49, 0, 0, 31,
+ 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60, 0, 1,
+ 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60,
+ 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0,
+ 0, 0, 31, 0, 0, 0, 0, 0, 0, 38, 0, 0, 7, 8, 9, 0, 0, 6, 0, 48, 0, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59,
+ 60, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 31, 0, 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, 47,
+ 0, 55, 0, 0, 0, 0, 0, 61, 62, 63, 64, 65, 66, 67, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 1, 2, 3, 4, 5, 0, 0, 0, 47, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 1, 2, 3, 4, 5, 0,
+ 0, 0, 47, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0,
+ 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11,
+ 12, 13, 14, 15, 16, 17, 0, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11, 12, 13,
+ 14, 15, 16, 17, 0, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15,
+ 16, 17, 0, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17,
+ 0, 19, 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 0, 19,
+ 20, 21, 22, 23, 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 0, 19, 20, 21,
+ 22, 23, 24, 25, 26, 0, 0, 0, 3, 4, 0, 0, 7, 8, 9, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 27,
+ 28, 29, 30, 0, 32, 33, 34, 35, 36, 31, 0, 39, 40, 41, 42, 43, 44, 45, 0, 1, 2, 3, 4, 5, 46, 0, 37, 0,
+ 10, 11, 12, 13, 14, 15, 16, 17, 47, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 3, 4, 0, 0, 7, 8, 9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 0, 0, 39, 40, 41,
+ 42, 43, 44, 45, 0, 1, 2, 3, 4, 5, 0, 0, 37, 0, 10, 11, 12, 13, 14, 15, 16, 17, 47, 19, 20, 21, 22, 23,
+ 24, 25, 26, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 0, 19, 20, 21, 22, 23, 24, 25,
+ 26, 0, 0, 0, 0, 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 1, 7, 8, 9, 0, 6, 0, 0, 0, 0, 0, 27, 28, 29, 30, 0,
+ 32, 33, 34, 35, 36, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 0, 7, 8, 9, 0, 37, 0, 0, 0, 0, 0, 7, 8, 9, 0,
+ 47, 0, 0, 0, 0, 0, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 0, 7,
+ 8, 9, 0, 0, 0, 0, 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 27, 28,
+ 29, 30, 0, 32, 33, 34, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ };
+
+ public final static byte termCheck[] = TermCheck.termCheck;
+
+ public final int termCheck(int index) {
+ return termCheck[index];
+ }
+
+ public interface TermAction {
+ public final static char termAction[] = { 0, 3781, 1, 6262, 6206, 6203, 6205, 1802, 3538, 1, 1, 1, 6261, 1, 1,
+ 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3790, 1, 1, 1, 1, 1, 1, 3882, 1, 1, 1, 1, 1, 1, 1,
+ 55, 158, 1644, 287, 1179, 1077, 1405, 1720, 609, 1, 1634, 1046, 1686, 1203, 1660, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 3788, 8, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754,
+ 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754,
+ 3754, 3754, 3754, 3754, 3754, 3781, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 1238, 1361, 3754,
+ 462, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754,
+ 3754, 3754, 3754, 3754, 3754, 3754, 3781, 1, 6262, 6206, 6203, 6205, 1802, 3538, 1, 1, 1, 6261, 1, 1, 1,
+ 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3790, 1, 1, 1, 1, 1, 3781, 3882, 1, 1, 1, 1, 1, 1, 1,
+ 359, 2196, 1644, 3781, 1179, 1077, 1405, 1720, 609, 1, 1634, 1046, 1686, 1203, 1660, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 3788, 3781, 1, 6262, 6206, 6203, 6205, 3791, 3538, 1, 1, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3790, 1, 1, 1, 1, 1, 3781, 3882, 1, 1, 1, 1, 1, 1, 1, 1238, 1361, 1644,
+ 3781, 1179, 1077, 1405, 1720, 609, 1, 1634, 1046, 1686, 1203, 1660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3781,
+ 1, 6262, 6206, 6203, 6205, 3791, 3538, 1, 1, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 3790, 1, 1, 1, 1, 1, 3781, 3882, 1, 1, 1, 1, 1, 1, 1, 3781, 480, 1644, 345, 1179, 1077, 1405,
+ 1720, 609, 1, 1634, 1046, 1686, 1203, 1660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3781, 3135, 3792, 4196, 4198,
+ 3691, 4125, 544, 520, 535, 3250, 3793, 3389, 3239, 2289, 3259, 3365, 2096, 3781, 3797, 1183, 3794, 3795,
+ 3796, 738, 500, 1133, 3996, 3998, 3997, 3945, 3781, 3946, 3944, 3999, 3947, 3943, 3781, 618, 3950, 3954,
+ 3952, 3953, 3951, 3956, 3957, 63, 223, 491, 269, 2346, 4008, 4199, 4201, 4200, 3955, 544, 520, 535, 254,
+ 69, 3949, 3958, 3959, 3960, 4170, 4171, 4172, 1279, 3351, 3081, 3781, 1, 1, 1, 1, 1, 3791, 3538, 1, 1,
+ 1, 1, 1, 913, 1, 913, 1, 3062, 4008, 4199, 4201, 4200, 3781, 3547, 3541, 3544, 3781, 1, 1, 1, 1, 3790,
+ 1, 1, 1, 1, 1, 3781, 4088, 1, 1, 1, 1, 1, 1, 1, 1, 3062, 4008, 4199, 4201, 4200, 3781, 3781, 1956, 1,
+ 4178, 4180, 3787, 2867, 2850, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1913, 1, 3781, 3694, 2634, 679, 43, 3781, 1,
+ 1, 1, 1, 1, 3791, 3538, 1, 1, 1, 1, 1, 221, 4183, 4179, 4185, 4186, 4184, 4181, 4182, 3786, 3996, 3998,
+ 3997, 4040, 301, 1, 1, 1, 1, 3790, 1, 1, 1, 1, 1, 1843, 4088, 1, 1, 1, 1, 1, 1, 1, 73, 250, 3537, 186,
+ 913, 3589, 3589, 3589, 3589, 1, 3580, 3586, 3583, 3781, 3589, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4198,
+ 1687, 1, 1, 1, 4198, 249, 271, 818, 4198, 183, 4040, 4198, 4198, 4198, 4198, 4198, 544, 520, 535, 1661,
+ 1635, 1609, 1583, 1557, 1505, 1531, 1479, 1453, 1421, 3781, 525, 300, 3996, 3998, 3997, 4198, 1, 3135,
+ 3792, 4196, 4198, 4197, 3785, 913, 4198, 3781, 1001, 3793, 545, 3239, 2289, 3259, 3365, 2096, 52, 3797,
+ 1183, 3794, 3795, 3796, 738, 500, 1133, 630, 851, 640, 788, 2828, 2423, 4198, 4198, 4198, 4198, 4198,
+ 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 350, 4198, 4198, 4198,
+ 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 1, 4197, 3781, 3781, 944, 1063, 4197, 3781,
+ 3791, 3781, 4197, 1741, 487, 4197, 4197, 4197, 4197, 4197, 3781, 1801, 1, 2346, 4008, 4199, 4201, 4200,
+ 263, 254, 3062, 4008, 4199, 4201, 4200, 3790, 544, 520, 535, 4197, 3784, 3781, 3135, 3792, 4196, 4198,
+ 4197, 3785, 4197, 3781, 2317, 2556, 3793, 545, 3239, 2289, 3259, 3365, 2096, 913, 3797, 1183, 3794,
+ 3795, 3796, 738, 500, 1133, 263, 263, 293, 1817, 212, 4197, 4197, 4197, 4197, 4197, 4197, 4197, 4197,
+ 4197, 4197, 4197, 4197, 4197, 4197, 4197, 4197, 4197, 4197, 230, 4197, 4197, 4197, 4197, 4197, 4197,
+ 4197, 4197, 4197, 4197, 4197, 4197, 4197, 1, 4196, 2024, 3781, 233, 327, 4196, 4109, 3781, 3785, 4196,
+ 3781, 3781, 4196, 4196, 4196, 4196, 4196, 3787, 3781, 357, 368, 368, 368, 368, 368, 3775, 368, 368, 368,
+ 3775, 3781, 4110, 3792, 4196, 4198, 4197, 4196, 5629, 3784, 1757, 1868, 3793, 417, 3622, 67, 4196, 368,
+ 368, 368, 368, 3775, 368, 368, 368, 368, 368, 368, 456, 3786, 358, 1, 3062, 4008, 4199, 4201, 4200,
+ 3775, 3547, 3541, 3544, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196,
+ 4196, 4196, 4196, 4196, 4196, 1, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196, 4196,
+ 4196, 1, 3793, 1, 3784, 819, 1, 3793, 1947, 117, 3538, 3793, 3791, 3781, 3793, 3793, 3793, 3793, 3793,
+ 1, 3062, 4008, 4199, 4201, 4200, 3781, 3547, 3541, 3544, 1380, 1238, 1361, 32, 3661, 117, 3374, 59,
+ 3790, 3793, 3781, 1, 3135, 5192, 4986, 4780, 4883, 29, 3793, 3807, 3808, 3250, 5089, 545, 3239, 2289,
+ 3259, 3365, 2096, 5629, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 3781, 1947, 3664, 416, 3625, 3793,
+ 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793,
+ 3781, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 1, 3792, 3781, 823,
+ 1238, 1361, 3792, 29, 415, 3628, 3792, 11, 3631, 3792, 3792, 3792, 3792, 3792, 676, 3781, 3135, 3792,
+ 4196, 4198, 4197, 3785, 3781, 446, 1, 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096, 3792, 3797, 1183,
+ 3794, 3795, 3796, 738, 500, 1133, 3792, 185, 3781, 3601, 3601, 3601, 3601, 3781, 3592, 3598, 3595, 207,
+ 3601, 6251, 6251, 6251, 6251, 3781, 544, 520, 535, 1030, 6251, 351, 1234, 3792, 3792, 3792, 3792, 3792,
+ 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 272, 3792, 3792, 3792,
+ 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3781, 348, 1, 1, 1, 1, 192, 1, 1, 1, 68, 1,
+ 1, 378, 4039, 6259, 6259, 6259, 6259, 3784, 544, 520, 535, 913, 6259, 338, 1549, 1, 1, 1, 1, 251, 1, 1,
+ 1, 1, 1, 3781, 3978, 1, 1, 1, 1, 1, 1, 1, 58, 1003, 1, 2346, 3769, 3766, 3760, 3763, 3787, 1, 1063,
+ 3781, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 192, 3781, 3781, 1, 1, 1, 1, 191, 1, 1, 1, 71, 1, 1, 913,
+ 3781, 3781, 1, 3792, 4196, 4198, 4197, 252, 3649, 3786, 1380, 3781, 3793, 1, 1, 1, 1, 3791, 1, 1, 1, 1,
+ 1, 3781, 3978, 1, 1, 1, 1, 1, 1, 1, 1238, 1361, 3996, 3998, 3997, 236, 1972, 3781, 3078, 1, 3790, 224,
+ 3646, 3646, 3646, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 3781, 65, 1, 1, 1, 1, 192, 1, 1, 1, 224, 1, 1, 269,
+ 2321, 3788, 1768, 1, 1646, 253, 544, 520, 535, 254, 3538, 224, 1105, 1, 1, 1, 1, 3781, 1, 1, 1, 1, 1,
+ 3787, 3978, 1, 1, 1, 1, 1, 1, 1, 3996, 3998, 3997, 3781, 913, 237, 3781, 224, 2017, 1, 72, 224, 3697,
+ 3697, 3697, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 192, 1, 3062, 730, 681, 604, 3550, 3786, 3547, 3541, 3544,
+ 224, 3793, 454, 3781, 254, 3792, 4196, 4198, 4197, 57, 3781, 544, 520, 535, 3793, 224, 3785, 3996, 3998,
+ 3997, 3945, 1064, 3946, 3944, 3999, 3947, 3943, 66, 3781, 3950, 3954, 3952, 3953, 3951, 3956, 3957, 209,
+ 3781, 3792, 4196, 4198, 4197, 1768, 224, 3781, 3955, 1409, 3793, 56, 3781, 3789, 3949, 3958, 3959, 3960,
+ 4170, 4171, 4172, 1279, 3351, 3081, 3781, 1105, 3792, 4196, 4198, 3643, 60, 544, 520, 535, 257, 3793,
+ 454, 3781, 62, 3792, 4196, 4198, 4197, 1, 1238, 1361, 3781, 1957, 3793, 2525, 3538, 3996, 3998, 3997,
+ 3945, 1067, 3946, 3944, 3999, 3947, 3943, 819, 2051, 3950, 3954, 3952, 3953, 3951, 3956, 3957, 208, 286,
+ 1464, 1464, 1464, 1464, 3784, 1114, 3788, 3955, 798, 1464, 3781, 1238, 1361, 3949, 3958, 3959, 3960,
+ 4170, 4171, 4172, 1279, 3351, 3081, 3781, 3781, 3792, 4196, 4198, 3691, 54, 544, 520, 535, 3781, 3793,
+ 454, 3069, 3053, 3037, 3021, 3005, 2984, 2828, 2423, 3069, 3053, 3037, 3021, 3005, 2984, 3996, 3998,
+ 3997, 3945, 3781, 3946, 3944, 3999, 3947, 3943, 3787, 53, 3950, 3954, 3952, 3953, 3951, 3956, 3957, 70,
+ 1114, 3781, 1, 2552, 2828, 2423, 89, 1, 3955, 3547, 3541, 3544, 254, 3787, 3949, 3958, 3959, 3960, 4170,
+ 4171, 4172, 1279, 3351, 3081, 3781, 1, 6262, 6206, 6203, 6205, 3791, 3786, 3781, 770, 1, 6261, 1, 1, 1,
+ 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 160, 1732, 61, 3786, 3790, 1, 64, 544, 520, 535, 379, 3882, 3547,
+ 3541, 3544, 254, 3781, 544, 520, 535, 3781, 1644, 4020, 1179, 1077, 1405, 1720, 609, 3781, 1634, 1046,
+ 1686, 1203, 1660, 3781, 679, 3792, 4196, 4198, 4197, 4040, 544, 520, 535, 382, 3793, 454, 381, 3781,
+ 2149, 373, 544, 520, 535, 3652, 3658, 3655, 544, 520, 535, 3781, 3996, 3998, 3997, 3945, 1, 3946, 3944,
+ 3999, 3947, 3943, 91, 3781, 3950, 3954, 3952, 3953, 3951, 3956, 3957, 3069, 3053, 3037, 3021, 3005,
+ 2984, 3781, 447, 3781, 3955, 2867, 2850, 3787, 3781, 4040, 3949, 3958, 3959, 3960, 4170, 4171, 4172,
+ 1279, 3351, 3081, 3781, 1, 6262, 6206, 6203, 6205, 3791, 91, 3781, 2304, 1, 6261, 1, 1, 1, 1, 1, 1, 819,
+ 1, 1, 1, 1, 1, 1, 1, 1, 372, 3786, 49, 3781, 3790, 325, 942, 544, 520, 535, 184, 3882, 3337, 3781, 3781,
+ 1, 1086, 544, 520, 535, 3787, 1644, 30, 1179, 1077, 1405, 1720, 609, 119, 1634, 1046, 1686, 1203, 1660,
+ 3781, 1, 6262, 6206, 6203, 6205, 3791, 3781, 2585, 208, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1,
+ 1, 1, 1, 3786, 254, 3781, 2, 3790, 374, 3781, 3810, 3682, 3688, 3685, 3882, 544, 520, 535, 3757, 3781,
+ 3313, 3299, 3781, 1514, 1644, 3787, 1179, 1077, 1405, 1720, 609, 5628, 1634, 1046, 1686, 1203, 1660,
+ 3781, 1, 6262, 6206, 6203, 6205, 3791, 3781, 3781, 30, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1,
+ 1, 1, 380, 2009, 3786, 51, 3790, 3781, 3781, 544, 520, 535, 201, 3882, 3781, 3337, 3781, 3781, 3781,
+ 544, 520, 535, 113, 1644, 3787, 1179, 1077, 1405, 1720, 609, 758, 1634, 1046, 1686, 1203, 1660, 3781, 1,
+ 6262, 6206, 6203, 6205, 3791, 3781, 3781, 3781, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1,
+ 50, 1295, 3786, 2624, 3790, 375, 3781, 3781, 376, 3781, 3337, 3882, 544, 520, 535, 544, 520, 535, 3313,
+ 3299, 3781, 1644, 3781, 1179, 1077, 1405, 1720, 609, 3781, 1634, 1046, 1686, 1203, 1660, 3781, 1, 6262,
+ 6206, 6203, 6205, 3791, 3781, 3781, 3781, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 377,
+ 230, 3781, 3778, 3790, 3781, 3781, 544, 520, 535, 368, 3882, 3781, 3781, 3781, 3313, 3299, 3781, 3781,
+ 234, 1540, 1644, 883, 1179, 1077, 1405, 1720, 609, 5629, 1634, 1046, 1686, 1203, 1660, 3781, 1, 6262,
+ 6206, 6203, 6205, 3791, 3781, 3781, 357, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 5629,
+ 355, 42, 3781, 3790, 1895, 1921, 3781, 3781, 3781, 3781, 3882, 202, 3781, 3781, 1, 3781, 1, 1, 5629,
+ 5629, 1644, 3781, 1179, 1077, 1405, 1720, 609, 5629, 1634, 1046, 1686, 1203, 1660, 3781, 1, 6262, 6206,
+ 6203, 6205, 3791, 3781, 3781, 3781, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 1999, 4166,
+ 190, 4198, 3790, 4197, 4196, 3781, 3781, 3781, 382, 3882, 1, 1, 3781, 3781, 3781, 3781, 3781, 3781, 207,
+ 1644, 3781, 1179, 1077, 1405, 1720, 609, 378, 1634, 1046, 1686, 1203, 1660, 3781, 1, 6262, 6206, 6203,
+ 6205, 3791, 3781, 3781, 3781, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 3793, 3792, 3781,
+ 3781, 3790, 3781, 3781, 3781, 3781, 3781, 3781, 3882, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781,
+ 3781, 1644, 3781, 1179, 1077, 1405, 1720, 609, 3781, 1634, 1046, 1686, 1203, 1660, 3781, 1, 6262, 6206,
+ 6203, 6205, 3791, 3781, 3781, 3781, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 3781, 3781,
+ 3781, 3781, 3790, 3781, 3781, 3781, 3781, 3781, 3781, 3882, 3781, 3781, 3781, 3781, 3781, 3781, 3781,
+ 3781, 3781, 1644, 3781, 1179, 1077, 1405, 1720, 609, 3781, 1634, 1046, 1686, 1203, 1660, 3781, 1, 6262,
+ 6206, 6203, 6205, 3791, 3781, 3781, 3781, 1, 6261, 1, 1, 1, 1, 1, 1, 819, 1, 1, 1, 1, 1, 1, 1, 1, 3781,
+ 3781, 3781, 3781, 3790, 3781, 3781, 130, 3781, 3781, 3781, 3882, 3781, 1, 3559, 3553, 3556, 3781, 3781,
+ 117, 3781, 1644, 3781, 1179, 1077, 1405, 1720, 609, 3781, 1634, 1046, 1686, 1203, 1660, 3996, 3998,
+ 3997, 3945, 3781, 3946, 3944, 3999, 3947, 3943, 117, 3781, 3950, 3954, 3952, 3953, 3951, 3956, 3957,
+ 3781, 3781, 3781, 3781, 3781, 3781, 3781, 117, 3781, 3955, 3781, 3781, 3781, 3781, 3781, 3949, 3958,
+ 3959, 3960, 4170, 4171, 4172, 3781, 3135, 3792, 4196, 4198, 4197, 3781, 3781, 3781, 3781, 3250, 3793,
+ 545, 3239, 2289, 3259, 3365, 2096, 5629, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 20, 3751, 180,
+ 180, 180, 180, 3751, 180, 180, 180, 3751, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781,
+ 3781, 3781, 3781, 3781, 3781, 3781, 180, 180, 180, 180, 3751, 180, 180, 180, 180, 180, 3751, 3781, 3135,
+ 3792, 4196, 4198, 4197, 3781, 3781, 3781, 3751, 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096, 5629,
+ 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 356, 367, 367, 367, 367, 367, 3772, 367, 367, 367, 3772,
+ 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 367,
+ 367, 367, 367, 3772, 367, 367, 367, 367, 367, 367, 1, 3135, 5192, 4986, 4780, 4883, 3781, 3781, 3781,
+ 3772, 3250, 5089, 545, 3239, 2289, 3259, 3365, 2096, 5629, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133,
+ 383, 3135, 3792, 4196, 4198, 4197, 3781, 3781, 3781, 3781, 3250, 3793, 545, 3239, 2289, 3259, 3365,
+ 2096, 5629, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 3781, 3135, 3792, 4196, 4198, 4197, 3781,
+ 3781, 3781, 3781, 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096, 5629, 3797, 1183, 3794, 3795, 3796,
+ 738, 500, 1133, 3781, 2110, 3792, 4196, 4198, 4197, 3781, 3781, 3781, 3781, 3250, 3793, 545, 3239, 2289,
+ 3259, 3365, 2096, 3781, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 3781, 3086, 3792, 4196, 4198,
+ 4197, 3781, 3781, 3781, 3781, 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096, 3781, 3797, 1183, 3794,
+ 3795, 3796, 738, 500, 1133, 3781, 3103, 3792, 4196, 4198, 4197, 3781, 3781, 3781, 3781, 3250, 3793, 545,
+ 3239, 2289, 3259, 3365, 2096, 3781, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 3781, 3124, 3792,
+ 4196, 4198, 4197, 3781, 3781, 3781, 3781, 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096, 3781, 3797,
+ 1183, 3794, 3795, 3796, 738, 500, 1133, 3781, 3135, 3792, 4196, 4198, 4197, 3781, 3781, 3781, 3781,
+ 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096, 3781, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 3781,
+ 3149, 3792, 4196, 4198, 4197, 3781, 3781, 3781, 3781, 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096,
+ 3781, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 411, 3781, 3781, 3679, 3676, 3781, 3781, 3673, 3667,
+ 3670, 3781, 3781, 3791, 3781, 3781, 3781, 3781, 1, 2321, 3781, 3781, 3781, 3781, 392, 3781, 3781, 3781,
+ 3996, 3998, 3997, 3945, 3781, 3946, 3944, 3999, 3947, 3943, 3790, 3781, 4183, 4179, 4185, 4186, 4184,
+ 4181, 4182, 1, 3135, 3792, 4196, 4198, 4197, 2331, 3781, 913, 3781, 3250, 3793, 545, 3239, 2289, 3259,
+ 3365, 2096, 392, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 410, 3781, 3781, 3748, 3745, 3781, 3781,
+ 3742, 3736, 3739, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 1, 2321, 3781, 3781, 3781, 3781, 266, 3781,
+ 3781, 3781, 3996, 3998, 3997, 3945, 3781, 3946, 3944, 3999, 3947, 3943, 3781, 3781, 4183, 4179, 4185,
+ 4186, 4184, 4181, 4182, 3781, 3170, 3792, 4196, 4198, 4197, 3781, 3781, 913, 3781, 3250, 3793, 545,
+ 3239, 2289, 3259, 3365, 2096, 266, 3797, 1183, 3794, 3795, 3796, 738, 500, 1133, 333, 3135, 3792, 4196,
+ 4198, 4197, 3781, 3781, 3781, 3781, 3250, 3793, 545, 3239, 2289, 3259, 3365, 2096, 3781, 3797, 1183,
+ 3794, 3795, 3796, 738, 500, 1133, 131, 3781, 3781, 3781, 3781, 3781, 3781, 3568, 3562, 3565, 132, 3781,
+ 3781, 3781, 3781, 1, 2321, 3577, 3571, 3574, 3781, 3787, 3781, 3781, 3781, 3781, 3781, 3996, 3998, 3997,
+ 3945, 3781, 3946, 3944, 3999, 3947, 3943, 3996, 3998, 3997, 3945, 133, 3946, 3944, 3999, 3947, 3943,
+ 3781, 3610, 3604, 3607, 134, 913, 3781, 3781, 3781, 3781, 3781, 3619, 3613, 3616, 3781, 3786, 3781,
+ 3781, 3781, 3781, 3781, 3996, 3998, 3997, 3945, 3781, 3946, 3944, 3999, 3947, 3943, 3996, 3998, 3997,
+ 3945, 369, 3946, 3944, 3999, 3947, 3943, 3781, 3640, 3634, 3637, 407, 3781, 3781, 3781, 3781, 3781,
+ 3781, 3706, 3700, 3703, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3996, 3998, 3997, 3945, 3781, 3946,
+ 3944, 3999, 3947, 3943, 3718, 3712, 3715, 3727, 3781, 3724, 3730, 3709, 3721, 3733 };
+ };
+
+ public final static char termAction[] = TermAction.termAction;
+
+ public final int termAction(int index) {
+ return termAction[index];
+ }
+
+ public interface Asb {
+ public final static char asb[] = { 0, 751, 1, 165, 350, 348, 568, 751, 166, 350, 350, 831, 141, 668, 166, 166,
+ 166, 79, 658, 79, 658, 658, 79, 658, 79, 355, 350, 339, 339, 339, 339, 166, 79, 33, 570, 9, 521, 227,
+ 350, 105, 104, 355, 230, 141, 570, 521, 194, 355, 263, 597, 539, 416, 704, 53, 136, 658, 662, 659, 662,
+ 136, 662, 658, 350, 358, 403, 417, 711, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 615, 297, 528, 420,
+ 527, 350, 227, 227, 235, 711, 350, 120, 570, 350, 679, 540, 3, 704, 703, 417, 267, 426, 141, 466, 358,
+ 403, 713, 615, 615, 615, 615, 615, 417, 417, 417, 411, 411, 555, 539, 662, 662, 273, 33, 9, 522, 791,
+ 53, 227, 143, 260, 747, 481, 239, 492, 497, 495, 505, 499, 508, 507, 510, 509, 511, 713, 463, 141, 630,
+ 570, 348, 194, 263, 679, 679, 539, 31, 522, 522, 662, 166, 166, 18, 166, 166, 522, 102, 33, 102, 348,
+ 112, 476, 292, 141, 267, 426, 466, 466, 403, 403, 417, 406, 570, 112, 417, 417, 417, 417, 417, 78, 355,
+ 708, 111, 475, 525, 301, 33, 540, 417, 33, 260, 666, 417, 747, 260, 238, 235, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 55, 33,
+ 112, 463, 118, 350, 536, 522, 522, 553, 33, 538, 33, 33, 18, 102, 607, 18, 350, 3, 417, 272, 417, 417,
+ 426, 463, 91, 426, 466, 471, 610, 471, 403, 747, 708, 355, 570, 713, 360, 360, 360, 120, 141, 411, 417,
+ 794, 711, 33, 305, 615, 539, 417, 33, 33, 260, 239, 495, 495, 492, 492, 499, 499, 497, 497, 497, 497,
+ 497, 497, 507, 505, 509, 508, 102, 102, 510, 666, 118, 31, 522, 417, 166, 417, 417, 18, 33, 18, 355,
+ 112, 426, 93, 471, 463, 33, 662, 747, 403, 794, 406, 417, 713, 417, 260, 260, 33, 33, 471, 186, 522, 31,
+ 18, 33, 18, 18, 350, 272, 463, 521, 33, 517, 93, 518, 463, 403, 417, 364, 463, 116, 233, 168, 662, 33,
+ 102, 14, 273, 522, 417, 538, 93, 33, 518, 518, 297, 120, 532, 662, 33, 417, 273, 522, 18, 518, 33, 260,
+ 18, 417, 260, 18 };
+ };
+
+ public final static char asb[] = Asb.asb;
+
+ public final int asb(int index) {
+ return asb[index];
+ }
+
+ public interface Asr {
+ public final static byte asr[] = { 0, 104, 0, 6, 46, 47, 2, 27, 0, 6, 49, 47, 19, 0, 74, 37, 75, 0, 51, 53, 18,
+ 58, 60, 54, 48, 56, 57, 52, 50, 59, 38, 31, 6, 1, 21, 22, 23, 2, 11, 3, 5, 4, 16, 17, 15, 10, 13, 14,
+ 24, 25, 20, 26, 12, 19, 0, 20, 21, 22, 23, 19, 2, 11, 1, 16, 17, 15, 10, 13, 14, 24, 25, 12, 26, 5, 3,
+ 4, 49, 0, 18, 37, 46, 47, 36, 33, 30, 32, 35, 27, 29, 28, 34, 31, 6, 10, 2, 3, 5, 4, 1, 7, 9, 8, 49, 0,
+ 1, 49, 74, 31, 8, 9, 7, 37, 47, 6, 46, 0, 6, 71, 37, 75, 1, 21, 22, 23, 19, 16, 17, 15, 10, 13, 14, 24,
+ 25, 20, 26, 12, 2, 11, 3, 5, 4, 18, 0, 27, 29, 16, 17, 15, 10, 13, 14, 24, 25, 20, 26, 12, 2, 11, 3, 5,
+ 4, 21, 22, 23, 19, 28, 1, 0, 74, 1, 21, 22, 23, 19, 16, 17, 15, 10, 13, 14, 24, 25, 20, 26, 12, 18, 2,
+ 11, 3, 5, 4, 37, 75, 0, 55, 68, 33, 40, 34, 41, 42, 35, 29, 43, 44, 30, 69, 36, 70, 45, 61, 28, 62, 63,
+ 64, 2, 11, 12, 27, 39, 32, 5, 3, 4, 65, 66, 67, 8, 9, 7, 6, 46, 31, 74, 0, 27, 29, 28, 30, 16, 17, 15,
+ 10, 13, 14, 24, 25, 20, 26, 12, 1, 2, 11, 3, 5, 4, 21, 22, 23, 19, 103, 6, 0, 6, 74, 46, 31, 18, 8, 9,
+ 7, 0, 46, 20, 21, 22, 23, 11, 1, 16, 17, 15, 10, 13, 14, 24, 25, 12, 26, 5, 3, 4, 47, 6, 2, 19, 0, 49,
+ 89, 103, 71, 75, 90, 16, 17, 37, 15, 13, 14, 76, 77, 72, 73, 78, 79, 80, 81, 84, 85, 86, 87, 88, 91, 92,
+ 74, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 46, 82, 83, 47, 32, 27, 33, 34, 35, 29, 30, 36, 28, 31,
+ 6, 2, 1, 5, 3, 4, 8, 9, 7, 10, 0, 49, 89, 103, 71, 35, 30, 36, 34, 33, 32, 15, 13, 14, 76, 77, 72, 73,
+ 78, 79, 80, 81, 84, 85, 86, 87, 88, 91, 92, 74, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 82, 83, 18,
+ 31, 27, 29, 28, 46, 2, 3, 5, 4, 10, 8, 9, 7, 37, 1, 47, 6, 0, 6, 49, 46, 47, 1, 0, 32, 39, 27, 55, 68,
+ 33, 40, 34, 41, 42, 35, 29, 43, 44, 30, 69, 36, 70, 45, 61, 28, 62, 63, 64, 2, 11, 12, 8, 9, 7, 5, 3, 4,
+ 65, 66, 67, 38, 6, 71, 0, 2, 11, 5, 3, 4, 6, 71, 46, 0, 37, 6, 46, 47, 1, 0, 74, 93, 94, 95, 96, 97, 99,
+ 98, 100, 101, 102, 10, 76, 77, 13, 14, 73, 72, 78, 79, 80, 81, 82, 83, 84, 85, 15, 86, 87, 88, 89, 103,
+ 47, 71, 91, 92, 49, 8, 9, 7, 46, 31, 6, 0, 103, 31, 46, 47, 6, 49, 0, 103, 6, 89, 0, 47, 104, 105, 71,
+ 51, 53, 18, 58, 60, 54, 48, 56, 57, 52, 50, 59, 38, 6, 31, 21, 22, 23, 19, 16, 17, 15, 13, 14, 24, 25,
+ 20, 26, 10, 1, 12, 2, 11, 68, 69, 70, 61, 55, 62, 63, 64, 65, 66, 67, 36, 33, 30, 32, 35, 27, 29, 28,
+ 34, 7, 9, 8, 5, 3, 40, 4, 44, 45, 39, 43, 41, 42, 0, 49, 89, 0, 6, 46, 71, 74, 0, 20, 21, 22, 23, 19, 1,
+ 16, 17, 15, 10, 13, 14, 24, 25, 26, 32, 39, 27, 55, 68, 33, 40, 34, 41, 42, 35, 29, 43, 44, 30, 69, 36,
+ 70, 45, 61, 28, 62, 63, 64, 12, 65, 66, 67, 18, 8, 9, 7, 11, 3, 5, 4, 2, 0, 49, 46, 31, 61, 55, 62, 63,
+ 64, 65, 66, 67, 37, 10, 5, 40, 44, 45, 39, 43, 41, 42, 36, 33, 30, 32, 35, 27, 29, 28, 34, 3, 4, 7, 9,
+ 8, 1, 47, 6, 2, 0, 10, 1, 37, 47, 6, 32, 39, 55, 68, 33, 40, 34, 41, 42, 35, 43, 44, 30, 69, 36, 70, 45,
+ 61, 62, 63, 64, 2, 11, 12, 8, 9, 7, 5, 3, 4, 65, 66, 67, 89, 27, 29, 28, 0, 104, 32, 39, 27, 55, 68, 33,
+ 40, 34, 41, 42, 35, 29, 43, 44, 30, 69, 36, 70, 45, 61, 28, 62, 63, 64, 11, 1, 12, 8, 9, 5, 3, 4, 65,
+ 66, 67, 31, 6, 38, 7, 2, 10, 0, 10, 32, 39, 27, 55, 68, 33, 40, 34, 41, 42, 35, 29, 43, 44, 30, 69, 36,
+ 70, 45, 61, 28, 62, 63, 64, 2, 11, 12, 3, 4, 65, 66, 67, 89, 7, 9, 8, 5, 0 };
+ };
+
+ public final static byte asr[] = Asr.asr;
+
+ public final int asr(int index) {
+ return asr[index];
+ }
+
+ public interface Nasb {
+ public final static char nasb[] = { 0, 181, 34, 38, 94, 103, 23, 163, 34, 149, 117, 34, 19, 132, 34, 34, 34,
+ 133, 122, 133, 122, 122, 133, 122, 133, 188, 107, 34, 34, 34, 34, 34, 133, 63, 126, 15, 104, 122, 106,
+ 58, 58, 188, 34, 19, 94, 104, 34, 188, 34, 17, 49, 161, 35, 34, 8, 42, 8, 42, 8, 8, 8, 42, 177, 34, 42,
+ 161, 160, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 137, 34, 161, 34, 34, 149, 42, 122, 77, 160, 120,
+ 12, 205, 175, 33, 81, 10, 65, 34, 161, 122, 94, 34, 94, 34, 122, 93, 137, 137, 137, 137, 137, 161, 161,
+ 161, 171, 171, 1, 49, 56, 56, 96, 140, 15, 104, 34, 15, 42, 62, 79, 21, 34, 78, 34, 34, 34, 34, 34, 34,
+ 34, 34, 34, 34, 195, 94, 34, 111, 26, 103, 34, 34, 133, 33, 88, 102, 104, 104, 8, 34, 34, 44, 34, 34,
+ 104, 34, 99, 34, 103, 161, 34, 161, 34, 42, 191, 94, 8, 122, 94, 161, 169, 26, 34, 161, 161, 161, 161,
+ 161, 155, 188, 158, 58, 58, 34, 34, 63, 81, 161, 63, 79, 34, 161, 21, 79, 78, 124, 63, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 52,
+ 63, 161, 50, 94, 149, 34, 104, 104, 199, 140, 34, 140, 140, 44, 34, 34, 44, 118, 10, 161, 63, 161, 161,
+ 94, 50, 103, 73, 8, 68, 34, 34, 94, 21, 168, 188, 126, 93, 155, 155, 155, 154, 155, 145, 161, 186, 160,
+ 63, 34, 137, 88, 161, 63, 63, 79, 78, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+ 34, 34, 34, 34, 61, 202, 104, 161, 34, 161, 161, 44, 63, 44, 188, 161, 191, 149, 68, 50, 63, 8, 21, 124,
+ 186, 143, 161, 93, 161, 79, 79, 63, 63, 68, 70, 104, 202, 44, 140, 44, 44, 119, 63, 50, 104, 63, 34,
+ 106, 122, 50, 124, 161, 155, 50, 60, 34, 12, 8, 63, 34, 40, 202, 104, 161, 34, 149, 63, 122, 42, 135,
+ 12, 79, 8, 63, 161, 202, 104, 44, 42, 63, 79, 44, 161, 79, 44 };
+ };
+
+ public final static char nasb[] = Nasb.nasb;
+
+ public final int nasb(int index) {
+ return nasb[index];
+ }
+
+ public interface Nasr {
+ public final static char nasr[] = { 0, 73, 97, 94, 93, 78, 92, 91, 1, 0, 122, 0, 6, 57, 0, 104, 0, 106, 0, 120,
+ 0, 96, 0, 34, 2, 103, 97, 95, 94, 93, 78, 92, 91, 73, 0, 147, 18, 0, 148, 0, 142, 0, 9, 0, 1, 43, 2, 44,
+ 0, 2, 59, 0, 2, 33, 128, 0, 108, 0, 58, 0, 117, 57, 2, 6, 0, 18, 124, 0, 98, 0, 1, 151, 0, 2, 60, 100,
+ 0, 2, 6, 54, 0, 29, 2, 42, 1, 43, 110, 0, 43, 1, 42, 89, 59, 29, 2, 0, 2, 129, 0, 6, 150, 0, 33, 2, 25,
+ 0, 9, 38, 34, 2, 0, 2, 42, 29, 61, 30, 0, 40, 2, 36, 34, 38, 27, 0, 31, 0, 78, 74, 75, 76, 77, 81, 67,
+ 50, 0, 138, 0, 60, 42, 30, 2, 33, 0, 34, 38, 71, 70, 27, 0, 2, 34, 38, 27, 0, 6, 57, 55, 0, 70, 71, 2,
+ 18, 0, 2, 29, 42, 118, 0, 18, 34, 38, 70, 71, 2, 0, 38, 40, 27, 34, 36, 0, 143, 2, 29, 42, 0, 2, 29, 27,
+ 65, 0, 112, 2, 60, 0, 134, 2, 29, 0, 42, 29, 61, 2, 82, 0, 29, 2, 42, 144, 0 };
+ };
+
+ public final static char nasr[] = Nasr.nasr;
+
+ public final int nasr(int index) {
+ return nasr[index];
+ }
+
+ public interface TerminalIndex {
+ public final static char terminalIndex[] = { 0, 2, 87, 101, 102, 100, 89, 99, 97, 98, 9, 88, 95, 10, 11, 8, 6,
+ 7, 3, 86, 70, 83, 84, 85, 12, 13, 96, 50, 78, 66, 71, 94, 46, 57, 62, 65, 74, 1, 107, 49, 58, 63, 64,
+ 68, 69, 76, 42, 92, 79, 29, 47, 48, 51, 52, 53, 54, 59, 60, 61, 67, 73, 77, 80, 81, 82, 103, 104, 105,
+ 56, 72, 75, 93, 16, 17, 31, 4, 14, 15, 18, 19, 20, 21, 43, 44, 22, 23, 24, 25, 26, 30, 5, 27, 28, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 91, 108, 55, 90, 106 };
+ };
+
+ public final static char terminalIndex[] = TerminalIndex.terminalIndex;
+
+ public final int terminalIndex(int index) {
+ return terminalIndex[index];
+ }
+
+ public interface NonterminalIndex {
+ public final static char nonterminalIndex[] = { 0, 113, 0, 0, 0, 0, 115, 119, 120, 197, 0, 0, 0, 121, 122, 123,
+ 124, 125, 110, 126, 127, 128, 129, 130, 0, 112, 0, 198, 131, 140, 136, 148, 0, 114, 171, 0, 174, 168,
+ 170, 0, 172, 0, 207, 132, 135, 0, 0, 0, 0, 0, 147, 0, 0, 0, 109, 118, 158, 0, 173, 111, 162, 139, 0, 0,
+ 134, 169, 117, 150, 0, 185, 186, 187, 0, 149, 151, 152, 153, 154, 159, 182, 0, 205, 0, 155, 156, 157,
+ 175, 181, 184, 138, 141, 142, 143, 144, 145, 146, 180, 204, 0, 0, 161, 165, 167, 176, 202, 0, 208, 0,
+ 116, 133, 137, 0, 160, 164, 0, 166, 179, 189, 194, 0, 196, 0, 199, 0, 201, 0, 209, 0, 0, 0, 0, 0, 163,
+ 0, 177, 178, 183, 188, 0, 190, 191, 0, 192, 193, 195, 0, 0, 200, 0, 0, 203, 206, 0, 0, 210, 0 };
+ };
+
+ public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
+
+ public final int nonterminalIndex(int index) {
+ return nonterminalIndex[index];
+ }
+
+ public interface ScopePrefix {
+ public final static char scopePrefix[] = { 221, 275, 348, 239, 328, 144, 170, 176, 303, 118, 377, 399, 356, 20,
+ 127, 160, 186, 206, 86, 283, 338, 8, 54, 54, 78, 82, 94, 100, 132, 182, 254, 319, 94, 435, 442, 446,
+ 373, 395, 408, 422, 408, 362, 34, 46, 75, 27, 27, 136, 139, 191, 139, 216, 139, 264, 269, 272, 325, 450,
+ 14, 69, 106, 112, 152, 258, 106, 419, 429, 429, 1, 27, 152, 293, 229, 386, 229, 293, 39, 39, 60, 252,
+ 60, 60, 60, 60, 60, 323, 417, 39, 39, 64, 165, 194, 165, 194, 194 };
+ };
+
+ public final static char scopePrefix[] = ScopePrefix.scopePrefix;
+
+ public final int scopePrefix(int index) {
+ return scopePrefix[index];
+ }
+
+ public interface ScopeSuffix {
+ public final static char scopeSuffix[] = { 98, 98, 335, 98, 335, 150, 25, 25, 98, 124, 383, 405, 343, 25, 58,
+ 150, 25, 58, 91, 288, 343, 12, 58, 58, 58, 58, 98, 104, 58, 25, 12, 12, 98, 58, 58, 25, 335, 335, 335,
+ 426, 412, 366, 37, 37, 58, 25, 25, 58, 142, 25, 201, 58, 219, 267, 267, 267, 12, 58, 17, 72, 109, 115,
+ 167, 261, 17, 72, 432, 439, 4, 30, 155, 288, 246, 389, 232, 296, 44, 52, 62, 12, 309, 311, 313, 315,
+ 317, 12, 12, 41, 49, 66, 167, 203, 155, 196, 211 };
+ };
+
+ public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
+
+ public final int scopeSuffix(int index) {
+ return scopeSuffix[index];
+ }
+
+ public interface ScopeLhs {
+ public final static char scopeLhs[] = { 76, 74, 48, 76, 48, 65, 58, 58, 74, 55, 48, 47, 48, 152, 72, 65, 58, 36,
+ 10, 74, 48, 63, 81, 7, 7, 121, 120, 80, 72, 58, 100, 61, 30, 7, 6, 6, 48, 47, 47, 24, 47, 48, 113, 84,
+ 4, 142, 141, 70, 88, 58, 103, 34, 56, 75, 75, 75, 49, 4, 63, 45, 80, 117, 65, 100, 61, 45, 8, 6, 42,
+ 152, 65, 74, 76, 48, 76, 74, 113, 84, 97, 100, 95, 94, 93, 92, 91, 61, 46, 113, 84, 150, 65, 36, 65, 40,
+ 36 };
+ };
+
+ public final static char scopeLhs[] = ScopeLhs.scopeLhs;
+
+ public final int scopeLhs(int index) {
+ return scopeLhs[index];
+ }
+
+ public interface ScopeLa {
+ public final static byte scopeLa[] = { 71, 71, 47, 71, 47, 27, 103, 103, 71, 71, 47, 105, 31, 103, 47, 27, 103,
+ 47, 47, 18, 31, 31, 47, 47, 47, 47, 71, 18, 47, 103, 31, 31, 71, 47, 47, 103, 47, 47, 47, 49, 47, 31, 8,
+ 8, 47, 103, 103, 47, 1, 103, 2, 47, 2, 2, 2, 2, 31, 47, 2, 49, 2, 74, 10, 2, 2, 49, 47, 47, 5, 89, 10,
+ 18, 18, 48, 2, 2, 2, 2, 12, 31, 2, 68, 69, 69, 61, 31, 31, 2, 2, 89, 10, 1, 10, 1, 1 };
+ };
+
+ public final static byte scopeLa[] = ScopeLa.scopeLa;
+
+ public final int scopeLa(int index) {
+ return scopeLa[index];
+ }
+
+ public interface ScopeStateSet {
+ public final static char scopeStateSet[] = { 142, 142, 38, 142, 38, 218, 54, 54, 142, 17, 38, 38, 38, 3, 58,
+ 218, 54, 149, 168, 142, 38, 238, 142, 66, 66, 14, 139, 241, 58, 54, 8, 238, 30, 66, 66, 66, 38, 38, 38,
+ 102, 38, 38, 5, 162, 66, 1, 3, 58, 60, 54, 227, 149, 155, 142, 142, 142, 38, 66, 238, 38, 241, 136, 218,
+ 8, 238, 38, 73, 66, 231, 3, 218, 142, 142, 38, 142, 142, 5, 162, 144, 8, 144, 144, 144, 144, 144, 238,
+ 38, 5, 162, 12, 218, 149, 218, 151, 149 };
+ };
+
+ public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
+
+ public final int scopeStateSet(int index) {
+ return scopeStateSet[index];
+ }
+
+ public interface ScopeRhs {
+ public final static char scopeRhs[] = { 0, 212, 109, 0, 100, 208, 0, 0, 197, 109, 149, 0, 112, 0, 109, 149, 0,
+ 141, 112, 0, 171, 89, 171, 37, 0, 109, 0, 171, 37, 0, 30, 134, 109, 0, 208, 134, 0, 198, 0, 134, 0, 165,
+ 198, 0, 165, 0, 163, 134, 0, 158, 198, 0, 158, 0, 173, 1, 12, 0, 110, 0, 180, 0, 205, 0, 171, 0, 30,
+ 134, 0, 257, 51, 0, 29, 135, 0, 137, 1, 0, 173, 1, 26, 0, 253, 1, 229, 0, 252, 1, 1, 8, 0, 110, 110, 0,
+ 217, 109, 18, 0, 111, 0, 210, 109, 136, 0, 196, 0, 109, 136, 0, 176, 196, 0, 246, 109, 0, 31, 157, 0,
+ 205, 244, 109, 18, 164, 0, 111, 0, 0, 193, 109, 1, 177, 0, 193, 109, 1, 0, 195, 1, 0, 172, 109, 0, 185,
+ 0, 109, 148, 10, 148, 172, 0, 180, 0, 148, 172, 0, 9, 0, 0, 180, 0, 109, 148, 10, 148, 0, 148, 0, 9, 0,
+ 0, 135, 30, 223, 109, 37, 0, 135, 223, 109, 30, 37, 0, 135, 30, 37, 0, 135, 223, 109, 37, 0, 135, 37, 0,
+ 141, 0, 2, 0, 177, 110, 0, 174, 0, 2, 110, 0, 193, 109, 1, 141, 0, 2, 0, 175, 110, 0, 163, 1, 0, 168, 0,
+ 205, 221, 109, 18, 108, 240, 68, 0, 240, 68, 0, 113, 3, 0, 0, 0, 111, 0, 205, 221, 109, 18, 240, 68, 0,
+ 3, 0, 0, 0, 111, 0, 167, 0, 239, 109, 167, 0, 109, 167, 0, 163, 112, 0, 206, 68, 0, 113, 0, 206, 70, 0,
+ 206, 69, 0, 218, 109, 18, 238, 108, 237, 185, 0, 238, 108, 237, 185, 0, 3, 0, 0, 111, 0, 237, 185, 0,
+ 113, 0, 3, 0, 0, 111, 0, 218, 109, 18, 237, 185, 0, 154, 0, 153, 0, 152, 0, 151, 0, 150, 0, 197, 109,
+ 136, 0, 136, 0, 140, 59, 0, 189, 132, 189, 168, 1, 56, 0, 110, 135, 0, 189, 168, 1, 56, 0, 112, 0, 110,
+ 135, 0, 189, 132, 189, 132, 189, 1, 56, 0, 189, 132, 189, 1, 56, 0, 189, 1, 56, 0, 112, 0, 112, 0, 110,
+ 135, 0, 140, 1, 48, 0, 140, 1, 48, 151, 54, 0, 110, 112, 0, 151, 54, 0, 79, 2, 114, 110, 112, 0, 140, 1,
+ 60, 0, 151, 125, 140, 1, 58, 0, 55, 135, 0, 140, 1, 58, 0, 110, 135, 55, 135, 0, 150, 0, 171, 51, 0,
+ 140, 92, 130, 0, 29, 131, 0, 173, 1, 0, 110, 120, 0, 173, 1, 20, 0, 110, 118, 0, 236, 1, 113, 0, 140,
+ 37, 113, 0, 140, 1, 0 };
+ };
+
+ public final static char scopeRhs[] = ScopeRhs.scopeRhs;
+
+ public final int scopeRhs(int index) {
+ return scopeRhs[index];
+ }
+
+ public interface ScopeState {
+ public final static char scopeState[] = { 0, 555, 0, 834, 0, 2331, 2276, 0, 3347, 879, 2627, 0, 1077, 0, 456,
+ 447, 0, 883, 825, 758, 1281, 700, 1280, 2265, 1219, 1180, 1060, 674, 462, 0, 3170, 1263, 3149, 3135,
+ 3124, 3103, 3086, 2110, 2800, 2773, 2742, 2734, 2707, 2674, 2634, 2624, 1224, 2552, 2525, 1102, 609,
+ 990, 951, 0, 1162, 1135, 725, 718, 2123, 2876, 2346, 2321, 987, 3224, 2838, 0, 3389, 3365, 2096, 1183,
+ 1133, 545, 454, 2556, 2265, 851, 679, 1105, 1768, 1380, 3069, 3053, 3037, 3021, 3005, 2984, 2867, 2850,
+ 2828, 2423, 1361, 1238, 3337, 3313, 3299, 1001, 3259, 3250, 3239, 2289, 738, 500, 2051, 2024, 883, 1999,
+ 1972, 825, 1947, 1295, 1921, 1895, 1868, 1843, 1817, 1791, 1732, 942, 1687, 1661, 1635, 1609, 1583,
+ 1557, 1531, 1505, 1479, 1453, 1421, 1194, 1153, 1077, 788, 421, 462, 913, 758, 700, 0, 521, 492, 0,
+ 1712, 1339, 659, 570, 421, 522, 0, 2605, 522, 2503, 2123, 2457, 2437, 2331, 527, 2276, 2346, 987, 1221,
+ 3062, 2082, 2218, 2317, 1320, 2177, 0, 3471, 3451, 3427, 2331, 3421, 527, 2503, 2123, 2276, 2876, 1712,
+ 2082, 2218, 659, 3374, 3269, 2410, 2964, 570, 3176, 421, 2196, 2144, 2095, 2457, 2437, 3413, 2499, 2317,
+ 2069, 2605, 1716, 1333, 576, 1221, 3408, 1339, 2951, 2918, 1279, 2904, 3351, 3081, 2889, 1062, 2470,
+ 2231, 1320, 2177, 522, 2684, 3346, 2579, 3323, 3274, 3211, 3207, 2796, 0, 2082, 1320, 522, 0, 3170,
+ 3149, 3135, 3124, 3103, 3086, 2110, 3078, 1263, 3268, 1224, 1102, 990, 951, 2334, 2504, 0 };
+ };
+
+ public final static char scopeState[] = ScopeState.scopeState;
+
+ public final int scopeState(int index) {
+ return scopeState[index];
+ }
+
+ public interface InSymb {
+ public final static char inSymb[] = { 0, 0, 234, 7, 149, 136, 109, 250, 255, 109, 109, 212, 210, 198, 8, 9, 7,
+ 199, 185, 200, 70, 69, 201, 68, 202, 109, 1, 4, 5, 3, 2, 141, 204, 12, 180, 1, 197, 163, 134, 145, 141,
+ 109, 191, 210, 242, 197, 147, 109, 143, 5, 18, 1, 1, 1, 237, 134, 206, 134, 206, 240, 206, 134, 172,
+ 148, 134, 163, 1, 12, 26, 20, 25, 24, 14, 13, 10, 15, 17, 16, 1, 113, 256, 19, 211, 46, 134, 163, 37, 1,
+ 172, 74, 109, 172, 213, 109, 1, 254, 2, 19, 108, 18, 108, 18, 148, 10, 109, 1, 1, 1, 1, 1, 137, 173,
+ 140, 149, 167, 109, 18, 90, 75, 1, 37, 49, 125, 1, 46, 134, 30, 135, 109, 114, 10, 120, 122, 121, 124,
+ 123, 127, 126, 129, 128, 130, 109, 18, 164, 251, 109, 136, 147, 143, 180, 261, 217, 59, 50, 52, 57, 56,
+ 48, 54, 60, 58, 150, 53, 51, 108, 136, 252, 229, 1, 238, 134, 109, 18, 109, 10, 148, 193, 136, 109, 194,
+ 173, 173, 173, 173, 173, 125, 109, 1, 178, 177, 216, 108, 12, 109, 236, 109, 140, 10, 2, 109, 135, 223,
+ 203, 102, 101, 100, 98, 99, 97, 96, 95, 94, 93, 74, 77, 76, 10, 72, 73, 14, 13, 85, 84, 83, 82, 81, 80,
+ 79, 78, 86, 15, 88, 87, 92, 91, 241, 109, 18, 109, 6, 140, 108, 1, 1, 151, 1, 1, 49, 257, 171, 49, 109,
+ 46, 125, 1, 19, 2, 18, 218, 167, 219, 109, 221, 108, 222, 148, 109, 1, 109, 180, 46, 125, 125, 125, 125,
+ 125, 172, 195, 109, 1, 46, 114, 1, 217, 2, 223, 30, 135, 10, 121, 121, 120, 120, 123, 123, 122, 122,
+ 122, 122, 122, 122, 126, 124, 128, 127, 235, 140, 129, 46, 109, 168, 189, 140, 48, 140, 140, 49, 89, 49,
+ 109, 253, 109, 109, 221, 205, 74, 46, 109, 203, 109, 172, 193, 109, 173, 135, 135, 49, 49, 244, 109,
+ 189, 132, 125, 1, 125, 125, 172, 46, 218, 239, 49, 163, 134, 208, 205, 203, 193, 125, 205, 46, 246, 258,
+ 75, 37, 108, 247, 132, 189, 140, 151, 46, 49, 208, 134, 166, 74, 171, 75, 37, 189, 132, 125, 105, 134,
+ 89, 171, 125, 189, 171, 125 };
+ };
+
+ public final static char inSymb[] = InSymb.inSymb;
+
+ public final int inSymb(int index) {
+ return inSymb[index];
+ }
+
+ public interface Name {
+ public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!",
+ "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=",
+ "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", "<?", "$empty", "auto",
+ "break", "case", "char", "const", "continue", "default", "do", "double", "else", "enum", "extern",
+ "float", "for", "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short",
+ "signed", "sizeof", "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile",
+ "while", "_Bool", "_Complex", "_Imaginary", "integer", "floating", "charconst", "stringlit",
+ "identifier", "Completion", "EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace",
+ "SemiColon", "typeof", "__alignof__", "__attribute__", "__declspec", "asm", "vector", "pixel", "bool",
+ "_Decimal32", "_Decimal64", "_Decimal128", "__static_assert", "ERROR_TOKEN", "EOF_TOKEN", "]", ")", "}",
+ ";", "identifier_token", "expression", "postfix_expression", "member_name", "type_id",
+ "initializer_list", "unary_expression", "cast_expression", "multiplicative_expression",
+ "additive_expression", "shift_expression", "relational_expression", "equality_expression",
+ "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression",
+ "logical_or_expression", "assignment_expression", "expression_in_statement", "expression_list_actual",
+ "constant_expression", "statement", "compound_statement", "block_item_list", "block_item",
+ "declaration", "declaration_specifiers", "init_declarator_list", "simple_declaration_specifiers",
+ "struct_or_union_declaration_sp" + "ecifiers", "elaborated_declaration_specifi" + "ers",
+ "enum_declaration_specifiers", "typdef_name_declaration_specif" + "iers",
+ "no_type_declaration_specifier", "type_qualifier", "no_type_declaration_specifiers",
+ "simple_type_specifier", "struct_or_union_specifier", "elaborated_specifier", "enum_specifier",
+ "type_name_specifier", "init_declarator", "complete_declarator", "initializer", "declarator",
+ "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list",
+ "struct_declarator_list", "complete_struct_declarator", "struct_declarator", "enumerator_list",
+ "enumerator", "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator",
+ "knr_direct_declarator", "array_modifier", "function_direct_declarator", "parameter_type_list",
+ "function_declarator", "identifier_list", "knr_function_declarator", "array_modifier_type_qualifiers",
+ "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator",
+ "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or",
+ "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation",
+ "designator_list", "designator", "external_declaration_list", "external_declaration",
+ "declaration_list", "function_body", "attribute_or_decl_specifier",
+ "attribute_or_decl_specifier_se" + "q", "word", "extended_decl_modifier_seq", "extended_decl_modifier",
+ "extended_asm_param", "case_range_expression", "typeof_declaration_specifiers", "typeof_type_specifier",
+ "field_name_designator", "vector_type", "vector_type_specifier", "all_specifier_qualifiers",
+ "all_specifier_qualifier_list" };
+ };
+
+ public final static String name[] = Name.name;
+
+ public final String name(int index) {
+ return name[index];
+ }
+
+ public final static int ERROR_SYMBOL = 38, SCOPE_UBOUND = 94, SCOPE_SIZE = 95, MAX_NAME_LENGTH = 38;
+
+ public final int getErrorSymbol() {
+ return ERROR_SYMBOL;
+ }
+
+ public final int getScopeUbound() {
+ return SCOPE_UBOUND;
+ }
+
+ public final int getScopeSize() {
+ return SCOPE_SIZE;
+ }
+
+ public final int getMaxNameLength() {
+ return MAX_NAME_LENGTH;
+ }
+
+ public final static int NUM_STATES = 389, NT_OFFSET = 107, LA_STATE_OFFSET = 4201, MAX_LA = 2147483647,
+ NUM_RULES = 420, NUM_NONTERMINALS = 155, NUM_SYMBOLS = 262, SEGMENT_SIZE = 8192, START_STATE = 2504,
+ IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 104, EOLT_SYMBOL = 104, ACCEPT_ACTION = 3537, ERROR_ACTION = 3781;
+
+ public final static boolean BACKTRACK = true;
+
+ public final int getNumStates() {
+ return NUM_STATES;
+ }
+
+ public final int getNtOffset() {
+ return NT_OFFSET;
+ }
+
+ public final int getLaStateOffset() {
+ return LA_STATE_OFFSET;
+ }
+
+ public final int getMaxLa() {
+ return MAX_LA;
+ }
+
+ public final int getNumRules() {
+ return NUM_RULES;
+ }
+
+ public final int getNumNonterminals() {
+ return NUM_NONTERMINALS;
+ }
+
+ public final int getNumSymbols() {
+ return NUM_SYMBOLS;
+ }
+
+ public final int getSegmentSize() {
+ return SEGMENT_SIZE;
+ }
+
+ public final int getStartState() {
+ return START_STATE;
+ }
+
+ public final int getStartSymbol() {
+ return lhs[0];
+ }
+
+ public final int getIdentifierSymbol() {
+ return IDENTIFIER_SYMBOL;
+ }
+
+ public final int getEoftSymbol() {
+ return EOFT_SYMBOL;
+ }
+
+ public final int getEoltSymbol() {
+ return EOLT_SYMBOL;
+ }
+
+ public final int getAcceptAction() {
+ return ACCEPT_ACTION;
+ }
+
+ public final int getErrorAction() {
+ return ERROR_ACTION;
+ }
+
+ public final boolean isValidForParser() {
+ return isValidForParser;
+ }
+
+ public final boolean getBacktrack() {
+ return BACKTRACK;
+ }
+
+ public final int originalState(int state) {
+ return -baseCheck[state];
+ }
+
+ public final int asi(int state) {
+ return asb[originalState(state)];
+ }
+
+ public final int nasi(int state) {
+ return nasb[originalState(state)];
+ }
+
+ public final int inSymbol(int state) {
+ return inSymb[originalState(state)];
+ }
+
+ public final int ntAction(int state, int sym) {
+ return baseAction[state + sym];
+ }
+
+ public final int tAction(int state, int sym) {
+ int i = baseAction[state], k = i + sym;
+ return termAction[termCheck[k] == sym ? k : i];
+ }
+
+ public final int lookAhead(int la_state, int sym) {
+ int k = la_state + sym;
+ return termAction[termCheck[k] == sym ? k : la_state];
+ }
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java
index d2577f43250..9b4cb97baa0 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java
@@ -17,225 +17,38 @@
package org.eclipse.cdt.internal.core.lrparser.xlc.c;
public interface XlcCParsersym {
- public final static int
- TK_auto = 32,
- TK_break = 50,
- TK_case = 51,
- TK_char = 39,
- TK_const = 27,
- TK_continue = 52,
- TK_default = 53,
- TK_do = 54,
- TK_double = 55,
- TK_else = 105,
- TK_enum = 68,
- TK_extern = 33,
- TK_float = 40,
- TK_for = 56,
- TK_goto = 57,
- TK_if = 58,
- TK_inline = 34,
- TK_int = 41,
- TK_long = 42,
- TK_register = 35,
- TK_restrict = 29,
- TK_return = 59,
- TK_short = 43,
- TK_signed = 44,
- TK_sizeof = 20,
- TK_static = 30,
- TK_struct = 69,
- TK_switch = 60,
- TK_typedef = 36,
- TK_union = 70,
- TK_unsigned = 45,
- TK_void = 61,
- TK_volatile = 28,
- TK_while = 48,
- TK__Bool = 62,
- TK__Complex = 63,
- TK__Imaginary = 64,
- TK_integer = 21,
- TK_floating = 22,
- TK_charconst = 23,
- TK_stringlit = 19,
- TK_identifier = 2,
- TK_Completion = 11,
- TK_EndOfCompletion = 6,
- TK_Invalid = 106,
- TK_LeftBracket = 37,
- TK_LeftParen = 1,
- TK_LeftBrace = 18,
- TK_Dot = 75,
- TK_Arrow = 90,
- TK_PlusPlus = 16,
- TK_MinusMinus = 17,
- TK_And = 15,
- TK_Star = 10,
- TK_Plus = 13,
- TK_Minus = 14,
- TK_Tilde = 24,
- TK_Bang = 25,
- TK_Slash = 76,
- TK_Percent = 77,
- TK_RightShift = 72,
- TK_LeftShift = 73,
- TK_LT = 78,
- TK_GT = 79,
- TK_LE = 80,
- TK_GE = 81,
- TK_EQ = 84,
- TK_NE = 85,
- TK_Caret = 86,
- TK_Or = 87,
- TK_AndAnd = 88,
- TK_OrOr = 91,
- TK_Question = 92,
- TK_Colon = 49,
- TK_DotDotDot = 89,
- TK_Assign = 74,
- TK_StarAssign = 93,
- TK_SlashAssign = 94,
- TK_PercentAssign = 95,
- TK_PlusAssign = 96,
- TK_MinusAssign = 97,
- TK_RightShiftAssign = 98,
- TK_LeftShiftAssign = 99,
- TK_AndAssign = 100,
- TK_CaretAssign = 101,
- TK_OrAssign = 102,
- TK_Comma = 46,
- TK_RightBracket = 103,
- TK_RightParen = 47,
- TK_RightBrace = 71,
- TK_SemiColon = 31,
- TK_typeof = 12,
- TK___alignof__ = 26,
- TK___attribute__ = 8,
- TK___declspec = 9,
- TK_MAX = 82,
- TK_MIN = 83,
- TK_asm = 7,
- TK_vector = 5,
- TK_pixel = 3,
- TK_bool = 4,
- TK__Decimal32 = 65,
- TK__Decimal64 = 66,
- TK__Decimal128 = 67,
- TK___static_assert = 107,
- TK_ERROR_TOKEN = 38,
- TK_EOF_TOKEN = 104;
+ public final static int TK_auto = 32, TK_break = 50, TK_case = 51, TK_char = 39, TK_const = 27, TK_continue = 52,
+ TK_default = 53, TK_do = 54, TK_double = 55, TK_else = 105, TK_enum = 68, TK_extern = 33, TK_float = 40,
+ TK_for = 56, TK_goto = 57, TK_if = 58, TK_inline = 34, TK_int = 41, TK_long = 42, TK_register = 35,
+ TK_restrict = 29, TK_return = 59, TK_short = 43, TK_signed = 44, TK_sizeof = 20, TK_static = 30,
+ TK_struct = 69, TK_switch = 60, TK_typedef = 36, TK_union = 70, TK_unsigned = 45, TK_void = 61,
+ TK_volatile = 28, TK_while = 48, TK__Bool = 62, TK__Complex = 63, TK__Imaginary = 64, TK_integer = 21,
+ TK_floating = 22, TK_charconst = 23, TK_stringlit = 19, TK_identifier = 2, TK_Completion = 11,
+ TK_EndOfCompletion = 6, TK_Invalid = 106, TK_LeftBracket = 37, TK_LeftParen = 1, TK_LeftBrace = 18,
+ TK_Dot = 75, TK_Arrow = 90, TK_PlusPlus = 16, TK_MinusMinus = 17, TK_And = 15, TK_Star = 10, TK_Plus = 13,
+ TK_Minus = 14, TK_Tilde = 24, TK_Bang = 25, TK_Slash = 76, TK_Percent = 77, TK_RightShift = 72,
+ TK_LeftShift = 73, TK_LT = 78, TK_GT = 79, TK_LE = 80, TK_GE = 81, TK_EQ = 84, TK_NE = 85, TK_Caret = 86,
+ TK_Or = 87, TK_AndAnd = 88, TK_OrOr = 91, TK_Question = 92, TK_Colon = 49, TK_DotDotDot = 89,
+ TK_Assign = 74, TK_StarAssign = 93, TK_SlashAssign = 94, TK_PercentAssign = 95, TK_PlusAssign = 96,
+ TK_MinusAssign = 97, TK_RightShiftAssign = 98, TK_LeftShiftAssign = 99, TK_AndAssign = 100,
+ TK_CaretAssign = 101, TK_OrAssign = 102, TK_Comma = 46, TK_RightBracket = 103, TK_RightParen = 47,
+ TK_RightBrace = 71, TK_SemiColon = 31, TK_typeof = 12, TK___alignof__ = 26, TK___attribute__ = 8,
+ TK___declspec = 9, TK_MAX = 82, TK_MIN = 83, TK_asm = 7, TK_vector = 5, TK_pixel = 3, TK_bool = 4,
+ TK__Decimal32 = 65, TK__Decimal64 = 66, TK__Decimal128 = 67, TK___static_assert = 107, TK_ERROR_TOKEN = 38,
+ TK_EOF_TOKEN = 104;
- public final static String orderedTerminalSymbols[] = {
- "",
- "LeftParen",
- "identifier",
- "pixel",
- "bool",
- "vector",
- "EndOfCompletion",
- "asm",
- "__attribute__",
- "__declspec",
- "Star",
- "Completion",
- "typeof",
- "Plus",
- "Minus",
- "And",
- "PlusPlus",
- "MinusMinus",
- "LeftBrace",
- "stringlit",
- "sizeof",
- "integer",
- "floating",
- "charconst",
- "Tilde",
- "Bang",
- "__alignof__",
- "const",
- "volatile",
- "restrict",
- "static",
- "SemiColon",
- "auto",
- "extern",
- "inline",
- "register",
- "typedef",
- "LeftBracket",
- "ERROR_TOKEN",
- "char",
- "float",
- "int",
- "long",
- "short",
- "signed",
- "unsigned",
- "Comma",
- "RightParen",
- "while",
- "Colon",
- "break",
- "case",
- "continue",
- "default",
- "do",
- "double",
- "for",
- "goto",
- "if",
- "return",
- "switch",
- "void",
- "_Bool",
- "_Complex",
- "_Imaginary",
- "_Decimal32",
- "_Decimal64",
- "_Decimal128",
- "enum",
- "struct",
- "union",
- "RightBrace",
- "RightShift",
- "LeftShift",
- "Assign",
- "Dot",
- "Slash",
- "Percent",
- "LT",
- "GT",
- "LE",
- "GE",
- "MAX",
- "MIN",
- "EQ",
- "NE",
- "Caret",
- "Or",
- "AndAnd",
- "DotDotDot",
- "Arrow",
- "OrOr",
- "Question",
- "StarAssign",
- "SlashAssign",
- "PercentAssign",
- "PlusAssign",
- "MinusAssign",
- "RightShiftAssign",
- "LeftShiftAssign",
- "AndAssign",
- "CaretAssign",
- "OrAssign",
- "RightBracket",
- "EOF_TOKEN",
- "else",
- "Invalid",
- "__static_assert"
- };
+ public final static String orderedTerminalSymbols[] = { "", "LeftParen", "identifier", "pixel", "bool", "vector",
+ "EndOfCompletion", "asm", "__attribute__", "__declspec", "Star", "Completion", "typeof", "Plus", "Minus",
+ "And", "PlusPlus", "MinusMinus", "LeftBrace", "stringlit", "sizeof", "integer", "floating", "charconst",
+ "Tilde", "Bang", "__alignof__", "const", "volatile", "restrict", "static", "SemiColon", "auto", "extern",
+ "inline", "register", "typedef", "LeftBracket", "ERROR_TOKEN", "char", "float", "int", "long", "short",
+ "signed", "unsigned", "Comma", "RightParen", "while", "Colon", "break", "case", "continue", "default", "do",
+ "double", "for", "goto", "if", "return", "switch", "void", "_Bool", "_Complex", "_Imaginary", "_Decimal32",
+ "_Decimal64", "_Decimal128", "enum", "struct", "union", "RightBrace", "RightShift", "LeftShift", "Assign",
+ "Dot", "Slash", "Percent", "LT", "GT", "LE", "GE", "MAX", "MIN", "EQ", "NE", "Caret", "Or", "AndAnd",
+ "DotDotDot", "Arrow", "OrOr", "Question", "StarAssign", "SlashAssign", "PercentAssign", "PlusAssign",
+ "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", "CaretAssign", "OrAssign",
+ "RightBracket", "EOF_TOKEN", "else", "Invalid", "__static_assert" };
- public final static boolean isValidForParser = true;
+ public final static boolean isValidForParser = true;
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
index ff01c3ebd3d..6c0a202894c 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
@@ -41,2341 +41,3056 @@ import org.eclipse.cdt.core.dom.ast.gnu.cpp.*;
import org.eclipse.cdt.core.lrparser.xlc.action.XlcCPPBuildASTParserAction;
import org.eclipse.cdt.internal.core.lrparser.xlc.ast.XlcCPPNodeFactory;
-public class XlcCPPParser extends PrsStream implements RuleAction, ITokenStream,
- ITokenCollector, IParser< IASTTranslationUnit >
-
+public class XlcCPPParser extends PrsStream
+ implements RuleAction, ITokenStream, ITokenCollector, IParser<IASTTranslationUnit>
+
{
- private static ParseTable prs = new XlcCPPParserprs();
- private FixedBacktrackingParser btParser;
-
- public FixedBacktrackingParser getParser() { return btParser; }
- private void setResult(Object object) { btParser.setSym1(object); }
- public Object getRhsSym(int i) { return btParser.getSym(i); }
-
- public int getRhsTokenIndex(int i) { return btParser.getToken(i); }
- public IToken getRhsIToken(int i) { return super.getIToken(getRhsTokenIndex(i)); }
-
- public int getRhsFirstTokenIndex(int i) { return btParser.getFirstToken(i); }
- public IToken getRhsFirstIToken(int i) { return super.getIToken(getRhsFirstTokenIndex(i)); }
-
- public int getRhsLastTokenIndex(int i) { return btParser.getLastToken(i); }
- public IToken getRhsLastIToken(int i) { return super.getIToken(getRhsLastTokenIndex(i)); }
-
- public int getLeftSpan() { return btParser.getFirstToken(); }
- public IToken getLeftIToken() { return super.getIToken(getLeftSpan()); }
-
- public int getRightSpan() { return btParser.getLastToken(); }
- public IToken getRightIToken() { return super.getIToken(getRightSpan()); }
-
- public int getRhsErrorTokenIndex(int i)
- {
- int index = btParser.getToken(i);
- IToken err = super.getIToken(index);
- return (err instanceof ErrorToken ? index : 0);
- }
- public ErrorToken getRhsErrorIToken(int i)
- {
- int index = btParser.getToken(i);
- IToken err = super.getIToken(index);
- return (ErrorToken) (err instanceof ErrorToken ? err : null);
- }
-
- public XlcCPPParser(LexStream lexStream)
- {
- super(lexStream);
-
- try
- {
- super.remapTerminalSymbols(orderedTerminalSymbols(), XlcCPPParserprs.EOFT_SYMBOL);
- }
- catch(NullExportedSymbolsException e) {
- }
- catch(NullTerminalSymbolsException e) {
- }
- catch(UnimplementedTerminalsException e)
- {
- java.util.ArrayList unimplemented_symbols = e.getSymbols();
- System.out.println("The Lexer will not scan the following token(s):");
- for (int i = 0; i < unimplemented_symbols.size(); i++)
- {
- Integer id = (Integer) unimplemented_symbols.get(i);
- System.out.println(" " + XlcCPPParsersym.orderedTerminalSymbols[id.intValue()]);
- }
- System.out.println();
- }
- catch(UndefinedEofSymbolException e)
- {
- throw new Error(new UndefinedEofSymbolException
- ("The Lexer does not implement the Eof symbol " +
- XlcCPPParsersym.orderedTerminalSymbols[XlcCPPParserprs.EOFT_SYMBOL]));
- }
- }
-
- public String[] orderedTerminalSymbols() { return XlcCPPParsersym.orderedTerminalSymbols; }
- public String getTokenKindName(int kind) { return XlcCPPParsersym.orderedTerminalSymbols[kind]; }
- public int getEOFTokenKind() { return XlcCPPParserprs.EOFT_SYMBOL; }
- public PrsStream getParseStream() { return (PrsStream) this; }
-
- //
- // Report error message for given error_token.
- //
- public final void reportErrorTokenMessage(int error_token, String msg)
- {
- int firsttok = super.getFirstErrorToken(error_token),
- lasttok = super.getLastErrorToken(error_token);
- String location = super.getFileName() + ':' +
- (firsttok > lasttok
- ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
- : (super.getLine(error_token) + ":" +
- super.getColumn(error_token) + ":" +
- super.getEndLine(error_token) + ":" +
- super.getEndColumn(error_token)))
- + ": ";
- super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
- }
-
- public void parser()
- {
- parser(null, 0);
- }
-
- public void parser(Monitor monitor)
- {
- parser(monitor, 0);
- }
-
- public void parser(int error_repair_count)
- {
- parser(null, error_repair_count);
- }
-
- public void parser(Monitor monitor, int error_repair_count)
- {
- try
- {
- btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this);
- }
- catch (NotBacktrackParseTableException e)
- {
- throw new Error(new NotBacktrackParseTableException
- ("Regenerate XlcCPPParserprs.java with -BACKTRACK option"));
- }
- catch (BadParseSymFileException e)
- {
- throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- XlcCPPParsersym.java"));
- }
-
- try
- {
- btParser.parse(error_repair_count);
- }
- catch (BadParseException e)
- {
- reset(e.error_token); // point to error token
- DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
- diagnoseParser.diagnose(e.error_token);
- }
- }
-
-
-private XlcCPPBuildASTParserAction action;
-private IASTCompletionNode compNode;
-
-
-public XlcCPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) {
- initActions(properties);
- action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
- CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
-}
+ private static ParseTable prs = new XlcCPPParserprs();
+ private FixedBacktrackingParser btParser;
-private void initActions(Map<String,String> properties) {
- ScopedStack<Object> astStack = new ScopedStack<Object>();
-
- action = new XlcCPPBuildASTParserAction (this, astStack, XlcCPPNodeFactory.getDefault() , GPPSecondaryParserFactory.getDefault() );
- action.setParserProperties(properties);
-
-
+ public FixedBacktrackingParser getParser() {
+ return btParser;
+ }
- gnuAction = new GNUBuildASTParserAction (this, astStack, XlcCPPNodeFactory.getDefault() );
- gnuAction.setParserProperties(properties);
+ private void setResult(Object object) {
+ btParser.setSym1(object);
+ }
-}
+ public Object getRhsSym(int i) {
+ return btParser.getSym(i);
+ }
+ public int getRhsTokenIndex(int i) {
+ return btParser.getToken(i);
+ }
-public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
- super.addToken(token);
-}
+ public IToken getRhsIToken(int i) {
+ return super.getIToken(getRhsTokenIndex(i));
+ }
+ public int getRhsFirstTokenIndex(int i) {
+ return btParser.getFirstToken(i);
+ }
-public IASTTranslationUnit parse() {
- // this has to be done, or... kaboom!
- setStreamLength(getSize());
-
- final int errorRepairCount = -1; // -1 means full error handling
- parser(null, errorRepairCount); // do the actual parse
- super.resetTokenStream(); // allow tokens to be garbage collected
+ public IToken getRhsFirstIToken(int i) {
+ return super.getIToken(getRhsFirstTokenIndex(i));
+ }
- compNode = action.getASTCompletionNode(); // the completion node may be null
- return ( IASTTranslationUnit ) action.getParseResult();
-}
+ public int getRhsLastTokenIndex(int i) {
+ return btParser.getLastToken(i);
+ }
+ public IToken getRhsLastIToken(int i) {
+ return super.getIToken(getRhsLastTokenIndex(i));
+ }
-public IASTCompletionNode getCompletionNode() {
- return compNode;
-}
+ public int getLeftSpan() {
+ return btParser.getFirstToken();
+ }
-// uncomment this method to use with backtracking parser
-public List<IToken> getRuleTokens() {
- return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
-}
+ public IToken getLeftIToken() {
+ return super.getIToken(getLeftSpan());
+ }
-public String[] getOrderedTerminalSymbols() {
- return XlcCPPParsersym.orderedTerminalSymbols;
-}
+ public int getRightSpan() {
+ return btParser.getLastToken();
+ }
-@SuppressWarnings("nls")
-public String getName() {
- return "XlcCPPParser";
-}
+ public IToken getRightIToken() {
+ return super.getIToken(getRightSpan());
+ }
+ public int getRhsErrorTokenIndex(int i) {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (err instanceof ErrorToken ? index : 0);
+ }
-private GNUBuildASTParserAction gnuAction;
-
- public void ruleAction(int ruleNumber)
- {
- switch (ruleNumber)
- {
-
- //
- // Rule 1: <openscope-ast> ::= $Empty
- //
- case 1: { action. openASTScope(); break;
- }
-
- //
- // Rule 2: <empty> ::= $Empty
- //
- case 2: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 13: translation_unit ::= declaration_seq_opt
- //
- case 13: { action. consumeTranslationUnit(); break;
- }
-
- //
- // Rule 16: literal ::= integer
- //
- case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
- }
-
- //
- // Rule 17: literal ::= floating
- //
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
- }
-
- //
- // Rule 18: literal ::= charconst
- //
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
- }
-
- //
- // Rule 19: literal ::= stringlit
- //
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
- }
-
- //
- // Rule 20: literal ::= true
- //
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
- }
-
- //
- // Rule 21: literal ::= false
- //
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
- }
-
- //
- // Rule 22: literal ::= this
- //
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
- }
-
- //
- // Rule 24: primary_expression ::= ( expression )
- //
- case 24: { action. consumeExpressionBracketed(); break;
- }
-
- //
- // Rule 26: id_expression ::= qualified_or_unqualified_name
- //
- case 26: { action. consumeExpressionName(); break;
- }
-
- //
- // Rule 33: unqualified_id_name ::= ~ identifier_token
- //
- case 33: { action. consumeDestructorName(); break;
- }
-
- //
- // Rule 34: unqualified_id_name ::= ~ template_id_name
- //
- case 34: { action. consumeDestructorNameTemplateId(); break;
- }
-
- //
- // Rule 35: identifier_name ::= identifier_token
- //
- case 35: { action. consumeIdentifierName(); break;
- }
-
- //
- // Rule 36: template_opt ::= template
- //
- case 36: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 37: template_opt ::= $Empty
- //
- case 37: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 38: dcolon_opt ::= ::
- //
- case 38: { action. consumeToken(); break;
- }
-
- //
- // Rule 39: dcolon_opt ::= $Empty
- //
- case 39: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
- //
- case 40: { action. consumeQualifiedId(true); break;
- }
-
- //
- // Rule 41: qualified_id_name ::= :: unqualified_id_name
- //
- case 41: { action. consumeGlobalQualifiedId(); break;
- }
-
- //
- // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
- //
- case 42: { action. consumeNestedNameSpecifier(true); break;
- }
-
- //
- // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
- //
- case 43: { action. consumeNestedNameSpecifier(false); break;
- }
-
- //
- // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
- //
- case 44: { action. consumeNestedNameSpecifier(true); break;
- }
-
- //
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
- //
- case 45: { action. consumeNestedNameSpecifier(false); break;
- }
-
- //
- // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
- //
- case 46: { action. consumeNameWithTemplateKeyword(); break;
- }
-
- //
- // Rule 48: nested_name_specifier_opt ::= $Empty
- //
- case 48: { action. consumeNestedNameSpecifierEmpty(); break;
- }
-
- //
- // Rule 51: postfix_expression ::= postfix_expression [ expression ]
- //
- case 51: { action. consumeExpressionArraySubscript(); break;
- }
-
- //
- // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
- //
- case 52: { action. consumeExpressionFunctionCall(); break;
- }
-
- //
- // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
- //
- case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
- }
-
- //
- // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
- //
- case 54: { action. consumeExpressionTypeName(); break;
- }
-
- //
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
- //
- case 55: { action. consumeExpressionTypeName(); break;
- }
-
- //
- // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
- //
- case 56: { action. consumeExpressionFieldReference(false, false); break;
- }
-
- //
- // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
- //
- case 57: { action. consumeExpressionFieldReference(true, false); break;
- }
-
- //
- // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
- //
- case 58: { action. consumeExpressionFieldReference(false, true); break;
- }
-
- //
- // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
- //
- case 59: { action. consumeExpressionFieldReference(true, true); break;
- }
-
- //
- // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
- //
- case 60: { action. consumeExpressionFieldReference(false, false); break;
- }
-
- //
- // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
- //
- case 61: { action. consumeExpressionFieldReference(true, false); break;
- }
-
- //
- // Rule 62: postfix_expression ::= postfix_expression ++
- //
- case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
- }
-
- //
- // Rule 63: postfix_expression ::= postfix_expression --
- //
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
- }
-
- //
- // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
- //
- case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
- }
-
- //
- // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
- //
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
- }
-
- //
- // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
- //
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
- }
-
- //
- // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
- //
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
- }
-
- //
- // Rule 68: postfix_expression ::= typeid ( expression )
- //
- case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
- }
-
- //
- // Rule 69: postfix_expression ::= typeid ( type_id )
- //
- case 69: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
- }
-
- //
- // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
- //
- case 70: { action. consumePsudoDestructorName(true); break;
- }
-
- //
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
- //
- case 71: { action. consumePsudoDestructorName(true); break;
- }
-
- //
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
- //
- case 72: { action. consumePsudoDestructorName(false); break;
- }
-
- //
- // Rule 73: destructor_type_name ::= ~ identifier_token
- //
- case 73: { action. consumeDestructorName(); break;
- }
-
- //
- // Rule 74: destructor_type_name ::= ~ template_id_name
- //
- case 74: { action. consumeDestructorNameTemplateId(); break;
- }
-
- //
- // Rule 78: unary_expression ::= ++ cast_expression
- //
- case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
- }
-
- //
- // Rule 79: unary_expression ::= -- cast_expression
- //
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
- }
-
- //
- // Rule 80: unary_expression ::= & cast_expression
- //
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
- }
-
- //
- // Rule 81: unary_expression ::= * cast_expression
- //
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
- }
-
- //
- // Rule 82: unary_expression ::= + cast_expression
- //
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
- }
-
- //
- // Rule 83: unary_expression ::= - cast_expression
- //
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
- }
-
- //
- // Rule 84: unary_expression ::= ~ cast_expression
- //
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
- }
-
- //
- // Rule 85: unary_expression ::= ! cast_expression
- //
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
- }
-
- //
- // Rule 86: unary_expression ::= sizeof unary_expression
- //
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
- }
-
- //
- // Rule 87: unary_expression ::= sizeof ( type_id )
- //
- case 87: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
- }
-
- //
- // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
- //
- case 88: { action. consumeExpressionNew(true); break;
- }
-
- //
- // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
- //
- case 89: { action. consumeExpressionNew(false); break;
- }
-
- //
- // Rule 91: new_placement_opt ::= $Empty
- //
- case 91: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 92: new_type_id ::= type_specifier_seq
- //
- case 92: { action. consumeTypeId(false); break;
- }
-
- //
- // Rule 93: new_type_id ::= type_specifier_seq new_declarator
- //
- case 93: { action. consumeTypeId(true); break;
- }
-
- //
- // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
- //
- case 94: { action. consumeNewDeclarator(); break;
- }
-
- //
- // Rule 101: new_initializer ::= ( expression_list_opt )
- //
- case 101: { action. consumeNewInitializer(); break;
- }
-
- //
- // Rule 103: new_initializer_opt ::= $Empty
- //
- case 103: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
- //
- case 104: { action. consumeExpressionDelete(false); break;
- }
-
- //
- // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
- //
- case 105: { action. consumeExpressionDelete(true); break;
- }
-
- //
- // Rule 107: cast_expression ::= ( type_id ) cast_expression
- //
- case 107: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
- }
-
- //
- // Rule 109: pm_expression ::= pm_expression .* cast_expression
- //
- case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
- }
-
- //
- // Rule 110: pm_expression ::= pm_expression ->* cast_expression
- //
- case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
- }
-
- //
- // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
- //
- case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
- }
-
- //
- // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
- //
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
- }
-
- //
- // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
- //
- case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
- }
-
- //
- // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
- //
- case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
- }
-
- //
- // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
- //
- case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
- }
-
- //
- // Rule 119: shift_expression ::= shift_expression << additive_expression
- //
- case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
- }
-
- //
- // Rule 120: shift_expression ::= shift_expression >> additive_expression
- //
- case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
- }
-
- //
- // Rule 122: relational_expression ::= relational_expression < shift_expression
- //
- case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
- }
-
- //
- // Rule 123: relational_expression ::= relational_expression > shift_expression
- //
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
- }
-
- //
- // Rule 124: relational_expression ::= relational_expression <= shift_expression
- //
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
- }
-
- //
- // Rule 125: relational_expression ::= relational_expression >= shift_expression
- //
- case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
- }
-
- //
- // Rule 127: equality_expression ::= equality_expression == relational_expression
- //
- case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
- }
-
- //
- // Rule 128: equality_expression ::= equality_expression != relational_expression
- //
- case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
- }
-
- //
- // Rule 130: and_expression ::= and_expression & equality_expression
- //
- case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
- }
-
- //
- // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
- //
- case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
- }
-
- //
- // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
- //
- case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
- }
-
- //
- // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
- //
- case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
- }
-
- //
- // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
- //
- case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
- }
-
- //
- // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
- //
- case 140: { action. consumeExpressionConditional(); break;
- }
-
- //
- // Rule 142: relational_expression_inTemplate ::= relational_expression_inTemplate < shift_expression
- //
- case 142: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
- }
-
- //
- // Rule 143: relational_expression_inTemplate ::= ( relational_expression_inTemplate > shift_expression )
- //
- case 143: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
- }
-
- //
- // Rule 144: relational_expression_inTemplate ::= relational_expression_inTemplate <= shift_expression
- //
- case 144: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
- }
-
- //
- // Rule 145: relational_expression_inTemplate ::= relational_expression_inTemplate >= shift_expression
- //
- case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
- }
-
- //
- // Rule 147: equality_expression_inTemplate ::= equality_expression_inTemplate == relational_expression_inTemplate
- //
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
- }
-
- //
- // Rule 148: equality_expression_inTemplate ::= equality_expression_inTemplate != relational_expression_inTemplate
- //
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
- }
-
- //
- // Rule 150: and_expression_inTemplate ::= and_expression_inTemplate & equality_expression_inTemplate
- //
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
- }
-
- //
- // Rule 152: exclusive_or_expression_inTemplate ::= exclusive_or_expression_inTemplate ^ and_expression_inTemplate
- //
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
- }
-
- //
- // Rule 154: inclusive_or_expression_inTemplate ::= inclusive_or_expression_inTemplate | exclusive_or_expression_inTemplate
- //
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
- }
-
- //
- // Rule 156: logical_and_expression_inTemplate ::= logical_and_expression_inTemplate && inclusive_or_expression_inTemplate
- //
- case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
- }
-
- //
- // Rule 158: logical_or_expression_inTemplate ::= logical_or_expression_inTemplate || logical_and_expression_inTemplate
- //
- case 158: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
- }
-
- //
- // Rule 160: conditional_expression_inTemplate ::= logical_or_expression_inTemplate ? expression : assignment_expression_inTemplate
- //
- case 160: { action. consumeExpressionConditional(); break;
- }
-
- //
- // Rule 163: assignment_expression_inTemplate ::= logical_or_expression_inTemplate = assignment_expression_inTemplate
- //
- case 163: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
- }
-
- //
- // Rule 164: assignment_expression_inTemplate ::= logical_or_expression_inTemplate *= assignment_expression_inTemplate
- //
- case 164: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
- }
-
- //
- // Rule 165: assignment_expression_inTemplate ::= logical_or_expression_inTemplate /= assignment_expression_inTemplate
- //
- case 165: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
- }
-
- //
- // Rule 166: assignment_expression_inTemplate ::= logical_or_expression_inTemplate %= assignment_expression_inTemplate
- //
- case 166: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
- }
-
- //
- // Rule 167: assignment_expression_inTemplate ::= logical_or_expression_inTemplate += assignment_expression_inTemplate
- //
- case 167: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
- }
-
- //
- // Rule 168: assignment_expression_inTemplate ::= logical_or_expression_inTemplate -= assignment_expression_inTemplate
- //
- case 168: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
- }
-
- //
- // Rule 169: assignment_expression_inTemplate ::= logical_or_expression_inTemplate >>= assignment_expression_inTemplate
- //
- case 169: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
- }
-
- //
- // Rule 170: assignment_expression_inTemplate ::= logical_or_expression_inTemplate <<= assignment_expression_inTemplate
- //
- case 170: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
- }
-
- //
- // Rule 171: assignment_expression_inTemplate ::= logical_or_expression_inTemplate &= assignment_expression_inTemplate
- //
- case 171: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
- }
-
- //
- // Rule 172: assignment_expression_inTemplate ::= logical_or_expression_inTemplate ^= assignment_expression_inTemplate
- //
- case 172: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
- }
-
- //
- // Rule 173: assignment_expression_inTemplate ::= logical_or_expression_inTemplate |= assignment_expression_inTemplate
- //
- case 173: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
- }
-
- //
- // Rule 174: throw_expression ::= throw
- //
- case 174: { action. consumeExpressionThrow(false); break;
- }
-
- //
- // Rule 175: throw_expression ::= throw assignment_expression
- //
- case 175: { action. consumeExpressionThrow(true); break;
- }
-
- //
- // Rule 178: assignment_expression ::= logical_or_expression = assignment_expression
- //
- case 178: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
- }
-
- //
- // Rule 179: assignment_expression ::= logical_or_expression *= assignment_expression
- //
- case 179: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
- }
-
- //
- // Rule 180: assignment_expression ::= logical_or_expression /= assignment_expression
- //
- case 180: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
- }
-
- //
- // Rule 181: assignment_expression ::= logical_or_expression %= assignment_expression
- //
- case 181: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
- }
-
- //
- // Rule 182: assignment_expression ::= logical_or_expression += assignment_expression
- //
- case 182: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
- }
-
- //
- // Rule 183: assignment_expression ::= logical_or_expression -= assignment_expression
- //
- case 183: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
- }
-
- //
- // Rule 184: assignment_expression ::= logical_or_expression >>= assignment_expression
- //
- case 184: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
- }
-
- //
- // Rule 185: assignment_expression ::= logical_or_expression <<= assignment_expression
- //
- case 185: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
- }
-
- //
- // Rule 186: assignment_expression ::= logical_or_expression &= assignment_expression
- //
- case 186: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
- }
-
- //
- // Rule 187: assignment_expression ::= logical_or_expression ^= assignment_expression
- //
- case 187: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
- }
-
- //
- // Rule 188: assignment_expression ::= logical_or_expression |= assignment_expression
- //
- case 188: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
- }
-
- //
- // Rule 190: expression_list ::= <openscope-ast> expression_list_actual
- //
- case 190: { action. consumeExpressionList(); break;
- }
-
- //
- // Rule 194: expression_list_opt ::= $Empty
- //
- case 194: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 196: expression_opt ::= $Empty
- //
- case 196: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 199: constant_expression_opt ::= $Empty
- //
- case 199: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 208: statement ::= ERROR_TOKEN
- //
- case 208: { action. consumeStatementProblem(); break;
- }
-
- //
- // Rule 209: labeled_statement ::= identifier : statement
- //
- case 209: { action. consumeStatementLabeled(); break;
- }
-
- //
- // Rule 210: labeled_statement ::= case constant_expression : statement
- //
- case 210: { action. consumeStatementCase(); break;
- }
-
- //
- // Rule 211: labeled_statement ::= default : statement
- //
- case 211: { action. consumeStatementDefault(); break;
- }
-
- //
- // Rule 212: expression_statement ::= expression ;
- //
- case 212: { action. consumeStatementExpression(); break;
- }
-
- //
- // Rule 213: expression_statement ::= ;
- //
- case 213: { action. consumeStatementNull(); break;
- }
-
- //
- // Rule 214: compound_statement ::= { <openscope-ast> statement_seq }
- //
- case 214: { action. consumeStatementCompoundStatement(true); break;
- }
-
- //
- // Rule 215: compound_statement ::= { }
- //
- case 215: { action. consumeStatementCompoundStatement(false); break;
- }
-
- //
- // Rule 218: selection_statement ::= if ( condition ) statement
- //
- case 218: { action. consumeStatementIf(false); break;
- }
-
- //
- // Rule 219: selection_statement ::= if ( condition ) statement else statement
- //
- case 219: { action. consumeStatementIf(true); break;
- }
-
- //
- // Rule 220: selection_statement ::= switch ( condition ) statement
- //
- case 220: { action. consumeStatementSwitch(); break;
- }
-
- //
- // Rule 222: condition ::= type_specifier_seq declarator = assignment_expression
- //
- case 222: { action. consumeConditionDeclaration(); break;
- }
-
- //
- // Rule 224: condition_opt ::= $Empty
- //
- case 224: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 225: iteration_statement ::= while ( condition ) statement
- //
- case 225: { action. consumeStatementWhileLoop(); break;
- }
-
- //
- // Rule 226: iteration_statement ::= do statement while ( expression ) ;
- //
- case 226: { action. consumeStatementDoLoop(true); break;
- }
-
- //
- // Rule 227: iteration_statement ::= do statement
- //
- case 227: { action. consumeStatementDoLoop(false); break;
- }
-
- //
- // Rule 228: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
- //
- case 228: { action. consumeStatementForLoop(); break;
- }
-
- //
- // Rule 230: for_init_statement ::= simple_declaration_with_declspec
- //
- case 230: { action. consumeStatementDeclaration(); break;
- }
-
- //
- // Rule 231: jump_statement ::= break ;
- //
- case 231: { action. consumeStatementBreak(); break;
- }
-
- //
- // Rule 232: jump_statement ::= continue ;
- //
- case 232: { action. consumeStatementContinue(); break;
- }
-
- //
- // Rule 233: jump_statement ::= return expression ;
- //
- case 233: { action. consumeStatementReturn(true); break;
- }
-
- //
- // Rule 234: jump_statement ::= return ;
- //
- case 234: { action. consumeStatementReturn(false); break;
- }
-
- //
- // Rule 235: jump_statement ::= goto identifier_token ;
- //
- case 235: { action. consumeStatementGoto(); break;
- }
-
- //
- // Rule 236: declaration_statement ::= block_declaration
- //
- case 236: { action. consumeStatementDeclarationWithDisambiguation(); break;
- }
-
- //
- // Rule 237: declaration_statement ::= function_definition
- //
- case 237: { action. consumeStatementDeclaration(); break;
- }
-
- //
- // Rule 245: declaration ::= ERROR_TOKEN
- //
- case 245: { action. consumeDeclarationProblem(); break;
- }
-
- //
- // Rule 255: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
- //
- case 255: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
- //
- case 256: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 257: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
- //
- case 257: { action. consumeDeclarationSpecifiersSimple(); break;
- }
-
- //
- // Rule 258: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
- //
- case 258: { action. consumeDeclarationSpecifiersComposite(); break;
- }
-
- //
- // Rule 259: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
- //
- case 259: { action. consumeDeclarationSpecifiersComposite(); break;
- }
-
- //
- // Rule 260: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
- //
- case 260: { action. consumeDeclarationSpecifiersComposite(); break;
- }
-
- //
- // Rule 261: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
- //
- case 261: { action. consumeDeclarationSpecifiersTypeName(); break;
- }
-
- //
- // Rule 263: declaration_specifiers_opt ::= $Empty
- //
- case 263: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 267: no_type_declaration_specifier ::= friend
- //
- case 267: { action. consumeToken(); break;
- }
-
- //
- // Rule 268: no_type_declaration_specifier ::= typedef
- //
- case 268: { action. consumeToken(); break;
- }
-
- //
- // Rule 288: storage_class_specifier ::= auto
- //
- case 288: { action. consumeToken(); break;
- }
-
- //
- // Rule 289: storage_class_specifier ::= register
- //
- case 289: { action. consumeToken(); break;
- }
-
- //
- // Rule 290: storage_class_specifier ::= static
- //
- case 290: { action. consumeToken(); break;
- }
-
- //
- // Rule 291: storage_class_specifier ::= extern
- //
- case 291: { action. consumeToken(); break;
- }
-
- //
- // Rule 292: storage_class_specifier ::= mutable
- //
- case 292: { action. consumeToken(); break;
- }
-
- //
- // Rule 293: function_specifier ::= inline
- //
- case 293: { action. consumeToken(); break;
- }
-
- //
- // Rule 294: function_specifier ::= virtual
- //
- case 294: { action. consumeToken(); break;
- }
-
- //
- // Rule 295: function_specifier ::= explicit
- //
- case 295: { action. consumeToken(); break;
- }
-
- //
- // Rule 296: simple_type_specifier ::= simple_type_specifier_token
- //
- case 296: { action. consumeToken(); break;
- }
-
- //
- // Rule 310: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
- //
- case 310: { action. consumeQualifiedId(false); break;
- }
-
- //
- // Rule 311: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
- //
- case 311: { action. consumeQualifiedId(false); break;
- }
-
- //
- // Rule 312: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
- //
- case 312: { action. consumeQualifiedId(false); break;
- }
-
- //
- // Rule 313: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
- //
- case 313: { action. consumeQualifiedId(true); break;
- }
-
- //
- // Rule 315: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
- //
- case 315: { action. consumeTypeSpecifierElaborated(false); break;
- }
-
- //
- // Rule 316: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
- //
- case 316: { action. consumeTypeSpecifierElaborated(true); break;
- }
-
- //
- // Rule 317: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
- //
- case 317: { action. consumeTypeSpecifierElaborated(false); break;
- }
-
- //
- // Rule 321: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
- //
- case 321: { action. consumeTypeSpecifierEnumeration(false); break;
- }
-
- //
- // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
- //
- case 322: { action. consumeTypeSpecifierEnumeration(true); break;
- }
-
- //
- // Rule 328: enumerator_definition ::= identifier_token
- //
- case 328: { action. consumeEnumerator(false); break;
- }
-
- //
- // Rule 329: enumerator_definition ::= identifier_token = constant_expression
- //
- case 329: { action. consumeEnumerator(true); break;
- }
-
- //
- // Rule 331: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
- //
- case 331: { action. consumeNamespaceDefinition(true); break;
- }
-
- //
- // Rule 332: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
- //
- case 332: { action. consumeNamespaceDefinition(false); break;
- }
-
- //
- // Rule 334: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
- //
- case 334: { action. consumeNamespaceAliasDefinition(); break;
- }
-
- //
- // Rule 335: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
- //
- case 335: { action. consumeUsingDeclaration(); break;
- }
-
- //
- // Rule 336: typename_opt ::= typename
- //
- case 336: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 337: typename_opt ::= $Empty
- //
- case 337: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 338: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
- //
- case 338: { action. consumeUsingDirective(); break;
- }
-
- //
- // Rule 339: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
- //
- case 339: { action. consumeLinkageSpecification(); break;
- }
-
- //
- // Rule 340: linkage_specification ::= extern stringlit <openscope-ast> declaration
- //
- case 340: { action. consumeLinkageSpecification(); break;
- }
-
- //
- // Rule 345: init_declarator_complete ::= init_declarator
- //
- case 345: { action. consumeInitDeclaratorComplete(); break;
- }
-
- //
- // Rule 347: init_declarator ::= complete_declarator initializer
- //
- case 347: { action. consumeDeclaratorWithInitializer(true); break;
- }
-
- //
- // Rule 350: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
- //
- case 350: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 352: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
- //
- case 352: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 356: basic_direct_declarator ::= declarator_id_name
- //
- case 356: { action. consumeDirectDeclaratorIdentifier(); break;
- }
-
- //
- // Rule 357: basic_direct_declarator ::= ( declarator )
- //
- case 357: { action. consumeDirectDeclaratorBracketed(); break;
- }
-
- //
- // Rule 358: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
- //
- case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
- }
-
- //
- // Rule 359: array_direct_declarator ::= array_direct_declarator array_modifier
- //
- case 359: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 360: array_direct_declarator ::= basic_direct_declarator array_modifier
- //
- case 360: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 361: array_modifier ::= [ constant_expression ]
- //
- case 361: { action. consumeDirectDeclaratorArrayModifier(true); break;
- }
-
- //
- // Rule 362: array_modifier ::= [ ]
- //
- case 362: { action. consumeDirectDeclaratorArrayModifier(false); break;
- }
-
- //
- // Rule 363: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
- //
- case 363: { action. consumePointer(); break;
- }
-
- //
- // Rule 364: ptr_operator ::= pointer_hook & pointer_hook
- //
- case 364: { action. consumeReferenceOperator(); break;
- }
-
- //
- // Rule 365: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
- //
- case 365: { action. consumePointerToMember(); break;
- }
-
- //
- // Rule 372: cv_qualifier ::= const
- //
- case 372: { action. consumeToken(); break;
- }
-
- //
- // Rule 373: cv_qualifier ::= volatile
- //
- case 373: { action. consumeToken(); break;
- }
-
- //
- // Rule 375: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
- //
- case 375: { action. consumeQualifiedId(false); break;
- }
-
- //
- // Rule 376: type_id ::= type_specifier_seq
- //
- case 376: { action. consumeTypeId(false); break;
- }
-
- //
- // Rule 377: type_id ::= type_specifier_seq abstract_declarator
- //
- case 377: { action. consumeTypeId(true); break;
- }
-
- //
- // Rule 380: abstract_declarator ::= <openscope-ast> ptr_operator_seq
- //
- case 380: { action. consumeDeclaratorWithPointer(false); break;
- }
-
- //
- // Rule 381: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
- //
- case 381: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 385: basic_direct_abstract_declarator ::= ( abstract_declarator )
- //
- case 385: { action. consumeDirectDeclaratorBracketed(); break;
- }
-
- //
- // Rule 386: basic_direct_abstract_declarator ::= ( )
- //
- case 386: { action. consumeAbstractDeclaratorEmpty(); break;
- }
-
- //
- // Rule 387: array_direct_abstract_declarator ::= array_modifier
- //
- case 387: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
- }
-
- //
- // Rule 388: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
- //
- case 388: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 389: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
- //
- case 389: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
- }
-
- //
- // Rule 390: 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 390: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
- }
-
- //
- // Rule 391: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
- //
- case 391: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
- }
-
- //
- // Rule 392: parameter_declaration_clause ::= parameter_declaration_list_opt ...
- //
- case 392: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 393: parameter_declaration_clause ::= parameter_declaration_list_opt
- //
- case 393: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 394: parameter_declaration_clause ::= parameter_declaration_list , ...
- //
- case 394: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 400: abstract_declarator_opt ::= $Empty
- //
- case 400: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 401: parameter_declaration ::= declaration_specifiers parameter_init_declarator
- //
- case 401: { action. consumeParameterDeclaration(); break;
- }
-
- //
- // Rule 402: parameter_declaration ::= declaration_specifiers
- //
- case 402: { action. consumeParameterDeclarationWithoutDeclarator(); break;
- }
-
- //
- // Rule 404: parameter_init_declarator ::= declarator = parameter_initializer
- //
- case 404: { action. consumeDeclaratorWithInitializer(true); break;
- }
-
- //
- // Rule 406: parameter_init_declarator ::= abstract_declarator = parameter_initializer
- //
- case 406: { action. consumeDeclaratorWithInitializer(true); break;
- }
-
- //
- // Rule 407: parameter_init_declarator ::= = parameter_initializer
- //
- case 407: { action. consumeDeclaratorWithInitializer(false); break;
- }
-
- //
- // Rule 408: parameter_initializer ::= assignment_expression
- //
- case 408: { action. consumeInitializer(); break;
- }
-
- //
- // Rule 409: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
- //
- case 409: { action. consumeFunctionDefinition(false); break;
- }
-
- //
- // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
- //
- case 410: { action. consumeFunctionDefinition(true); break;
- }
-
- //
- // Rule 413: initializer ::= ( expression_list )
- //
- case 413: { action. consumeInitializerConstructor(); break;
- }
-
- //
- // Rule 414: initializer_clause ::= assignment_expression
- //
- case 414: { action. consumeInitializer(); break;
- }
-
- //
- // Rule 415: initializer_clause ::= initializer_list
- //
- case 415: { action. consumeInitializer(); break;
- }
-
- //
- // Rule 416: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
- //
- case 416: { action. consumeInitializerList(); break;
- }
-
- //
- // Rule 417: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
- //
- case 417: { action. consumeInitializerList(); break;
- }
-
- //
- // Rule 418: initializer_list ::= { <openscope-ast> }
- //
- case 418: { action. consumeInitializerList(); break;
- }
-
- //
- // Rule 419: start_initializer_list ::= $Empty
- //
- case 419: { action. initializerListStart(); break;
- }
-
- //
- // Rule 420: end_initializer_list ::= $Empty
- //
- case 420: { action. initializerListEnd(); break;
- }
-
- //
- // Rule 425: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
- //
- case 425: { action. consumeClassSpecifier(); break;
- }
-
- //
- // Rule 426: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
- //
- case 426: { action. consumeClassHead(false); break;
- }
-
- //
- // Rule 427: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
- //
- case 427: { action. consumeClassHead(false); break;
- }
-
- //
- // Rule 428: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
- //
- case 428: { action. consumeClassHead(true); break;
- }
-
- //
- // Rule 429: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
- //
- case 429: { action. consumeClassHead(true); break;
- }
-
- //
- // Rule 433: identifier_name_opt ::= $Empty
- //
- case 433: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 437: visibility_label ::= access_specifier_keyword :
- //
- case 437: { action. consumeVisibilityLabel(); break;
- }
-
- //
- // Rule 438: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
- //
- case 438: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 439: member_declaration ::= declaration_specifiers_opt ;
- //
- case 439: { action. consumeDeclarationSimple(false); break;
- }
-
- //
- // Rule 442: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
- //
- case 442: { action. consumeMemberDeclarationQualifiedId(); break;
- }
-
- //
- // Rule 448: member_declaration ::= ERROR_TOKEN
- //
- case 448: { action. consumeDeclarationProblem(); break;
- }
-
- //
- // Rule 457: member_declarator ::= declarator constant_initializer
- //
- case 457: { action. consumeMemberDeclaratorWithInitializer(); break;
- }
-
- //
- // Rule 458: member_declarator ::= bit_field_declarator : constant_expression
- //
- case 458: { action. consumeBitField(true); break;
- }
-
- //
- // Rule 459: member_declarator ::= : constant_expression
- //
- case 459: { action. consumeBitField(false); break;
- }
-
- //
- // Rule 460: bit_field_declarator ::= identifier_name
- //
- case 460: { action. consumeDirectDeclaratorIdentifier(); break;
- }
-
- //
- // Rule 461: constant_initializer ::= = constant_expression
- //
- case 461: { action. consumeInitializer(); break;
- }
-
- //
- // Rule 467: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
- //
- case 467: { action. consumeBaseSpecifier(false, false); break;
- }
-
- //
- // Rule 468: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
- //
- case 468: { action. consumeBaseSpecifier(true, true); break;
- }
-
- //
- // Rule 469: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
- //
- case 469: { action. consumeBaseSpecifier(true, true); break;
- }
-
- //
- // Rule 470: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
- //
- case 470: { action. consumeBaseSpecifier(true, false); break;
- }
-
- //
- // Rule 471: access_specifier_keyword ::= private
- //
- case 471: { action. consumeToken(); break;
- }
-
- //
- // Rule 472: access_specifier_keyword ::= protected
- //
- case 472: { action. consumeToken(); break;
- }
-
- //
- // Rule 473: access_specifier_keyword ::= public
- //
- case 473: { action. consumeToken(); break;
- }
-
- //
- // Rule 475: access_specifier_keyword_opt ::= $Empty
- //
- case 475: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 477: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
- //
- case 477: { action. consumeTemplateId(); break;
- }
-
- //
- // Rule 478: conversion_function_id ::= operator conversion_type_id
- //
- case 478: { action. consumeConversionName(); break;
- }
-
- //
- // Rule 479: conversion_type_id ::= type_specifier_seq conversion_declarator
- //
- case 479: { action. consumeTypeId(true); break;
- }
-
- //
- // Rule 480: conversion_type_id ::= type_specifier_seq
- //
- case 480: { action. consumeTypeId(false); break;
- }
-
- //
- // Rule 481: conversion_declarator ::= <openscope-ast> ptr_operator_seq
- //
- case 481: { action. consumeDeclaratorWithPointer(false); break;
- }
-
- //
- // Rule 487: mem_initializer ::= mem_initializer_name ( expression_list_opt )
- //
- case 487: { action. consumeConstructorChainInitializer(); break;
- }
-
- //
- // Rule 488: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
- //
- case 488: { action. consumeQualifiedId(false); break;
- }
-
- //
- // Rule 491: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
- //
- case 491: { action. consumeTemplateId(); break;
- }
-
- //
- // Rule 492: operator_id_name ::= operator overloadable_operator
- //
- case 492: { action. consumeOperatorName(); break;
- }
-
- //
- // Rule 535: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
- //
- case 535: { action. consumeTemplateDeclaration(); break;
- }
-
- //
- // Rule 536: export_opt ::= export
- //
- case 536: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 537: export_opt ::= $Empty
- //
- case 537: { action. consumeEmpty(); break;
- }
-
- //
- // Rule 541: template_parameter ::= parameter_declaration
- //
- case 541: { action. consumeTemplateParamterDeclaration(); break;
- }
-
- //
- // Rule 542: type_parameter ::= class identifier_name_opt
- //
- case 542: { action. consumeSimpleTypeTemplateParameter(false); break;
- }
-
- //
- // Rule 543: type_parameter ::= class identifier_name_opt = type_id
- //
- case 543: { action. consumeSimpleTypeTemplateParameter(true); break;
- }
-
- //
- // Rule 544: type_parameter ::= typename identifier_name_opt
- //
- case 544: { action. consumeSimpleTypeTemplateParameter(false); break;
- }
-
- //
- // Rule 545: type_parameter ::= typename identifier_name_opt = type_id
- //
- case 545: { action. consumeSimpleTypeTemplateParameter(true); break;
- }
-
- //
- // Rule 546: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
- //
- case 546: { action. consumeTemplatedTypeTemplateParameter(false); break;
- }
-
- //
- // Rule 547: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
- //
- case 547: { action. consumeTemplatedTypeTemplateParameter(true); break;
- }
-
- //
- // Rule 548: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
- //
- case 548: { action. consumeTemplateId(); break;
- }
-
- //
- // Rule 555: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate
- //
- case 555: { action. consumeNestedNameSpecifier(true); break;
- }
-
- //
- // Rule 556: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate ::
- //
- case 556: { action. consumeNestedNameSpecifier(false); break;
- }
-
- //
- // Rule 557: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate
- //
- case 557: { action. consumeNestedNameSpecifier(true); break;
- }
-
- //
- // Rule 558: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate ::
- //
- case 558: { action. consumeNestedNameSpecifier(false); break;
- }
-
- //
- // Rule 559: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate
- //
- case 559: { action. consumeNameWithTemplateKeyword(); break;
- }
-
- //
- // Rule 561: nested_name_specifier_opt_inTemplate ::= $Empty
- //
- case 561: { action. consumeNestedNameSpecifierEmpty(); break;
- }
-
- //
- // Rule 564: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name
- //
- case 564: { action. consumeQualifiedId(false); break;
- }
-
- //
- // Rule 565: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
- //
- case 565: { action. consumeQualifiedId(true); break;
- }
-
- //
- // Rule 570: declaration_specifiers_inTemplate ::= <openscope-ast> simple_declaration_specifiers
- //
- case 570: { action. consumeDeclarationSpecifiersSimple(); break;
- }
-
- //
- // Rule 571: declaration_specifiers_inTemplate ::= <openscope-ast> class_declaration_specifiers
- //
- case 571: { action. consumeDeclarationSpecifiersComposite(); break;
- }
-
- //
- // Rule 572: declaration_specifiers_inTemplate ::= <openscope-ast> elaborated_declaration_specifiers
- //
- case 572: { action. consumeDeclarationSpecifiersComposite(); break;
- }
-
- //
- // Rule 573: declaration_specifiers_inTemplate ::= <openscope-ast> enum_declaration_specifiers
- //
- case 573: { action. consumeDeclarationSpecifiersComposite(); break;
- }
-
- //
- // Rule 574: declaration_specifiers_inTemplate ::= <openscope-ast> type_name_declaration_specifiers_inTemplate
- //
- case 574: { action. consumeDeclarationSpecifiersTypeName(); break;
- }
-
- //
- // Rule 576: type_id_inTemplate ::= type_specifier_seq_inTemplate
- //
- case 576: { action. consumeTypeId(false); break;
- }
-
- //
- // Rule 577: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator
- //
- case 577: { action. consumeTypeId(true); break;
- }
-
- //
- // Rule 578: template_argument ::= assignment_expression_inTemplate
- //
- case 578: { action. consumeTemplateArgumentExpression(); break;
- }
-
- //
- // Rule 579: template_argument ::= type_id_inTemplate
- //
- case 579: { action. consumeTemplateArgumentTypeId(); break;
- }
-
- //
- // Rule 580: explicit_instantiation ::= template declaration
- //
- case 580: { action. consumeTemplateExplicitInstantiation(); break;
- }
-
- //
- // Rule 581: explicit_specialization ::= template < > declaration
- //
- case 581: { action. consumeTemplateExplicitSpecialization(); break;
- }
-
- //
- // Rule 582: try_block ::= try compound_statement <openscope-ast> handler_seq
- //
- case 582: { action. consumeStatementTryBlock(true); break;
- }
-
- //
- // Rule 583: try_block ::= try compound_statement
- //
- case 583: { action. consumeStatementTryBlock(false); break;
- }
-
- //
- // Rule 586: handler ::= catch ( exception_declaration ) compound_statement
- //
- case 586: { action. consumeStatementCatchHandler(false); break;
- }
-
- //
- // Rule 587: handler ::= catch ( ... ) compound_statement
- //
- case 587: { action. consumeStatementCatchHandler(true); break;
- }
-
- //
- // Rule 588: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
- //
- case 588: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 589: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- case 589: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 590: exception_declaration ::= type_specifier_seq
- //
- case 590: { action. consumeDeclarationSimple(false); break;
- }
-
- //
- // Rule 592: exception_specification ::= throw ( )
- //
- case 592: { action. consumePlaceHolder(); break;
- }
-
- //
- // Rule 613: attribute_parameter ::= assignment_expression
- //
- case 613: { action. consumeIgnore(); break;
- }
-
- //
- // Rule 624: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
- //
- case 624: { gnuAction.consumeDeclarationASM(); break;
- }
-
- //
- // Rule 635: unary_expression ::= __alignof__ unary_expression
- //
- case 635: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
- }
-
- //
- // Rule 636: unary_expression ::= __alignof__ ( type_id )
- //
- case 636: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break;
- }
-
- //
- // Rule 637: unary_expression ::= typeof unary_expression
- //
- case 637: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
- }
-
- //
- // Rule 638: unary_expression ::= typeof ( type_id )
- //
- case 638: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
- }
-
- //
- // Rule 639: relational_expression ::= relational_expression >? shift_expression
- //
- case 639: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break;
- }
-
- //
- // Rule 640: relational_expression ::= relational_expression <? shift_expression
- //
- case 640: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break;
- }
-
- //
- // Rule 641: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression
- //
- case 641: { action. consumeExpressionConditional(); break;
- }
-
- //
- // Rule 642: primary_expression ::= ( compound_statement )
- //
- case 642: { gnuAction.consumeCompoundStatementExpression(); break;
- }
-
- //
- // Rule 643: labeled_statement ::= case case_range_expression : statement
- //
- case 643: { action. consumeStatementCase(); break;
- }
-
- //
- // Rule 644: case_range_expression ::= constant_expression ... constant_expression
- //
- case 644: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
- }
-
- //
- // Rule 648: typeof_type_specifier ::= typeof unary_expression
- //
- case 648: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
- }
-
- //
- // Rule 649: typeof_type_specifier ::= typeof ( type_id )
- //
- case 649: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
- }
-
- //
- // Rule 650: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
- //
- case 650: { action. consumeDeclarationSpecifiersTypeof(); break;
- }
-
- //
- // Rule 663: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
- //
- case 663: { action. consumeDeclaratorWithPointer(true); break;
- }
-
- //
- // Rule 666: simple_type_specifier ::= _Complex
- //
- case 666: { action. consumeToken(); break;
- }
-
- //
- // Rule 667: simple_type_specifier ::= _Imaginary
- //
- case 667: { action. consumeToken(); break;
- }
-
- //
- // Rule 668: cv_qualifier ::= restrict
- //
- case 668: { action. consumeToken(); break;
- }
-
- //
- // Rule 669: explicit_instantiation ::= extern template declaration
- //
- case 669: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break;
- }
-
- //
- // Rule 670: explicit_instantiation ::= static template declaration
- //
- case 670: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break;
- }
-
- //
- // Rule 671: explicit_instantiation ::= inline template declaration
- //
- case 671: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break;
- }
-
- //
- // Rule 672: postfix_expression ::= ( type_id ) initializer_list
- //
- case 672: { action. consumeExpressionTypeIdInitializer(); break;
- }
-
- //
- // Rule 676: type_id ::= vector_type
- //
- case 676: { action. consumeTypeId(false); break;
- }
-
- //
- // Rule 677: type_id ::= vector_type abstract_declarator
- //
- case 677: { action. consumeTypeId(true); break;
- }
-
- //
- // Rule 678: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ;
- //
- case 678: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 679: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt
- //
- case 679: { action. consumeVectorTypeSpecifier(); break;
- }
-
- //
- // Rule 680: vector_type_specifier ::= vector_type_specifier_token
- //
- case 680: { action. consumeToken(); break;
- }
-
- //
- // Rule 703: specifier_qualifier ::= typedef
- //
- case 703: { action. consumeToken(); break;
- }
-
- //
- // Rule 704: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
- //
- case 704: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
- }
-
- //
- // Rule 705: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
- //
- case 705: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
- }
-
- //
- // Rule 706: array_modifier ::= [ static assignment_expression ]
- //
- case 706: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
- }
-
- //
- // Rule 707: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
- //
- case 707: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
- }
-
- //
- // Rule 708: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
- //
- case 708: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
- }
-
- //
- // Rule 709: array_modifier ::= [ * ]
- //
- case 709: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
- }
-
- //
- // Rule 710: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
- //
- case 710: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
- }
-
- //
- // Rule 715: static_assert_declaration ::= __static_assert ( expression , literal ) ;
- //
- case 715: { action. consumeCPPASTStaticAssertDeclaration(); break;
- }
-
-
- default:
- break;
- }
- return;
- }
-}
+ public ErrorToken getRhsErrorIToken(int i) {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (ErrorToken) (err instanceof ErrorToken ? err : null);
+ }
+
+ public XlcCPPParser(LexStream lexStream) {
+ super(lexStream);
+
+ try {
+ super.remapTerminalSymbols(orderedTerminalSymbols(), XlcCPPParserprs.EOFT_SYMBOL);
+ } catch (NullExportedSymbolsException e) {
+ } catch (NullTerminalSymbolsException e) {
+ } catch (UnimplementedTerminalsException e) {
+ java.util.ArrayList unimplemented_symbols = e.getSymbols();
+ System.out.println("The Lexer will not scan the following token(s):");
+ for (int i = 0; i < unimplemented_symbols.size(); i++) {
+ Integer id = (Integer) unimplemented_symbols.get(i);
+ System.out.println(" " + XlcCPPParsersym.orderedTerminalSymbols[id.intValue()]);
+ }
+ System.out.println();
+ } catch (UndefinedEofSymbolException e) {
+ throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol "
+ + XlcCPPParsersym.orderedTerminalSymbols[XlcCPPParserprs.EOFT_SYMBOL]));
+ }
+ }
+
+ public String[] orderedTerminalSymbols() {
+ return XlcCPPParsersym.orderedTerminalSymbols;
+ }
+
+ public String getTokenKindName(int kind) {
+ return XlcCPPParsersym.orderedTerminalSymbols[kind];
+ }
+
+ public int getEOFTokenKind() {
+ return XlcCPPParserprs.EOFT_SYMBOL;
+ }
+
+ public PrsStream getParseStream() {
+ return (PrsStream) this;
+ }
+
+ //
+ // Report error message for given error_token.
+ //
+ public final void reportErrorTokenMessage(int error_token, String msg) {
+ int firsttok = super.getFirstErrorToken(error_token), lasttok = super.getLastErrorToken(error_token);
+ String location = super.getFileName() + ':'
+ + (firsttok > lasttok ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
+ : (super.getLine(error_token) + ":" + super.getColumn(error_token) + ":"
+ + super.getEndLine(error_token) + ":" + super.getEndColumn(error_token)))
+ + ": ";
+ super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE),
+ location, msg);
+ }
+
+ public void parser() {
+ parser(null, 0);
+ }
+
+ public void parser(Monitor monitor) {
+ parser(monitor, 0);
+ }
+
+ public void parser(int error_repair_count) {
+ parser(null, error_repair_count);
+ }
+
+ public void parser(Monitor monitor, int error_repair_count) {
+ try {
+ btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this);
+ } catch (NotBacktrackParseTableException e) {
+ throw new Error(
+ new NotBacktrackParseTableException("Regenerate XlcCPPParserprs.java with -BACKTRACK option"));
+ } catch (BadParseSymFileException e) {
+ throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- XlcCPPParsersym.java"));
+ }
+
+ try {
+ btParser.parse(error_repair_count);
+ } catch (BadParseException e) {
+ reset(e.error_token); // point to error token
+ DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
+ diagnoseParser.diagnose(e.error_token);
+ }
+ }
+
+ private XlcCPPBuildASTParserAction action;
+ private IASTCompletionNode compNode;
+
+ public XlcCPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider,
+ IIndex index, Map<String, String> properties) {
+ initActions(properties);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
+ }
+
+ private void initActions(Map<String, String> properties) {
+ ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+ action = new XlcCPPBuildASTParserAction(this, astStack, XlcCPPNodeFactory.getDefault(),
+ GPPSecondaryParserFactory.getDefault());
+ action.setParserProperties(properties);
+
+ gnuAction = new GNUBuildASTParserAction(this, astStack, XlcCPPNodeFactory.getDefault());
+ gnuAction.setParserProperties(properties);
+
+ }
+
+ public void addToken(IToken token) {
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
+ super.addToken(token);
+ }
+
+ public IASTTranslationUnit parse() {
+ // this has to be done, or... kaboom!
+ setStreamLength(getSize());
+
+ final int errorRepairCount = -1; // -1 means full error handling
+ parser(null, errorRepairCount); // do the actual parse
+ super.resetTokenStream(); // allow tokens to be garbage collected
+
+ compNode = action.getASTCompletionNode(); // the completion node may be null
+ return (IASTTranslationUnit) action.getParseResult();
+ }
+
+ public IASTCompletionNode getCompletionNode() {
+ return compNode;
+ }
+
+ // uncomment this method to use with backtracking parser
+ public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
+ }
+
+ public String[] getOrderedTerminalSymbols() {
+ return XlcCPPParsersym.orderedTerminalSymbols;
+ }
+
+ @SuppressWarnings("nls")
+ public String getName() {
+ return "XlcCPPParser";
+ }
+
+ private GNUBuildASTParserAction gnuAction;
+
+ public void ruleAction(int ruleNumber) {
+ switch (ruleNumber) {
+
+ //
+ // Rule 1: <openscope-ast> ::= $Empty
+ //
+ case 1: {
+ action.openASTScope();
+ break;
+ }
+
+ //
+ // Rule 2: <empty> ::= $Empty
+ //
+ case 2: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 13: translation_unit ::= declaration_seq_opt
+ //
+ case 13: {
+ action.consumeTranslationUnit();
+ break;
+ }
+
+ //
+ // Rule 16: literal ::= integer
+ //
+ case 16: {
+ action.consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant);
+ break;
+ }
+
+ //
+ // Rule 17: literal ::= floating
+ //
+ case 17: {
+ action.consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant);
+ break;
+ }
+
+ //
+ // Rule 18: literal ::= charconst
+ //
+ case 18: {
+ action.consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant);
+ break;
+ }
+
+ //
+ // Rule 19: literal ::= stringlit
+ //
+ case 19: {
+ action.consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal);
+ break;
+ }
+
+ //
+ // Rule 20: literal ::= true
+ //
+ case 20: {
+ action.consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true);
+ break;
+ }
+
+ //
+ // Rule 21: literal ::= false
+ //
+ case 21: {
+ action.consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false);
+ break;
+ }
+
+ //
+ // Rule 22: literal ::= this
+ //
+ case 22: {
+ action.consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this);
+ break;
+ }
+
+ //
+ // Rule 24: primary_expression ::= ( expression )
+ //
+ case 24: {
+ action.consumeExpressionBracketed();
+ break;
+ }
+
+ //
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
+ //
+ case 26: {
+ action.consumeExpressionName();
+ break;
+ }
+
+ //
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
+ //
+ case 33: {
+ action.consumeDestructorName();
+ break;
+ }
+
+ //
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
+ //
+ case 34: {
+ action.consumeDestructorNameTemplateId();
+ break;
+ }
+
+ //
+ // Rule 35: identifier_name ::= identifier_token
+ //
+ case 35: {
+ action.consumeIdentifierName();
+ break;
+ }
+
+ //
+ // Rule 36: template_opt ::= template
+ //
+ case 36: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 37: template_opt ::= $Empty
+ //
+ case 37: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 38: dcolon_opt ::= ::
+ //
+ case 38: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 39: dcolon_opt ::= $Empty
+ //
+ case 39: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ //
+ case 40: {
+ action.consumeQualifiedId(true);
+ break;
+ }
+
+ //
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
+ //
+ case 41: {
+ action.consumeGlobalQualifiedId();
+ break;
+ }
+
+ //
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ //
+ case 42: {
+ action.consumeNestedNameSpecifier(true);
+ break;
+ }
+
+ //
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
+ //
+ case 43: {
+ action.consumeNestedNameSpecifier(false);
+ break;
+ }
+
+ //
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ //
+ case 44: {
+ action.consumeNestedNameSpecifier(true);
+ break;
+ }
+
+ //
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ //
+ case 45: {
+ action.consumeNestedNameSpecifier(false);
+ break;
+ }
+
+ //
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ //
+ case 46: {
+ action.consumeNameWithTemplateKeyword();
+ break;
+ }
+
+ //
+ // Rule 48: nested_name_specifier_opt ::= $Empty
+ //
+ case 48: {
+ action.consumeNestedNameSpecifierEmpty();
+ break;
+ }
+
+ //
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
+ //
+ case 51: {
+ action.consumeExpressionArraySubscript();
+ break;
+ }
+
+ //
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
+ //
+ case 52: {
+ action.consumeExpressionFunctionCall();
+ break;
+ }
+
+ //
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ //
+ case 53: {
+ action.consumeExpressionSimpleTypeConstructor();
+ break;
+ }
+
+ //
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ //
+ case 54: {
+ action.consumeExpressionTypeName();
+ break;
+ }
+
+ //
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ //
+ case 55: {
+ action.consumeExpressionTypeName();
+ break;
+ }
+
+ //
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ //
+ case 56: {
+ action.consumeExpressionFieldReference(false, false);
+ break;
+ }
+
+ //
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ //
+ case 57: {
+ action.consumeExpressionFieldReference(true, false);
+ break;
+ }
+
+ //
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ //
+ case 58: {
+ action.consumeExpressionFieldReference(false, true);
+ break;
+ }
+
+ //
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ //
+ case 59: {
+ action.consumeExpressionFieldReference(true, true);
+ break;
+ }
+
+ //
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ //
+ case 60: {
+ action.consumeExpressionFieldReference(false, false);
+ break;
+ }
+
+ //
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ //
+ case 61: {
+ action.consumeExpressionFieldReference(true, false);
+ break;
+ }
+
+ //
+ // Rule 62: postfix_expression ::= postfix_expression ++
+ //
+ case 62: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr);
+ break;
+ }
+
+ //
+ // Rule 63: postfix_expression ::= postfix_expression --
+ //
+ case 63: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr);
+ break;
+ }
+
+ //
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ //
+ case 64: {
+ action.consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast);
+ break;
+ }
+
+ //
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
+ //
+ case 65: {
+ action.consumeExpressionCast(ICPPASTCastExpression.op_static_cast);
+ break;
+ }
+
+ //
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ //
+ case 66: {
+ action.consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast);
+ break;
+ }
+
+ //
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
+ //
+ case 67: {
+ action.consumeExpressionCast(ICPPASTCastExpression.op_const_cast);
+ break;
+ }
+
+ //
+ // Rule 68: postfix_expression ::= typeid ( expression )
+ //
+ case 68: {
+ action.consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid);
+ break;
+ }
+
+ //
+ // Rule 69: postfix_expression ::= typeid ( type_id )
+ //
+ case 69: {
+ action.consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid);
+ break;
+ }
+
+ //
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ //
+ case 70: {
+ action.consumePsudoDestructorName(true);
+ break;
+ }
+
+ //
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ //
+ case 71: {
+ action.consumePsudoDestructorName(true);
+ break;
+ }
+
+ //
+ // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ //
+ case 72: {
+ action.consumePsudoDestructorName(false);
+ break;
+ }
+
+ //
+ // Rule 73: destructor_type_name ::= ~ identifier_token
+ //
+ case 73: {
+ action.consumeDestructorName();
+ break;
+ }
+
+ //
+ // Rule 74: destructor_type_name ::= ~ template_id_name
+ //
+ case 74: {
+ action.consumeDestructorNameTemplateId();
+ break;
+ }
+
+ //
+ // Rule 78: unary_expression ::= ++ cast_expression
+ //
+ case 78: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr);
+ break;
+ }
+
+ //
+ // Rule 79: unary_expression ::= -- cast_expression
+ //
+ case 79: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr);
+ break;
+ }
+
+ //
+ // Rule 80: unary_expression ::= & cast_expression
+ //
+ case 80: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper);
+ break;
+ }
+
+ //
+ // Rule 81: unary_expression ::= * cast_expression
+ //
+ case 81: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_star);
+ break;
+ }
+
+ //
+ // Rule 82: unary_expression ::= + cast_expression
+ //
+ case 82: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus);
+ break;
+ }
+
+ //
+ // Rule 83: unary_expression ::= - cast_expression
+ //
+ case 83: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus);
+ break;
+ }
+
+ //
+ // Rule 84: unary_expression ::= ~ cast_expression
+ //
+ case 84: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde);
+ break;
+ }
+
+ //
+ // Rule 85: unary_expression ::= ! cast_expression
+ //
+ case 85: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_not);
+ break;
+ }
+
+ //
+ // Rule 86: unary_expression ::= sizeof unary_expression
+ //
+ case 86: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof);
+ break;
+ }
+
+ //
+ // Rule 87: unary_expression ::= sizeof ( type_id )
+ //
+ case 87: {
+ action.consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof);
+ break;
+ }
+
+ //
+ // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ //
+ case 88: {
+ action.consumeExpressionNew(true);
+ break;
+ }
+
+ //
+ // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ //
+ case 89: {
+ action.consumeExpressionNew(false);
+ break;
+ }
+
+ //
+ // Rule 91: new_placement_opt ::= $Empty
+ //
+ case 91: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 92: new_type_id ::= type_specifier_seq
+ //
+ case 92: {
+ action.consumeTypeId(false);
+ break;
+ }
+
+ //
+ // Rule 93: new_type_id ::= type_specifier_seq new_declarator
+ //
+ case 93: {
+ action.consumeTypeId(true);
+ break;
+ }
+
+ //
+ // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
+ //
+ case 94: {
+ action.consumeNewDeclarator();
+ break;
+ }
+
+ //
+ // Rule 101: new_initializer ::= ( expression_list_opt )
+ //
+ case 101: {
+ action.consumeNewInitializer();
+ break;
+ }
+
+ //
+ // Rule 103: new_initializer_opt ::= $Empty
+ //
+ case 103: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
+ //
+ case 104: {
+ action.consumeExpressionDelete(false);
+ break;
+ }
+
+ //
+ // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ //
+ case 105: {
+ action.consumeExpressionDelete(true);
+ break;
+ }
+
+ //
+ // Rule 107: cast_expression ::= ( type_id ) cast_expression
+ //
+ case 107: {
+ action.consumeExpressionCast(ICPPASTCastExpression.op_cast);
+ break;
+ }
+
+ //
+ // Rule 109: pm_expression ::= pm_expression .* cast_expression
+ //
+ case 109: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot);
+ break;
+ }
+
+ //
+ // Rule 110: pm_expression ::= pm_expression ->* cast_expression
+ //
+ case 110: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow);
+ break;
+ }
+
+ //
+ // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
+ //
+ case 112: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply);
+ break;
+ }
+
+ //
+ // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
+ //
+ case 113: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide);
+ break;
+ }
+
+ //
+ // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
+ //
+ case 114: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo);
+ break;
+ }
+
+ //
+ // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
+ //
+ case 116: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus);
+ break;
+ }
+
+ //
+ // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
+ //
+ case 117: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus);
+ break;
+ }
+
+ //
+ // Rule 119: shift_expression ::= shift_expression << additive_expression
+ //
+ case 119: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft);
+ break;
+ }
+
+ //
+ // Rule 120: shift_expression ::= shift_expression >> additive_expression
+ //
+ case 120: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight);
+ break;
+ }
+
+ //
+ // Rule 122: relational_expression ::= relational_expression < shift_expression
+ //
+ case 122: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan);
+ break;
+ }
+
+ //
+ // Rule 123: relational_expression ::= relational_expression > shift_expression
+ //
+ case 123: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan);
+ break;
+ }
+
+ //
+ // Rule 124: relational_expression ::= relational_expression <= shift_expression
+ //
+ case 124: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual);
+ break;
+ }
+
+ //
+ // Rule 125: relational_expression ::= relational_expression >= shift_expression
+ //
+ case 125: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual);
+ break;
+ }
+
+ //
+ // Rule 127: equality_expression ::= equality_expression == relational_expression
+ //
+ case 127: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals);
+ break;
+ }
+
+ //
+ // Rule 128: equality_expression ::= equality_expression != relational_expression
+ //
+ case 128: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals);
+ break;
+ }
+
+ //
+ // Rule 130: and_expression ::= and_expression & equality_expression
+ //
+ case 130: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd);
+ break;
+ }
+
+ //
+ // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ //
+ case 132: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor);
+ break;
+ }
+
+ //
+ // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ //
+ case 134: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr);
+ break;
+ }
+
+ //
+ // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ //
+ case 136: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd);
+ break;
+ }
+
+ //
+ // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
+ //
+ case 138: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr);
+ break;
+ }
+
+ //
+ // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ //
+ case 140: {
+ action.consumeExpressionConditional();
+ break;
+ }
+
+ //
+ // Rule 142: relational_expression_inTemplate ::= relational_expression_inTemplate < shift_expression
+ //
+ case 142: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan);
+ break;
+ }
+
+ //
+ // Rule 143: relational_expression_inTemplate ::= ( relational_expression_inTemplate > shift_expression )
+ //
+ case 143: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan);
+ break;
+ }
+
+ //
+ // Rule 144: relational_expression_inTemplate ::= relational_expression_inTemplate <= shift_expression
+ //
+ case 144: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual);
+ break;
+ }
+
+ //
+ // Rule 145: relational_expression_inTemplate ::= relational_expression_inTemplate >= shift_expression
+ //
+ case 145: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual);
+ break;
+ }
+
+ //
+ // Rule 147: equality_expression_inTemplate ::= equality_expression_inTemplate == relational_expression_inTemplate
+ //
+ case 147: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals);
+ break;
+ }
+
+ //
+ // Rule 148: equality_expression_inTemplate ::= equality_expression_inTemplate != relational_expression_inTemplate
+ //
+ case 148: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals);
+ break;
+ }
+
+ //
+ // Rule 150: and_expression_inTemplate ::= and_expression_inTemplate & equality_expression_inTemplate
+ //
+ case 150: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd);
+ break;
+ }
+
+ //
+ // Rule 152: exclusive_or_expression_inTemplate ::= exclusive_or_expression_inTemplate ^ and_expression_inTemplate
+ //
+ case 152: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor);
+ break;
+ }
+
+ //
+ // Rule 154: inclusive_or_expression_inTemplate ::= inclusive_or_expression_inTemplate | exclusive_or_expression_inTemplate
+ //
+ case 154: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr);
+ break;
+ }
+
+ //
+ // Rule 156: logical_and_expression_inTemplate ::= logical_and_expression_inTemplate && inclusive_or_expression_inTemplate
+ //
+ case 156: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd);
+ break;
+ }
+
+ //
+ // Rule 158: logical_or_expression_inTemplate ::= logical_or_expression_inTemplate || logical_and_expression_inTemplate
+ //
+ case 158: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr);
+ break;
+ }
+
+ //
+ // Rule 160: conditional_expression_inTemplate ::= logical_or_expression_inTemplate ? expression : assignment_expression_inTemplate
+ //
+ case 160: {
+ action.consumeExpressionConditional();
+ break;
+ }
+
+ //
+ // Rule 163: assignment_expression_inTemplate ::= logical_or_expression_inTemplate = assignment_expression_inTemplate
+ //
+ case 163: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign);
+ break;
+ }
+
+ //
+ // Rule 164: assignment_expression_inTemplate ::= logical_or_expression_inTemplate *= assignment_expression_inTemplate
+ //
+ case 164: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign);
+ break;
+ }
+
+ //
+ // Rule 165: assignment_expression_inTemplate ::= logical_or_expression_inTemplate /= assignment_expression_inTemplate
+ //
+ case 165: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign);
+ break;
+ }
+
+ //
+ // Rule 166: assignment_expression_inTemplate ::= logical_or_expression_inTemplate %= assignment_expression_inTemplate
+ //
+ case 166: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign);
+ break;
+ }
+
+ //
+ // Rule 167: assignment_expression_inTemplate ::= logical_or_expression_inTemplate += assignment_expression_inTemplate
+ //
+ case 167: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign);
+ break;
+ }
+
+ //
+ // Rule 168: assignment_expression_inTemplate ::= logical_or_expression_inTemplate -= assignment_expression_inTemplate
+ //
+ case 168: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign);
+ break;
+ }
+
+ //
+ // Rule 169: assignment_expression_inTemplate ::= logical_or_expression_inTemplate >>= assignment_expression_inTemplate
+ //
+ case 169: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign);
+ break;
+ }
+
+ //
+ // Rule 170: assignment_expression_inTemplate ::= logical_or_expression_inTemplate <<= assignment_expression_inTemplate
+ //
+ case 170: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign);
+ break;
+ }
+
+ //
+ // Rule 171: assignment_expression_inTemplate ::= logical_or_expression_inTemplate &= assignment_expression_inTemplate
+ //
+ case 171: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign);
+ break;
+ }
+
+ //
+ // Rule 172: assignment_expression_inTemplate ::= logical_or_expression_inTemplate ^= assignment_expression_inTemplate
+ //
+ case 172: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign);
+ break;
+ }
+
+ //
+ // Rule 173: assignment_expression_inTemplate ::= logical_or_expression_inTemplate |= assignment_expression_inTemplate
+ //
+ case 173: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign);
+ break;
+ }
+
+ //
+ // Rule 174: throw_expression ::= throw
+ //
+ case 174: {
+ action.consumeExpressionThrow(false);
+ break;
+ }
+
+ //
+ // Rule 175: throw_expression ::= throw assignment_expression
+ //
+ case 175: {
+ action.consumeExpressionThrow(true);
+ break;
+ }
+
+ //
+ // Rule 178: assignment_expression ::= logical_or_expression = assignment_expression
+ //
+ case 178: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign);
+ break;
+ }
+
+ //
+ // Rule 179: assignment_expression ::= logical_or_expression *= assignment_expression
+ //
+ case 179: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign);
+ break;
+ }
+
+ //
+ // Rule 180: assignment_expression ::= logical_or_expression /= assignment_expression
+ //
+ case 180: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign);
+ break;
+ }
+
+ //
+ // Rule 181: assignment_expression ::= logical_or_expression %= assignment_expression
+ //
+ case 181: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign);
+ break;
+ }
+
+ //
+ // Rule 182: assignment_expression ::= logical_or_expression += assignment_expression
+ //
+ case 182: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign);
+ break;
+ }
+
+ //
+ // Rule 183: assignment_expression ::= logical_or_expression -= assignment_expression
+ //
+ case 183: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign);
+ break;
+ }
+
+ //
+ // Rule 184: assignment_expression ::= logical_or_expression >>= assignment_expression
+ //
+ case 184: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign);
+ break;
+ }
+
+ //
+ // Rule 185: assignment_expression ::= logical_or_expression <<= assignment_expression
+ //
+ case 185: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign);
+ break;
+ }
+
+ //
+ // Rule 186: assignment_expression ::= logical_or_expression &= assignment_expression
+ //
+ case 186: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign);
+ break;
+ }
+
+ //
+ // Rule 187: assignment_expression ::= logical_or_expression ^= assignment_expression
+ //
+ case 187: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign);
+ break;
+ }
+
+ //
+ // Rule 188: assignment_expression ::= logical_or_expression |= assignment_expression
+ //
+ case 188: {
+ action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign);
+ break;
+ }
+
+ //
+ // Rule 190: expression_list ::= <openscope-ast> expression_list_actual
+ //
+ case 190: {
+ action.consumeExpressionList();
+ break;
+ }
+
+ //
+ // Rule 194: expression_list_opt ::= $Empty
+ //
+ case 194: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 196: expression_opt ::= $Empty
+ //
+ case 196: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 199: constant_expression_opt ::= $Empty
+ //
+ case 199: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 208: statement ::= ERROR_TOKEN
+ //
+ case 208: {
+ action.consumeStatementProblem();
+ break;
+ }
+
+ //
+ // Rule 209: labeled_statement ::= identifier : statement
+ //
+ case 209: {
+ action.consumeStatementLabeled();
+ break;
+ }
+
+ //
+ // Rule 210: labeled_statement ::= case constant_expression : statement
+ //
+ case 210: {
+ action.consumeStatementCase();
+ break;
+ }
+
+ //
+ // Rule 211: labeled_statement ::= default : statement
+ //
+ case 211: {
+ action.consumeStatementDefault();
+ break;
+ }
+
+ //
+ // Rule 212: expression_statement ::= expression ;
+ //
+ case 212: {
+ action.consumeStatementExpression();
+ break;
+ }
+
+ //
+ // Rule 213: expression_statement ::= ;
+ //
+ case 213: {
+ action.consumeStatementNull();
+ break;
+ }
+
+ //
+ // Rule 214: compound_statement ::= { <openscope-ast> statement_seq }
+ //
+ case 214: {
+ action.consumeStatementCompoundStatement(true);
+ break;
+ }
+
+ //
+ // Rule 215: compound_statement ::= { }
+ //
+ case 215: {
+ action.consumeStatementCompoundStatement(false);
+ break;
+ }
+
+ //
+ // Rule 218: selection_statement ::= if ( condition ) statement
+ //
+ case 218: {
+ action.consumeStatementIf(false);
+ break;
+ }
+
+ //
+ // Rule 219: selection_statement ::= if ( condition ) statement else statement
+ //
+ case 219: {
+ action.consumeStatementIf(true);
+ break;
+ }
+
+ //
+ // Rule 220: selection_statement ::= switch ( condition ) statement
+ //
+ case 220: {
+ action.consumeStatementSwitch();
+ break;
+ }
+
+ //
+ // Rule 222: condition ::= type_specifier_seq declarator = assignment_expression
+ //
+ case 222: {
+ action.consumeConditionDeclaration();
+ break;
+ }
+
+ //
+ // Rule 224: condition_opt ::= $Empty
+ //
+ case 224: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 225: iteration_statement ::= while ( condition ) statement
+ //
+ case 225: {
+ action.consumeStatementWhileLoop();
+ break;
+ }
+
+ //
+ // Rule 226: iteration_statement ::= do statement while ( expression ) ;
+ //
+ case 226: {
+ action.consumeStatementDoLoop(true);
+ break;
+ }
+
+ //
+ // Rule 227: iteration_statement ::= do statement
+ //
+ case 227: {
+ action.consumeStatementDoLoop(false);
+ break;
+ }
+
+ //
+ // Rule 228: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ //
+ case 228: {
+ action.consumeStatementForLoop();
+ break;
+ }
+
+ //
+ // Rule 230: for_init_statement ::= simple_declaration_with_declspec
+ //
+ case 230: {
+ action.consumeStatementDeclaration();
+ break;
+ }
+
+ //
+ // Rule 231: jump_statement ::= break ;
+ //
+ case 231: {
+ action.consumeStatementBreak();
+ break;
+ }
+
+ //
+ // Rule 232: jump_statement ::= continue ;
+ //
+ case 232: {
+ action.consumeStatementContinue();
+ break;
+ }
+
+ //
+ // Rule 233: jump_statement ::= return expression ;
+ //
+ case 233: {
+ action.consumeStatementReturn(true);
+ break;
+ }
+
+ //
+ // Rule 234: jump_statement ::= return ;
+ //
+ case 234: {
+ action.consumeStatementReturn(false);
+ break;
+ }
+
+ //
+ // Rule 235: jump_statement ::= goto identifier_token ;
+ //
+ case 235: {
+ action.consumeStatementGoto();
+ break;
+ }
+
+ //
+ // Rule 236: declaration_statement ::= block_declaration
+ //
+ case 236: {
+ action.consumeStatementDeclarationWithDisambiguation();
+ break;
+ }
+
+ //
+ // Rule 237: declaration_statement ::= function_definition
+ //
+ case 237: {
+ action.consumeStatementDeclaration();
+ break;
+ }
+
+ //
+ // Rule 245: declaration ::= ERROR_TOKEN
+ //
+ case 245: {
+ action.consumeDeclarationProblem();
+ break;
+ }
+ //
+ // Rule 255: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ //
+ case 255: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ //
+ case 256: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 257: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ //
+ case 257: {
+ action.consumeDeclarationSpecifiersSimple();
+ break;
+ }
+
+ //
+ // Rule 258: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ //
+ case 258: {
+ action.consumeDeclarationSpecifiersComposite();
+ break;
+ }
+
+ //
+ // Rule 259: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ //
+ case 259: {
+ action.consumeDeclarationSpecifiersComposite();
+ break;
+ }
+
+ //
+ // Rule 260: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ //
+ case 260: {
+ action.consumeDeclarationSpecifiersComposite();
+ break;
+ }
+
+ //
+ // Rule 261: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ //
+ case 261: {
+ action.consumeDeclarationSpecifiersTypeName();
+ break;
+ }
+
+ //
+ // Rule 263: declaration_specifiers_opt ::= $Empty
+ //
+ case 263: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 267: no_type_declaration_specifier ::= friend
+ //
+ case 267: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 268: no_type_declaration_specifier ::= typedef
+ //
+ case 268: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 288: storage_class_specifier ::= auto
+ //
+ case 288: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 289: storage_class_specifier ::= register
+ //
+ case 289: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 290: storage_class_specifier ::= static
+ //
+ case 290: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 291: storage_class_specifier ::= extern
+ //
+ case 291: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 292: storage_class_specifier ::= mutable
+ //
+ case 292: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 293: function_specifier ::= inline
+ //
+ case 293: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 294: function_specifier ::= virtual
+ //
+ case 294: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 295: function_specifier ::= explicit
+ //
+ case 295: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 296: simple_type_specifier ::= simple_type_specifier_token
+ //
+ case 296: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 310: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ //
+ case 310: {
+ action.consumeQualifiedId(false);
+ break;
+ }
+
+ //
+ // Rule 311: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ //
+ case 311: {
+ action.consumeQualifiedId(false);
+ break;
+ }
+
+ //
+ // Rule 312: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ //
+ case 312: {
+ action.consumeQualifiedId(false);
+ break;
+ }
+
+ //
+ // Rule 313: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ //
+ case 313: {
+ action.consumeQualifiedId(true);
+ break;
+ }
+
+ //
+ // Rule 315: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ //
+ case 315: {
+ action.consumeTypeSpecifierElaborated(false);
+ break;
+ }
+
+ //
+ // Rule 316: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ //
+ case 316: {
+ action.consumeTypeSpecifierElaborated(true);
+ break;
+ }
+
+ //
+ // Rule 317: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ //
+ case 317: {
+ action.consumeTypeSpecifierElaborated(false);
+ break;
+ }
+
+ //
+ // Rule 321: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ //
+ case 321: {
+ action.consumeTypeSpecifierEnumeration(false);
+ break;
+ }
+
+ //
+ // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ //
+ case 322: {
+ action.consumeTypeSpecifierEnumeration(true);
+ break;
+ }
+
+ //
+ // Rule 328: enumerator_definition ::= identifier_token
+ //
+ case 328: {
+ action.consumeEnumerator(false);
+ break;
+ }
+
+ //
+ // Rule 329: enumerator_definition ::= identifier_token = constant_expression
+ //
+ case 329: {
+ action.consumeEnumerator(true);
+ break;
+ }
+
+ //
+ // Rule 331: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ //
+ case 331: {
+ action.consumeNamespaceDefinition(true);
+ break;
+ }
+
+ //
+ // Rule 332: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ //
+ case 332: {
+ action.consumeNamespaceDefinition(false);
+ break;
+ }
+
+ //
+ // Rule 334: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ //
+ case 334: {
+ action.consumeNamespaceAliasDefinition();
+ break;
+ }
+
+ //
+ // Rule 335: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ //
+ case 335: {
+ action.consumeUsingDeclaration();
+ break;
+ }
+
+ //
+ // Rule 336: typename_opt ::= typename
+ //
+ case 336: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 337: typename_opt ::= $Empty
+ //
+ case 337: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 338: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ //
+ case 338: {
+ action.consumeUsingDirective();
+ break;
+ }
+
+ //
+ // Rule 339: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ //
+ case 339: {
+ action.consumeLinkageSpecification();
+ break;
+ }
+
+ //
+ // Rule 340: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ //
+ case 340: {
+ action.consumeLinkageSpecification();
+ break;
+ }
+
+ //
+ // Rule 345: init_declarator_complete ::= init_declarator
+ //
+ case 345: {
+ action.consumeInitDeclaratorComplete();
+ break;
+ }
+
+ //
+ // Rule 347: init_declarator ::= complete_declarator initializer
+ //
+ case 347: {
+ action.consumeDeclaratorWithInitializer(true);
+ break;
+ }
+
+ //
+ // Rule 350: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ //
+ case 350: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 352: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ //
+ case 352: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 356: basic_direct_declarator ::= declarator_id_name
+ //
+ case 356: {
+ action.consumeDirectDeclaratorIdentifier();
+ break;
+ }
+
+ //
+ // Rule 357: basic_direct_declarator ::= ( declarator )
+ //
+ case 357: {
+ action.consumeDirectDeclaratorBracketed();
+ break;
+ }
+
+ //
+ // Rule 358: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ //
+ case 358: {
+ action.consumeDirectDeclaratorFunctionDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 359: array_direct_declarator ::= array_direct_declarator array_modifier
+ //
+ case 359: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 360: array_direct_declarator ::= basic_direct_declarator array_modifier
+ //
+ case 360: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 361: array_modifier ::= [ constant_expression ]
+ //
+ case 361: {
+ action.consumeDirectDeclaratorArrayModifier(true);
+ break;
+ }
+
+ //
+ // Rule 362: array_modifier ::= [ ]
+ //
+ case 362: {
+ action.consumeDirectDeclaratorArrayModifier(false);
+ break;
+ }
+
+ //
+ // Rule 363: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ //
+ case 363: {
+ action.consumePointer();
+ break;
+ }
+
+ //
+ // Rule 364: ptr_operator ::= pointer_hook & pointer_hook
+ //
+ case 364: {
+ action.consumeReferenceOperator();
+ break;
+ }
+
+ //
+ // Rule 365: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ //
+ case 365: {
+ action.consumePointerToMember();
+ break;
+ }
+
+ //
+ // Rule 372: cv_qualifier ::= const
+ //
+ case 372: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 373: cv_qualifier ::= volatile
+ //
+ case 373: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 375: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ //
+ case 375: {
+ action.consumeQualifiedId(false);
+ break;
+ }
+
+ //
+ // Rule 376: type_id ::= type_specifier_seq
+ //
+ case 376: {
+ action.consumeTypeId(false);
+ break;
+ }
+
+ //
+ // Rule 377: type_id ::= type_specifier_seq abstract_declarator
+ //
+ case 377: {
+ action.consumeTypeId(true);
+ break;
+ }
+
+ //
+ // Rule 380: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ //
+ case 380: {
+ action.consumeDeclaratorWithPointer(false);
+ break;
+ }
+
+ //
+ // Rule 381: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ //
+ case 381: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 385: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ //
+ case 385: {
+ action.consumeDirectDeclaratorBracketed();
+ break;
+ }
+
+ //
+ // Rule 386: basic_direct_abstract_declarator ::= ( )
+ //
+ case 386: {
+ action.consumeAbstractDeclaratorEmpty();
+ break;
+ }
+
+ //
+ // Rule 387: array_direct_abstract_declarator ::= array_modifier
+ //
+ case 387: {
+ action.consumeDirectDeclaratorArrayDeclarator(false);
+ break;
+ }
+
+ //
+ // Rule 388: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ //
+ case 388: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 389: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ //
+ case 389: {
+ action.consumeDirectDeclaratorArrayDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 390: 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 390: {
+ action.consumeDirectDeclaratorFunctionDeclarator(true);
+ break;
+ }
+
+ //
+ // Rule 391: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ //
+ case 391: {
+ action.consumeDirectDeclaratorFunctionDeclarator(false);
+ break;
+ }
+
+ //
+ // Rule 392: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ //
+ case 392: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 393: parameter_declaration_clause ::= parameter_declaration_list_opt
+ //
+ case 393: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 394: parameter_declaration_clause ::= parameter_declaration_list , ...
+ //
+ case 394: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 400: abstract_declarator_opt ::= $Empty
+ //
+ case 400: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 401: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ //
+ case 401: {
+ action.consumeParameterDeclaration();
+ break;
+ }
+
+ //
+ // Rule 402: parameter_declaration ::= declaration_specifiers
+ //
+ case 402: {
+ action.consumeParameterDeclarationWithoutDeclarator();
+ break;
+ }
+
+ //
+ // Rule 404: parameter_init_declarator ::= declarator = parameter_initializer
+ //
+ case 404: {
+ action.consumeDeclaratorWithInitializer(true);
+ break;
+ }
+
+ //
+ // Rule 406: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ //
+ case 406: {
+ action.consumeDeclaratorWithInitializer(true);
+ break;
+ }
+
+ //
+ // Rule 407: parameter_init_declarator ::= = parameter_initializer
+ //
+ case 407: {
+ action.consumeDeclaratorWithInitializer(false);
+ break;
+ }
+
+ //
+ // Rule 408: parameter_initializer ::= assignment_expression
+ //
+ case 408: {
+ action.consumeInitializer();
+ break;
+ }
+
+ //
+ // Rule 409: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ //
+ case 409: {
+ action.consumeFunctionDefinition(false);
+ break;
+ }
+
+ //
+ // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ //
+ case 410: {
+ action.consumeFunctionDefinition(true);
+ break;
+ }
+
+ //
+ // Rule 413: initializer ::= ( expression_list )
+ //
+ case 413: {
+ action.consumeInitializerConstructor();
+ break;
+ }
+
+ //
+ // Rule 414: initializer_clause ::= assignment_expression
+ //
+ case 414: {
+ action.consumeInitializer();
+ break;
+ }
+
+ //
+ // Rule 415: initializer_clause ::= initializer_list
+ //
+ case 415: {
+ action.consumeInitializer();
+ break;
+ }
+
+ //
+ // Rule 416: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
+ //
+ case 416: {
+ action.consumeInitializerList();
+ break;
+ }
+
+ //
+ // Rule 417: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
+ //
+ case 417: {
+ action.consumeInitializerList();
+ break;
+ }
+
+ //
+ // Rule 418: initializer_list ::= { <openscope-ast> }
+ //
+ case 418: {
+ action.consumeInitializerList();
+ break;
+ }
+
+ //
+ // Rule 419: start_initializer_list ::= $Empty
+ //
+ case 419: {
+ action.initializerListStart();
+ break;
+ }
+
+ //
+ // Rule 420: end_initializer_list ::= $Empty
+ //
+ case 420: {
+ action.initializerListEnd();
+ break;
+ }
+
+ //
+ // Rule 425: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ //
+ case 425: {
+ action.consumeClassSpecifier();
+ break;
+ }
+
+ //
+ // Rule 426: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 426: {
+ action.consumeClassHead(false);
+ break;
+ }
+
+ //
+ // Rule 427: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 427: {
+ action.consumeClassHead(false);
+ break;
+ }
+
+ //
+ // Rule 428: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 428: {
+ action.consumeClassHead(true);
+ break;
+ }
+
+ //
+ // Rule 429: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 429: {
+ action.consumeClassHead(true);
+ break;
+ }
+
+ //
+ // Rule 433: identifier_name_opt ::= $Empty
+ //
+ case 433: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 437: visibility_label ::= access_specifier_keyword :
+ //
+ case 437: {
+ action.consumeVisibilityLabel();
+ break;
+ }
+
+ //
+ // Rule 438: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ //
+ case 438: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 439: member_declaration ::= declaration_specifiers_opt ;
+ //
+ case 439: {
+ action.consumeDeclarationSimple(false);
+ break;
+ }
+
+ //
+ // Rule 442: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ //
+ case 442: {
+ action.consumeMemberDeclarationQualifiedId();
+ break;
+ }
+
+ //
+ // Rule 448: member_declaration ::= ERROR_TOKEN
+ //
+ case 448: {
+ action.consumeDeclarationProblem();
+ break;
+ }
+
+ //
+ // Rule 457: member_declarator ::= declarator constant_initializer
+ //
+ case 457: {
+ action.consumeMemberDeclaratorWithInitializer();
+ break;
+ }
+
+ //
+ // Rule 458: member_declarator ::= bit_field_declarator : constant_expression
+ //
+ case 458: {
+ action.consumeBitField(true);
+ break;
+ }
+
+ //
+ // Rule 459: member_declarator ::= : constant_expression
+ //
+ case 459: {
+ action.consumeBitField(false);
+ break;
+ }
+
+ //
+ // Rule 460: bit_field_declarator ::= identifier_name
+ //
+ case 460: {
+ action.consumeDirectDeclaratorIdentifier();
+ break;
+ }
+
+ //
+ // Rule 461: constant_initializer ::= = constant_expression
+ //
+ case 461: {
+ action.consumeInitializer();
+ break;
+ }
+
+ //
+ // Rule 467: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 467: {
+ action.consumeBaseSpecifier(false, false);
+ break;
+ }
+
+ //
+ // Rule 468: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 468: {
+ action.consumeBaseSpecifier(true, true);
+ break;
+ }
+
+ //
+ // Rule 469: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 469: {
+ action.consumeBaseSpecifier(true, true);
+ break;
+ }
+
+ //
+ // Rule 470: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 470: {
+ action.consumeBaseSpecifier(true, false);
+ break;
+ }
+
+ //
+ // Rule 471: access_specifier_keyword ::= private
+ //
+ case 471: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 472: access_specifier_keyword ::= protected
+ //
+ case 472: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 473: access_specifier_keyword ::= public
+ //
+ case 473: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 475: access_specifier_keyword_opt ::= $Empty
+ //
+ case 475: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 477: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ //
+ case 477: {
+ action.consumeTemplateId();
+ break;
+ }
+
+ //
+ // Rule 478: conversion_function_id ::= operator conversion_type_id
+ //
+ case 478: {
+ action.consumeConversionName();
+ break;
+ }
+
+ //
+ // Rule 479: conversion_type_id ::= type_specifier_seq conversion_declarator
+ //
+ case 479: {
+ action.consumeTypeId(true);
+ break;
+ }
+
+ //
+ // Rule 480: conversion_type_id ::= type_specifier_seq
+ //
+ case 480: {
+ action.consumeTypeId(false);
+ break;
+ }
+
+ //
+ // Rule 481: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ //
+ case 481: {
+ action.consumeDeclaratorWithPointer(false);
+ break;
+ }
+
+ //
+ // Rule 487: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ //
+ case 487: {
+ action.consumeConstructorChainInitializer();
+ break;
+ }
+
+ //
+ // Rule 488: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 488: {
+ action.consumeQualifiedId(false);
+ break;
+ }
+
+ //
+ // Rule 491: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ //
+ case 491: {
+ action.consumeTemplateId();
+ break;
+ }
+
+ //
+ // Rule 492: operator_id_name ::= operator overloadable_operator
+ //
+ case 492: {
+ action.consumeOperatorName();
+ break;
+ }
+
+ //
+ // Rule 535: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ //
+ case 535: {
+ action.consumeTemplateDeclaration();
+ break;
+ }
+
+ //
+ // Rule 536: export_opt ::= export
+ //
+ case 536: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 537: export_opt ::= $Empty
+ //
+ case 537: {
+ action.consumeEmpty();
+ break;
+ }
+
+ //
+ // Rule 541: template_parameter ::= parameter_declaration
+ //
+ case 541: {
+ action.consumeTemplateParamterDeclaration();
+ break;
+ }
+
+ //
+ // Rule 542: type_parameter ::= class identifier_name_opt
+ //
+ case 542: {
+ action.consumeSimpleTypeTemplateParameter(false);
+ break;
+ }
+
+ //
+ // Rule 543: type_parameter ::= class identifier_name_opt = type_id
+ //
+ case 543: {
+ action.consumeSimpleTypeTemplateParameter(true);
+ break;
+ }
+
+ //
+ // Rule 544: type_parameter ::= typename identifier_name_opt
+ //
+ case 544: {
+ action.consumeSimpleTypeTemplateParameter(false);
+ break;
+ }
+
+ //
+ // Rule 545: type_parameter ::= typename identifier_name_opt = type_id
+ //
+ case 545: {
+ action.consumeSimpleTypeTemplateParameter(true);
+ break;
+ }
+
+ //
+ // Rule 546: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ //
+ case 546: {
+ action.consumeTemplatedTypeTemplateParameter(false);
+ break;
+ }
+
+ //
+ // Rule 547: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ //
+ case 547: {
+ action.consumeTemplatedTypeTemplateParameter(true);
+ break;
+ }
+
+ //
+ // Rule 548: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ //
+ case 548: {
+ action.consumeTemplateId();
+ break;
+ }
+
+ //
+ // Rule 555: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate
+ //
+ case 555: {
+ action.consumeNestedNameSpecifier(true);
+ break;
+ }
+
+ //
+ // Rule 556: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate ::
+ //
+ case 556: {
+ action.consumeNestedNameSpecifier(false);
+ break;
+ }
+
+ //
+ // Rule 557: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate
+ //
+ case 557: {
+ action.consumeNestedNameSpecifier(true);
+ break;
+ }
+
+ //
+ // Rule 558: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate ::
+ //
+ case 558: {
+ action.consumeNestedNameSpecifier(false);
+ break;
+ }
+
+ //
+ // Rule 559: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate
+ //
+ case 559: {
+ action.consumeNameWithTemplateKeyword();
+ break;
+ }
+
+ //
+ // Rule 561: nested_name_specifier_opt_inTemplate ::= $Empty
+ //
+ case 561: {
+ action.consumeNestedNameSpecifierEmpty();
+ break;
+ }
+
+ //
+ // Rule 564: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name
+ //
+ case 564: {
+ action.consumeQualifiedId(false);
+ break;
+ }
+
+ //
+ // Rule 565: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ //
+ case 565: {
+ action.consumeQualifiedId(true);
+ break;
+ }
+
+ //
+ // Rule 570: declaration_specifiers_inTemplate ::= <openscope-ast> simple_declaration_specifiers
+ //
+ case 570: {
+ action.consumeDeclarationSpecifiersSimple();
+ break;
+ }
+
+ //
+ // Rule 571: declaration_specifiers_inTemplate ::= <openscope-ast> class_declaration_specifiers
+ //
+ case 571: {
+ action.consumeDeclarationSpecifiersComposite();
+ break;
+ }
+
+ //
+ // Rule 572: declaration_specifiers_inTemplate ::= <openscope-ast> elaborated_declaration_specifiers
+ //
+ case 572: {
+ action.consumeDeclarationSpecifiersComposite();
+ break;
+ }
+
+ //
+ // Rule 573: declaration_specifiers_inTemplate ::= <openscope-ast> enum_declaration_specifiers
+ //
+ case 573: {
+ action.consumeDeclarationSpecifiersComposite();
+ break;
+ }
+
+ //
+ // Rule 574: declaration_specifiers_inTemplate ::= <openscope-ast> type_name_declaration_specifiers_inTemplate
+ //
+ case 574: {
+ action.consumeDeclarationSpecifiersTypeName();
+ break;
+ }
+
+ //
+ // Rule 576: type_id_inTemplate ::= type_specifier_seq_inTemplate
+ //
+ case 576: {
+ action.consumeTypeId(false);
+ break;
+ }
+
+ //
+ // Rule 577: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator
+ //
+ case 577: {
+ action.consumeTypeId(true);
+ break;
+ }
+
+ //
+ // Rule 578: template_argument ::= assignment_expression_inTemplate
+ //
+ case 578: {
+ action.consumeTemplateArgumentExpression();
+ break;
+ }
+
+ //
+ // Rule 579: template_argument ::= type_id_inTemplate
+ //
+ case 579: {
+ action.consumeTemplateArgumentTypeId();
+ break;
+ }
+
+ //
+ // Rule 580: explicit_instantiation ::= template declaration
+ //
+ case 580: {
+ action.consumeTemplateExplicitInstantiation();
+ break;
+ }
+
+ //
+ // Rule 581: explicit_specialization ::= template < > declaration
+ //
+ case 581: {
+ action.consumeTemplateExplicitSpecialization();
+ break;
+ }
+
+ //
+ // Rule 582: try_block ::= try compound_statement <openscope-ast> handler_seq
+ //
+ case 582: {
+ action.consumeStatementTryBlock(true);
+ break;
+ }
+
+ //
+ // Rule 583: try_block ::= try compound_statement
+ //
+ case 583: {
+ action.consumeStatementTryBlock(false);
+ break;
+ }
+
+ //
+ // Rule 586: handler ::= catch ( exception_declaration ) compound_statement
+ //
+ case 586: {
+ action.consumeStatementCatchHandler(false);
+ break;
+ }
+
+ //
+ // Rule 587: handler ::= catch ( ... ) compound_statement
+ //
+ case 587: {
+ action.consumeStatementCatchHandler(true);
+ break;
+ }
+
+ //
+ // Rule 588: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ //
+ case 588: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 589: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ //
+ case 589: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 590: exception_declaration ::= type_specifier_seq
+ //
+ case 590: {
+ action.consumeDeclarationSimple(false);
+ break;
+ }
+
+ //
+ // Rule 592: exception_specification ::= throw ( )
+ //
+ case 592: {
+ action.consumePlaceHolder();
+ break;
+ }
+
+ //
+ // Rule 613: attribute_parameter ::= assignment_expression
+ //
+ case 613: {
+ action.consumeIgnore();
+ break;
+ }
+
+ //
+ // Rule 624: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
+ //
+ case 624: {
+ gnuAction.consumeDeclarationASM();
+ break;
+ }
+
+ //
+ // Rule 635: unary_expression ::= __alignof__ unary_expression
+ //
+ case 635: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf);
+ break;
+ }
+
+ //
+ // Rule 636: unary_expression ::= __alignof__ ( type_id )
+ //
+ case 636: {
+ action.consumeExpressionTypeId(IASTTypeIdExpression.op_alignof);
+ break;
+ }
+
+ //
+ // Rule 637: unary_expression ::= typeof unary_expression
+ //
+ case 637: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 638: unary_expression ::= typeof ( type_id )
+ //
+ case 638: {
+ action.consumeExpressionTypeId(IASTTypeIdExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 639: relational_expression ::= relational_expression >? shift_expression
+ //
+ case 639: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_max);
+ break;
+ }
+
+ //
+ // Rule 640: relational_expression ::= relational_expression <? shift_expression
+ //
+ case 640: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_min);
+ break;
+ }
+
+ //
+ // Rule 641: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression
+ //
+ case 641: {
+ action.consumeExpressionConditional();
+ break;
+ }
+
+ //
+ // Rule 642: primary_expression ::= ( compound_statement )
+ //
+ case 642: {
+ gnuAction.consumeCompoundStatementExpression();
+ break;
+ }
+
+ //
+ // Rule 643: labeled_statement ::= case case_range_expression : statement
+ //
+ case 643: {
+ action.consumeStatementCase();
+ break;
+ }
+
+ //
+ // Rule 644: case_range_expression ::= constant_expression ... constant_expression
+ //
+ case 644: {
+ action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign);
+ break;
+ }
+
+ //
+ // Rule 648: typeof_type_specifier ::= typeof unary_expression
+ //
+ case 648: {
+ action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 649: typeof_type_specifier ::= typeof ( type_id )
+ //
+ case 649: {
+ action.consumeExpressionTypeId(IASTTypeIdExpression.op_typeof);
+ break;
+ }
+
+ //
+ // Rule 650: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
+ //
+ case 650: {
+ action.consumeDeclarationSpecifiersTypeof();
+ break;
+ }
+
+ //
+ // Rule 663: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
+ //
+ case 663: {
+ action.consumeDeclaratorWithPointer(true);
+ break;
+ }
+
+ //
+ // Rule 666: simple_type_specifier ::= _Complex
+ //
+ case 666: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 667: simple_type_specifier ::= _Imaginary
+ //
+ case 667: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 668: cv_qualifier ::= restrict
+ //
+ case 668: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 669: explicit_instantiation ::= extern template declaration
+ //
+ case 669: {
+ action.consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern);
+ break;
+ }
+
+ //
+ // Rule 670: explicit_instantiation ::= static template declaration
+ //
+ case 670: {
+ action.consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static);
+ break;
+ }
+
+ //
+ // Rule 671: explicit_instantiation ::= inline template declaration
+ //
+ case 671: {
+ action.consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline);
+ break;
+ }
+
+ //
+ // Rule 672: postfix_expression ::= ( type_id ) initializer_list
+ //
+ case 672: {
+ action.consumeExpressionTypeIdInitializer();
+ break;
+ }
+
+ //
+ // Rule 676: type_id ::= vector_type
+ //
+ case 676: {
+ action.consumeTypeId(false);
+ break;
+ }
+
+ //
+ // Rule 677: type_id ::= vector_type abstract_declarator
+ //
+ case 677: {
+ action.consumeTypeId(true);
+ break;
+ }
+
+ //
+ // Rule 678: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ;
+ //
+ case 678: {
+ action.consumeDeclarationSimple(true);
+ break;
+ }
+
+ //
+ // Rule 679: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt
+ //
+ case 679: {
+ action.consumeVectorTypeSpecifier();
+ break;
+ }
+
+ //
+ // Rule 680: vector_type_specifier ::= vector_type_specifier_token
+ //
+ case 680: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 703: specifier_qualifier ::= typedef
+ //
+ case 703: {
+ action.consumeToken();
+ break;
+ }
+
+ //
+ // Rule 704: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ //
+ case 704: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false);
+ break;
+ }
+
+ //
+ // Rule 705: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ //
+ case 705: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true);
+ break;
+ }
+
+ //
+ // Rule 706: array_modifier ::= [ static assignment_expression ]
+ //
+ case 706: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true);
+ break;
+ }
+
+ //
+ // Rule 707: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ //
+ case 707: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true);
+ break;
+ }
+
+ //
+ // Rule 708: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ //
+ case 708: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true);
+ break;
+ }
+
+ //
+ // Rule 709: array_modifier ::= [ * ]
+ //
+ case 709: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false);
+ break;
+ }
+
+ //
+ // Rule 710: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ //
+ case 710: {
+ action.consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false);
+ break;
+ }
+
+ //
+ // Rule 715: static_assert_declaration ::= __static_assert ( expression , literal ) ;
+ //
+ case 715: {
+ action.consumeCPPASTStaticAssertDeclaration();
+ break;
+ }
+
+ default:
+ break;
+ }
+ return;
+ }
+}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java
index c1989d0224a..2182dbd1aa4 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java
@@ -18,4396 +18,2045 @@ package org.eclipse.cdt.internal.core.lrparser.xlc.cpp;
public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPParsersym {
- public interface IsKeyword {
- public final static byte isKeyword[] = {0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0
- };
- };
- public final static byte isKeyword[] = IsKeyword.isKeyword;
- public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
+ public interface IsKeyword {
+ public final static byte isKeyword[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 interface BaseCheck0 {
- public final static short baseCheck0[] = {0,
- 0,0,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3,1,1,1,1,1,1,
- 1,1,2,2,1,1,0,1,0,4,
- 2,3,2,3,2,2,1,0,1,1,
- 4,4,4,8,8,3,3,4,4,3,
- 3,2,2,7,7,7,7,4,4,5,
- 6,3,2,2,1,1,1,2,2,2,
- 2,2,2,2,2,2,4,7,9,3,
- 0,1,2,2,1,2,3,4,1,0,
- 3,1,0,3,5,1,4,1,3,3,
- 1,3,3,3,1,3,3,1,3,3,
- 1,3,3,3,3,1,3,3,1,3,
- 1,3,1,3,1,3,1,3,1,5,
- 1,3,5,3,3,1,3,3,1,3,
- 1,3,1,3,1,3,1,3,1,5,
- 1,1,3,3,3,3,3,3,3,3,
- 3,3,3,1,2,1,1,3,3,3,
- 3,3,3,3,3,3,3,3,1,2,
- 1,3,1,0,1,0,1,1,0,1,
- 1,1,1,1,1,1,1,1,3,4,
- 3,2,1,4,2,1,2,5,7,5,
- 1,4,1,0,5,7,2,8,1,1,
- 2,2,3,2,3,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,2,1,0,4,4,2,2,2,2,
- 2,1,0,1,1,1,1,1,1,2,
- 1,2,2,2,1,1,2,2,1,2,
- 2,1,2,2,1,2,2,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3,
- 4,4,5,2,5,6,5,0,1,0,
- 7,8,0,1,3,1,0,1,3,1,
- 7,6,0,7,6,1,0,6,6,4,
- 1,3,1,0,1,1,2,1,1,3,
- 1,3,1,1,1,1,3,9,2,2,
- 3,2,5,3,7,0,1,2,2,1,
- 0,1,1,1,3,1,2,1,1,2,
- 3,1,1,1,3,2,1,2,2,9,
- 8,2,1,3,1,3,1,0,1,0,
- 2,1,1,3,1,3,2,1,5,8,
- 1,2,3,1,1,7,6,3,0,0,
- 1,3,1,1,5,6,6,7,7,0,
- 0,1,0,1,1,1,2,4,2,2,
- 1,5,1,1,1,1,1,1,1,2,
- 1,0,1,3,1,1,2,3,2,1,
- 2,2,1,0,1,3,3,5,5,4,
- 1,1,1,1,0,1,5,2,2,1,
- 2,2,1,0,1,3,4,3,1,1,
- 5,2,1,1,3,3,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,2,2,7,1,0,1,3,1,
- 1,2,4,2,4,7,9,5,1,3,
- 1,0,1,1,3,2,3,2,2,1,
- 0,1,1,4,5,2,1,2,2,2,
- 2,2,2,2,1,1,2,1,1,2,
- 4,4,2,1,2,5,5,3,3,1,
- 4,3,1,0,1,3,1,1,1,1,
- 2,6,3,1,3,1,4,0,1,1,
- 1,3,1,0,4,3,1,2,1,3,
- 4,4,4,6,1,0,1,3,1,3,
- 0,1,4,5,2,4,2,4,3,3,
- 5,3,4,3,1,2,2,2,4,2,
- 1,1,2,2,3,2,2,3,1,1,
- 1,1,4,1,1,1,1,1,3,3,
- 3,4,1,1,1,1,2,4,5,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,2,1,0,1,0,1,1,1,
- 1,1,1,4,5,4,6,6,3,5,
- 1,1,2,1,7,-199,0,0,0,0,
- -5,0,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,-139,0,0,
- -2,0,0,0,0,-73,-3,0,-4,0,
- 0,0,0,0,0,0,-207,0,0,0,
- 0,-420,0,0,0,0,0,0,0,-64,
- -265,-16,0,0,0,0,0,-266,0,0,
- 0,0,-123,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-9,0,0,-47,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-10,-18,0,0,-111,0,
- 0,-81,0,0,0,0,0,0,-43,0,
- 0,0,0,-416,0,0,0,0,0,-42,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-11,0,0,-13,-627,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-329,
- 0,0,-58,0,0,0,0,-170,-20,0,
- -190,0,0,0,-60,0,0,0,0,0,
- 0,0,0,-306,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-221,0,
- 0,0,0,0,0,0,0,-182,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-499,0,0,0,0,
- 0,-28,0,0,0,0,-69,-19,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -164,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-174,0,0,0,-217,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-435,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-35,0,0,0,0,-474,0,0,
- 0,0,0,-183,0,0,-21,0,-79,-185,
- -66,0,0,0,0,0,0,0,0,-155,
- 0,0,0,0,0,0,-169,-218,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-436,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-338,0,0,0,0,-23,-67,0,
- 0,0,0,-573,0,0,0,0,-369,0,
- 0,0,0,0,0,0,0,0,0,-206,
- 0,0,0,0,0,-130,-24,-453,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-240,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-493,0,0,0,-163,0,0,0,
- 0,0,0,0,0,0,0,0,-429,0,
- 0,0,0,0,0,-222,0,0,0,-618,
- 0,0,0,-519,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -40,0,0,0,-407,0,0,0,-191,0,
- 0,0,0,0,0,0,-82,-25,0,0,
- 0,0,0,-208,0,0,0,0,-652,0,
- 0,0,0,0,0,0,0,-540,0,0,
- 0,0,0,-223,0,0,0,0,-681,0,
- 0,0,0,0,-653,0,0,0,0,-412,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-303,0,0,0,0,0,0,0,-77,
- 0,0,0,0,0,0,0,-693,-26,0,
- 0,0,0,0,-156,0,0,0,0,-585,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-274,0,-184,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-273,0,0,
- 0,0,0,0,-84,-526,0,0,0,0,
- 0,0,0,0,0,0,0,0,-34,-409,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-680,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,-62,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-44,
- -536,-537,0,0,0,0,0,-196,0,0,
- 0,0,0,-283,0,0,-57,0,0,-611,
- 0,0,-160,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-305,
- 0,0,-660,0,0,0,0,0,0,0,
- 0,0,-107,-45,0,0,0,0,0,-272,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-614,0,0,
- -80,-137,0,0,0,0,0,0,0,0,
- 0,0,-48,0,0,0,-209,-688,0,-50,
- -326,0,-320,0,0,0,0,0,0,0,
- 0,-280,0,0,-51,-417,0,-718,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -74,0,0,0,-633,-403,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-138,0,0,0,0,0,0,
- 0,0,0,0,0,-54,0,0,-475,-404,
- 0,0,0,0,0,-504,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-401,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-210,0,
- 0,0,0,0,0,-590,0,0,0,0,
- -59,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-121,0,-61,0,0,
- 0,0,0,0,0,0,0,0,-610,0,
- 0,0,0,0,0,-591,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-118,-83,-418,0,0,0,0,0,
- 0,0,0,0,0,-112,0,0,-76,-534,
- 0,0,-289,-212,0,-179,-86,0,0,0,
- 0,0,0,0,0,-600,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-110,0,0,-535,0,0,0,0,
- 0,0,0,0,0,-658,-371,0,-451,0,
- 0,0,0,0,0,-152,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-87,0,-88,-119,0,0,0,0,
- 0,0,0,0,0,0,-269,0,0,-102,
- 0,0,-103,0,0,-231,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-492,0,0,0,0,0,0,0,
- 0,0,0,0,0,-647,-354,0,-576,-104,
- 0,0,0,0,0,-254,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-120,0,0,0,0,
- 0,0,0,0,0,0,-105,0,-56,-485,
- 0,0,-353,0,0,0,-124,-255,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-574,0,0,0,0,0,
- 0,0,-131,0,0,0,0,0,-372,0,
- -577,-295,0,0,-106,0,0,-256,0,0,
- 0,0,-454,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-583,0,0,0,
- 0,0,0,0,0,0,0,0,-108,0,
- -578,0,0,0,-165,0,0,-257,0,0,
- 0,0,-109,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-461,0,0,0,-113,0,
- 0,0,-399,0,0,0,0,0,-117,0,
- -278,-125,0,0,0,0,0,-258,0,0,
- 0,0,-502,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-584,0,0,0,-126,-333,
- 0,0,-132,0,0,0,0,0,0,0,
- -579,-127,0,0,-172,0,0,-259,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-708,0,0,0,0,0,
- 0,0,-644,0,0,0,0,0,0,0,
- -620,-128,0,0,-193,0,0,-260,0,0,
- 0,0,-588,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,0,0,0,0,0,0,0,-515,0,
- -279,-656,0,0,-347,0,0,-261,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-636,0,0,0,-478,0,
- 0,0,-679,0,0,0,0,-211,0,0,
- -136,0,0,0,-140,0,0,-262,0,0,
- 0,0,-142,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-661,0,0,0,0,0,
- 0,0,-143,0,0,0,0,0,0,0,
- -281,0,0,0,0,0,0,-263,0,0,
- 0,0,-144,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-370,0,0,-145,-146,
- 0,0,-180,0,0,0,0,0,0,0,
- -328,-530,0,0,-147,0,0,-264,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-228,0,-716,-419,0,0,
- 0,0,-148,0,0,0,0,0,-291,0,
- -268,0,0,0,-479,0,0,-310,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-702,0,0,0,0,-374,
- 0,0,0,-334,0,0,0,0,0,-349,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-149,0,0,0,0,-351,0,0,
- 0,0,-538,0,0,0,0,0,0,0,
- 0,-683,-440,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-194,
- -441,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-150,0,-151,
- 0,0,-175,0,-129,0,0,0,0,-300,
- 0,-195,0,-375,0,-230,0,0,0,-302,
- -232,0,-153,0,0,0,0,0,0,0,
- 0,0,0,0,0,-166,-197,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -167,0,0,0,0,0,-442,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-267,-443,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-171,-304,0,0,-589,0,0,-286,
- -322,0,0,0,-288,-323,0,-177,-359,-324,
- 0,0,0,0,0,0,-192,0,-400,0,
- 0,0,0,0,0,0,0,0,0,-659,
- -198,0,-276,0,0,0,0,0,0,0,
- 0,0,-555,0,0,0,0,0,0,0,
- -444,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-325,-445,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-341,-282,-467,0,0,
- -710,0,-685,0,0,0,-703,0,0,0,
- 0,-287,0,0,0,0,0,-414,-496,0,
- -292,0,0,0,0,0,0,0,0,0,
- 0,0,-415,-476,-309,-460,-294,0,0,0,
- 0,0,0,0,0,0,0,0,-307,0,
- 0,0,0,0,-446,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-447,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-342,
- 0,0,0,0,-711,0,-704,0,0,0,
- -483,-176,-348,-311,0,0,-497,-352,0,0,
- 0,0,-312,0,-313,0,-314,0,0,0,
- 0,0,0,0,0,0,-315,-316,0,0,
- 0,0,0,-317,0,0,0,0,0,0,
- 0,0,-597,0,0,0,0,0,-448,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-363,-449,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-318,-649,-319,0,0,-30,0,
- -662,-613,-321,-335,-336,-14,0,0,0,-477,
- -503,-406,0,-512,0,0,-337,0,0,0,
- -343,0,0,0,0,0,0,0,0,-402,
- -522,-516,0,0,0,0,0,0,0,-344,
- 0,0,0,0,0,0,-345,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,0,0,0,0,0,0,
- -253,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-570,-346,
- 0,0,0,0,0,-355,0,0,0,0,
- 0,0,0,-357,-587,-617,0,-358,0,0,
- 0,0,-455,0,-408,0,0,0,-465,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-360,0,0,-495,0,
- 0,0,0,0,0,0,0,0,0,-361,
- 0,0,0,0,0,-517,0,0,0,0,
- -364,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-158,-410,-366,-367,-368,0,0,
- -598,0,0,0,0,-377,0,0,-527,-567,
- 0,0,-378,-379,0,-78,0,0,0,-568,
- 0,0,0,0,0,0,0,-518,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-380,0,0,0,-381,0,
- 0,0,-382,0,0,0,0,0,-383,0,
- 0,0,0,0,-411,-384,0,-520,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-630,-385,0,0,-386,0,
- 0,0,-634,0,0,0,0,0,-387,0,
- -388,-601,0,0,-462,-481,0,-524,-521,0,
- 0,0,0,-389,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-390,0,0,-391,0,
- 0,0,0,0,0,0,0,0,-599,0,
- 0,-650,-392,0,0,-393,0,0,-616,0,
- 0,0,0,-394,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-525,-251,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-395,-500,-396,0,0,-673,0,
- 0,-675,0,0,0,-669,0,-694,0,-397,
- 0,-696,0,-700,0,-398,0,0,0,0,
- -554,0,0,0,-691,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-405,0,0,-709,0,-707,0,0,0,
- 0,0,0,0,-421,-422,0,-671,-456,0,
- 0,-571,0,0,-528,0,0,0,0,-665,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-430,0,0,0,-464,-466,-468,0,0,
- 0,0,0,0,0,-469,0,-575,0,0,
- 0,-539,0,0,0,0,-470,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-162,0,
- -471,-510,-473,-486,0,0,0,0,0,0,
- 0,0,-488,0,-674,-489,0,0,-490,-457,
- -491,-36,0,0,0,0,0,0,0,-586,
- 0,0,0,-603,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-505,-506,0,0,-513,0,-514,0,
- 0,0,0,-529,-531,0,0,0,0,0,
- -604,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-277,-543,
- -544,-545,-546,-547,0,-548,0,0,0,0,
- -549,0,0,-550,-551,0,0,-85,0,0,
- 0,0,0,-552,-553,0,0,0,0,-557,
- 0,0,-623,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-559,-690,-560,-565,0,-569,0,0,
- 0,0,0,0,0,-580,-581,0,0,-664,
- 0,0,0,0,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,-301,-615,0,-582,0,0,0,0,0,
- 0,0,-608,-609,0,0,-619,-213,0,0,
- -631,0,-645,0,0,0,0,-646,0,0,
- 0,0,-648,-651,0,0,0,-625,-667,-628,
- 0,-38,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-498,0,0,0,
- 0,0,-676,-682,-684,-692,-701,-214,-235,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-637,-714,
- 0,0,0,0,0,0,0,0,0,-632,
- 0,0,-635,-638,0,0,0,0,0,-293,
- 0,0,0,0,-72,-639,-41,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-640,
- 0,-75,0,-641,-241,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-677,0,0,-678,-452,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-605,0,0,0,0,-689,-122,
- 0,0,0,0,0,0,0,0,0,-642,
- 0,0,0,0,0,0,0,0,-695,-698,
- 0,0,0,0,0,-655,0,0,0,0,
- 0,0,0,0,-27,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-699,-706,-717,0,
- -697,0,0,0,0,-556,0,0,0,0,
- -413,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-509,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-332,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-439,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -437,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-65,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-252,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-298,-330,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -643,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-438,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-463,0,
- 0,0,0,0,-8,0,0,0,0,0,
- 0,0,0,0,0,0,0,-327,0,0,
- 0,0,0,0,0,0,-219,0,0,0,
- 0,0,0,0,0,0,0,-225,0,0,
- 0,0,0,-29,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-593,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-224,0,0,0,0,
- 0,0,-99,0,0,0,0,0,0,0,
- 0,-670,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-32,0,0,0,0,0,0,0,
- 0,0,0,-297,0,0,0,0,0,-215,
- -594,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-216,0,0,0,0,0,0,
- -17,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-68,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-248,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-663,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-434,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-472,-159,0,0,
- 0,0,-237,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-558,-205,
- 0,0,0,0,0,0,0,-270,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-271,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -561,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,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,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-622,-49,0,0,0,0,0,-626,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-624,-70,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -71,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-666,-116,0,0,
- 0,0,0,0,0,0,0,-629,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-178,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-668,-181,
- 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,0,0,0,0,
- 0,0,0,0,0,0,-200,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -672,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-229,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-705,-339,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-350,0,
- 0,0,0,0,0,0,0,0,-501,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-715,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-22,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,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,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-242,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-249,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-250,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-308,0,0,0,0,0,0,0,
- 0,-290,0,0,0,0,0,0,-101,0,
- 0,0,0,0,-484,0,0,0,0,0,
- 0,0,0,-533,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-572,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-161,0,0,0,0,0,0,
- 0,0,0,0,0,-602,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-362,0,0,0,0,
- 0,0,0,0,0,0,0,-607,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-423,0,0,0,0,0,0,0,-31,
- 0,0,0,0,0,0,-494,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -243,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-365,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-244,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-245,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-532,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-431,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-432,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-433,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -507,0,0,0,0,0,0,0,0,0,
- 0,0,0,-356,0,0,0,0,0,0,
- -612,0,0,0,0,0,0,-542,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-299,0,0,0,-541,0,
- 0,0,0,0,0,-1,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-89,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,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,-247,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-376,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-712,0,0,0,0,0,0,0,0,
- 0,0,0,0,-39,0,0,0,0,0,
- -202,0,0,0,0,0,-621,0,0,0,
- 0,0,0,0,0,0,0,0,-33,0,
- 0,0,0,0,0,-141,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-606,0,0,0,0,0,
- 0,0,0,-114,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-657,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,0,0,0,
- 0,0,0,0,0,0,0,0,0,-480,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-220,0,0,0,0,0,0,
- -186,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-226,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-428,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-227,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-654,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,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,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,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,
- 0,0,0,0,-373,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-713,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-90,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -238,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-239,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-275,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-523,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-12,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,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,0,-686,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-285,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-52,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-687,0,0,0,-37,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-203,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-53,0,-204,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,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,0,0,0,
- 0,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,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -91,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,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,0,0,0,0,0,
- 0,0,-93,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-94,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-95,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-96,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-97,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-98,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -100,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-133,0,0,0,0,0,-424,
- 0,0,0,0,0,0,0,0,-459,0,
- -134,0,-595,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-189,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-233,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-234,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-458,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-511,0,
- 0,0,0,0,-340,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0
- };
- };
+ public final static byte isKeyword[] = IsKeyword.isKeyword;
- public interface BaseCheck1 {
- public final static short baseCheck1[] = {
- 0,0,0,0,0,0,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,0,0,0,0,-173,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-482,0,0,0,0,0,-592,
- 0,-596,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-168,0,0,0,0,
- 0,0,0,-425,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-187,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-188,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-719,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,-487,0,0,0,0,0,0,0,0,
- 0,0,-562,0,0,0,0,0,0,0,
- 0,0,-508,0,0,0,0,0,0,0,
- 0,0,0,0,-426,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-427,0,0,0,
- 0,0,0,-564,0,-563,0,0,0,0,
- 0,0,-566,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,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 boolean isKeyword(int index) {
+ return isKeyword[index] != 0;
+ }
- public final static short baseCheck[] = new short[BaseCheck0.baseCheck0.length + BaseCheck1.baseCheck1.length];
- {
- int index = 0;
- System.arraycopy(BaseCheck0.baseCheck0, 0, baseCheck, index, BaseCheck0.baseCheck0.length);
- index += BaseCheck0.baseCheck0.length;
- System.arraycopy(BaseCheck1.baseCheck1, 0, baseCheck, index, BaseCheck1.baseCheck1.length);
- };
- public final int baseCheck(int index) { return baseCheck[index]; }
- public final static short rhs[] = baseCheck;
- public final int rhs(int index) { return rhs[index]; };
+ public interface BaseCheck0 {
+ public final static short baseCheck0[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 0, 1, 0, 4, 2, 3, 2, 3, 2, 2, 1, 0, 1, 1, 4, 4, 4, 8, 8, 3, 3,
+ 4, 4, 3, 3, 2, 2, 7, 7, 7, 7, 4, 4, 5, 6, 3, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 7, 9, 3, 0, 1,
+ 2, 2, 1, 2, 3, 4, 1, 0, 3, 1, 0, 3, 5, 1, 4, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
+ 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 5, 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 1,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 3, 1, 0, 1, 0, 1,
+ 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 2, 1, 4, 2, 1, 2, 5, 7, 5, 1, 4, 1, 0, 5, 7, 2, 8, 1, 1, 2, 2,
+ 3, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 4, 4, 2, 2, 2, 2, 2, 1, 0, 1, 1, 1, 1,
+ 1, 1, 2, 1, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 4, 4, 5, 2, 5, 6, 5, 0, 1, 0, 7, 8, 0, 1, 3, 1, 0, 1, 3, 1, 7, 6, 0, 7, 6, 1, 0,
+ 6, 6, 4, 1, 3, 1, 0, 1, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 9, 2, 2, 3, 2, 5, 3, 7, 0, 1, 2, 2, 1, 0, 1,
+ 1, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 3, 2, 1, 2, 2, 9, 8, 2, 1, 3, 1, 3, 1, 0, 1, 0, 2, 1, 1, 3, 1, 3, 2,
+ 1, 5, 8, 1, 2, 3, 1, 1, 7, 6, 3, 0, 0, 1, 3, 1, 1, 5, 6, 6, 7, 7, 0, 0, 1, 0, 1, 1, 1, 2, 4, 2, 2, 1, 5,
+ 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 1, 3, 3, 5, 5, 4, 1, 1, 1, 1, 0, 1, 5,
+ 2, 2, 1, 2, 2, 1, 0, 1, 3, 4, 3, 1, 1, 5, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 7, 1, 0, 1, 3, 1, 1, 2, 4, 2, 4, 7, 9,
+ 5, 1, 3, 1, 0, 1, 1, 3, 2, 3, 2, 2, 1, 0, 1, 1, 4, 5, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 2, 4, 4,
+ 2, 1, 2, 5, 5, 3, 3, 1, 4, 3, 1, 0, 1, 3, 1, 1, 1, 1, 2, 6, 3, 1, 3, 1, 4, 0, 1, 1, 1, 3, 1, 0, 4, 3, 1,
+ 2, 1, 3, 4, 4, 4, 6, 1, 0, 1, 3, 1, 3, 0, 1, 4, 5, 2, 4, 2, 4, 3, 3, 5, 3, 4, 3, 1, 2, 2, 2, 4, 2, 1, 1,
+ 2, 2, 3, 2, 2, 3, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 3, 3, 3, 4, 1, 1, 1, 1, 2, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 4, 5, 4, 6, 6, 3, 5, 1, 1, 2, 1, 7, -199, 0, 0, 0, 0,
+ -5, 0, 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, -139, 0, 0, -2, 0, 0,
+ 0, 0, -73, -3, 0, -4, 0, 0, 0, 0, 0, 0, 0, -207, 0, 0, 0, 0, -420, 0, 0, 0, 0, 0, 0, 0, -64, -265, -16,
+ 0, 0, 0, 0, 0, -266, 0, 0, 0, 0, -123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -9, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -18, 0, 0, -111, 0, 0, -81, 0, 0, 0,
+ 0, 0, 0, -43, 0, 0, 0, 0, -416, 0, 0, 0, 0, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0,
+ -13, -627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -329, 0, 0, -58, 0, 0, 0, 0, -170, -20, 0, -190, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -499, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, -69, -19, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -174, 0, 0, 0, -217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35,
+ 0, 0, 0, 0, -474, 0, 0, 0, 0, 0, -183, 0, 0, -21, 0, -79, -185, -66, 0, 0, 0, 0, 0, 0, 0, 0, -155, 0, 0,
+ 0, 0, 0, 0, -169, -218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -338, 0, 0, 0, 0,
+ -23, -67, 0, 0, 0, 0, -573, 0, 0, 0, 0, -369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, -130,
+ -24, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, -163, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -429, 0, 0, 0, 0, 0, 0, -222, 0, 0, 0, -618, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, -407, 0, 0, 0, -191, 0, 0, 0, 0, 0,
+ 0, 0, -82, -25, 0, 0, 0, 0, 0, -208, 0, 0, 0, 0, -652, 0, 0, 0, 0, 0, 0, 0, 0, -540, 0, 0, 0, 0, 0,
+ -223, 0, 0, 0, 0, -681, 0, 0, 0, 0, 0, -653, 0, 0, 0, 0, -412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, -693, -26, 0, 0, 0, 0, 0,
+ -156, 0, 0, 0, 0, -585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, -184, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, -84, -526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -34, -409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -680, 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, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, -536, -537, 0, 0, 0, 0, 0, -196, 0, 0, 0, 0, 0,
+ -283, 0, 0, -57, 0, 0, -611, 0, 0, -160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -305, 0, 0, -660, 0, 0, 0, 0, 0, 0, 0, 0, 0, -107, -45, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -614, 0, 0, -80, -137, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, -209, -688, 0, -50, -326, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0,
+ -51, -417, 0, -718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, -633, -403, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54,
+ 0, 0, -475, -404, 0, 0, 0, 0, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0,
+ -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, -61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -610, 0, 0, 0, 0, 0, 0, -591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -118, -83, -418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -112, 0, 0, -76, -534, 0, 0, -289,
+ -212, 0, -179, -86, 0, 0, 0, 0, 0, 0, 0, 0, -600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, -535, 0, 0, 0, 0, 0, 0, 0, 0, 0, -658, -371, 0, -451, 0, 0, 0, 0, 0,
+ 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, -88,
+ -119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, -102, 0, 0, -103, 0, 0, -231, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -647, -354,
+ 0, -576, -104, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, -56, -485, 0, 0, -353, 0, 0, 0, -124,
+ -255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -574, 0, 0, 0, 0, 0,
+ 0, 0, -131, 0, 0, 0, 0, 0, -372, 0, -577, -295, 0, 0, -106, 0, 0, -256, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0,
+ -578, 0, 0, 0, -165, 0, 0, -257, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -461, 0, 0, 0, -113, 0, 0, 0, -399, 0, 0, 0, 0, 0, -117, 0, -278, -125, 0, 0, 0, 0, 0, -258, 0,
+ 0, 0, 0, -502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -584, 0, 0, 0, -126, -333,
+ 0, 0, -132, 0, 0, 0, 0, 0, 0, 0, -579, -127, 0, 0, -172, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -708, 0, 0, 0, 0, 0, 0, 0, -644, 0, 0, 0, 0, 0, 0, 0, -620,
+ -128, 0, 0, -193, 0, 0, -260, 0, 0, 0, 0, -588, 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, 0, 0, 0, 0, 0, 0, 0, -515, 0, -279, -656, 0, 0, -347, 0, 0, -261, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -636, 0, 0, 0, -478, 0, 0, 0, -679,
+ 0, 0, 0, 0, -211, 0, 0, -136, 0, 0, 0, -140, 0, 0, -262, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -661, 0, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0,
+ 0, 0, -263, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0,
+ 0, -145, -146, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, -328, -530, 0, 0, -147, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -228, 0, -716, -419, 0, 0, 0, 0, -148, 0, 0, 0,
+ 0, 0, -291, 0, -268, 0, 0, 0, -479, 0, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -702, 0, 0, 0, 0, -374, 0, 0, 0, -334, 0, 0, 0, 0, 0, -349, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -149, 0, 0, 0, 0, -351, 0, 0, 0, 0, -538, 0, 0, 0, 0, 0, 0, 0, 0, -683, -440, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -150, 0, -151, 0, 0, -175, 0, -129, 0, 0, 0, 0, -300, 0,
+ -195, 0, -375, 0, -230, 0, 0, 0, -302, -232, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -166, -197, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -167, 0, 0, 0, 0, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -171, -304, 0, 0, -589, 0, 0, -286, -322, 0, 0, 0, -288, -323, 0, -177, -359,
+ -324, 0, 0, 0, 0, 0, 0, -192, 0, -400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -659, -198, 0, -276, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -555, 0, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -325, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -341, -282, -467, 0, 0, -710, 0, -685, 0, 0, 0, -703, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, -414, -496, 0,
+ -292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -415, -476, -309, -460, -294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -307, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -342, 0, 0, 0, 0,
+ -711, 0, -704, 0, 0, 0, -483, -176, -348, -311, 0, 0, -497, -352, 0, 0, 0, 0, -312, 0, -313, 0, -314, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -315, -316, 0, 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 0, -597, 0, 0, 0, 0, 0,
+ -448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -363, -449, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -318, -649, -319, 0, 0, -30, 0,
+ -662, -613, -321, -335, -336, -14, 0, 0, 0, -477, -503, -406, 0, -512, 0, 0, -337, 0, 0, 0, -343, 0, 0,
+ 0, 0, 0, 0, 0, 0, -402, -522, -516, 0, 0, 0, 0, 0, 0, 0, -344, 0, 0, 0, 0, 0, 0, -345, 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, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -570, -346, 0, 0, 0, 0, 0, -355, 0,
+ 0, 0, 0, 0, 0, 0, -357, -587, -617, 0, -358, 0, 0, 0, 0, -455, 0, -408, 0, 0, 0, -465, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -360, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -361, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -158, -410, -366, -367, -368, 0, 0, -598, 0, 0, 0, 0, -377, 0, 0, -527, -567, 0, 0, -378, -379,
+ 0, -78, 0, 0, 0, -568, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -380, 0, 0, 0, -381, 0, 0, 0, -382, 0, 0, 0, 0, 0, -383, 0, 0, 0, 0, 0, -411,
+ -384, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -630, -385,
+ 0, 0, -386, 0, 0, 0, -634, 0, 0, 0, 0, 0, -387, 0, -388, -601, 0, 0, -462, -481, 0, -524, -521, 0, 0, 0,
+ 0, -389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -390, 0, 0, -391, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -599, 0, 0, -650, -392, 0, 0, -393, 0, 0, -616, 0, 0, 0, 0, -394, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -525, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -395, -500, -396, 0, 0, -673, 0, 0, -675, 0, 0, 0, -669, 0, -694, 0, -397, 0, -696,
+ 0, -700, 0, -398, 0, 0, 0, 0, -554, 0, 0, 0, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -405, 0, 0, -709, 0, -707, 0, 0, 0, 0, 0, 0, 0, -421, -422, 0, -671, -456, 0, 0,
+ -571, 0, 0, -528, 0, 0, 0, 0, -665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -430,
+ 0, 0, 0, -464, -466, -468, 0, 0, 0, 0, 0, 0, 0, -469, 0, -575, 0, 0, 0, -539, 0, 0, 0, 0, -470, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -162, 0, -471, -510, -473, -486, 0, 0, 0, 0, 0, 0,
+ 0, 0, -488, 0, -674, -489, 0, 0, -490, -457, -491, -36, 0, 0, 0, 0, 0, 0, 0, -586, 0, 0, 0, -603, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -505, -506, 0, 0, -513, 0,
+ -514, 0, 0, 0, 0, -529, -531, 0, 0, 0, 0, 0, -604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, -543, -544, -545, -546, -547, 0, -548, 0, 0, 0, 0, -549, 0, 0, -550,
+ -551, 0, 0, -85, 0, 0, 0, 0, 0, -552, -553, 0, 0, 0, 0, -557, 0, 0, -623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -559, -690, -560, -565, 0, -569, 0, 0, 0, 0, 0,
+ 0, 0, -580, -581, 0, 0, -664, 0, 0, 0, 0, 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, -301, -615, 0, -582, 0, 0, 0, 0, 0, 0, 0, -608, -609, 0, 0, -619, -213, 0, 0, -631,
+ 0, -645, 0, 0, 0, 0, -646, 0, 0, 0, 0, -648, -651, 0, 0, 0, -625, -667, -628, 0, -38, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, -676, -682, -684, -692, -701,
+ -214, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -637,
+ -714, 0, 0, 0, 0, 0, 0, 0, 0, 0, -632, 0, 0, -635, -638, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, -72, -639,
+ -41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -640, 0, -75, 0, -641, -241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -677, 0, 0, -678, -452, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -605, 0, 0, 0, 0, -689, -122, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -642, 0, 0, 0, 0, 0, 0, 0, 0, -695, -698, 0, 0, 0, 0, 0, -655, 0, 0, 0, 0, 0, 0, 0, 0,
+ -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -699, -706, -717, 0, -697, 0, 0, 0,
+ 0, -556, 0, 0, 0, 0, -413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -439, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -437, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298, -330, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -438, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -463, 0, 0,
+ 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, 0, 0, 0, 0, 0, -219, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -225, 0, 0, 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -224, 0, 0, 0, 0, 0, 0, -99, 0, 0, 0, 0, 0, 0, 0, 0, -670,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, 0,
+ 0, 0, 0, 0, -215, -594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, 0, 0, 0, 0, 0, 0, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -472, -159, 0, 0, 0, 0, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -558, -205, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -622, -49, 0, 0, 0, 0, 0, -626, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -624, -70, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -666, -116, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -668, -181, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -705, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -350, 0, 0, 0, 0, 0, 0, 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -308, 0, 0,
+ 0, 0, 0, 0, 0, 0, -290, 0, 0, 0, 0, 0, 0, -101, 0, 0, 0, 0, 0, -484, 0, 0, 0, 0, 0, 0, 0, 0, -533, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -423, 0, 0, 0, 0, 0, 0, 0,
+ -31, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -507, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -356, 0, 0, 0, 0, 0, 0, -612, 0, 0, 0, 0, 0, 0, -542, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -299, 0, 0, 0, -541, 0, 0, 0, 0, 0, 0, -1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -247, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -39, 0, 0, 0, 0, 0,
+ -202, 0, 0, 0, 0, 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -606, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -657, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -220, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -428, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -227, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, -373, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -238, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -239, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, -686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -687, 0, 0, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -53, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -98, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -133, 0, 0, 0, 0, 0, -424, 0, 0, 0, 0, 0, 0, 0, 0, -459, 0, -134, 0, -595, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, -340, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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 interface BaseAction0 {
- public final static char baseAction0[] = {
- 214,5,158,82,82,32,32,106,106,48,
- 48,41,41,214,1,1,15,15,15,15,
- 15,15,15,17,17,17,16,11,11,6,
- 6,6,6,6,6,2,93,93,4,4,
- 12,12,56,56,175,175,176,86,86,55,
- 18,18,18,18,18,18,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,18,
- 177,177,177,159,159,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,20,20,
- 215,215,216,216,217,180,180,181,181,178,
- 178,182,179,179,21,21,22,22,23,23,
- 23,24,24,24,24,25,25,25,26,26,
- 26,34,34,34,34,34,36,36,36,37,
- 37,38,38,39,39,42,42,45,45,46,
- 46,58,58,58,58,58,70,70,70,74,
- 74,76,76,79,79,81,81,83,83,84,
- 84,85,85,85,85,85,85,85,85,85,
- 85,85,85,85,33,33,49,49,49,49,
- 49,49,49,49,49,49,49,49,49,47,
- 35,160,160,124,124,218,218,114,249,249,
- 96,96,96,96,96,96,96,96,96,97,
- 97,97,94,94,59,59,219,219,98,98,
- 98,135,135,220,220,99,99,99,99,221,
- 221,100,100,100,100,100,101,101,103,103,
- 103,103,103,103,103,103,60,60,60,60,
- 60,136,136,134,134,61,222,31,31,31,
- 31,31,53,53,67,67,67,67,67,122,
- 122,129,129,129,129,129,130,130,130,131,
- 131,131,132,132,132,137,137,137,68,68,
- 68,68,68,69,69,69,13,14,14,14,
- 14,14,14,14,14,14,14,14,107,125,
- 125,125,125,125,125,116,116,116,184,185,
- 185,117,117,223,187,187,186,186,161,161,
- 138,91,91,162,63,52,188,188,64,105,
- 105,163,163,183,183,139,140,140,141,88,
- 88,189,189,77,77,77,72,72,71,78,
- 78,95,95,87,87,87,75,119,119,127,
- 126,126,50,50,73,73,80,80,57,123,
- 123,123,108,108,108,109,109,110,110,110,
- 111,111,142,142,142,144,144,143,143,250,
- 250,120,120,225,225,225,225,225,165,51,
- 51,191,224,224,166,166,112,112,112,113,
- 193,226,226,44,44,115,121,121,121,121,
- 228,146,145,145,118,118,118,194,195,195,
- 195,195,195,195,195,195,195,195,195,230,
- 230,227,227,229,229,148,149,149,149,149,
- 150,231,151,147,147,232,232,196,196,196,
- 196,133,133,133,233,233,8,8,9,234,
- 234,235,197,190,190,198,198,199,200,200,
- 7,7,10,236,236,236,236,236,236,236,
- 236,236,236,236,236,236,236,236,236,236,
- 236,236,236,236,236,236,236,236,236,236,
- 236,236,236,236,236,236,236,236,236,236,
- 236,236,236,236,236,89,92,92,201,201,
- 168,168,169,169,169,169,169,169,3,170,
- 170,167,167,202,251,252,252,253,253,254,
- 255,255,203,204,204,204,204,237,237,237,
- 153,153,153,153,153,154,155,155,152,152,
- 104,90,102,102,192,192,156,156,238,238,
- 238,171,171,164,164,239,239,27,27,27,
- 43,43,28,28,240,240,205,205,205,206,
- 206,241,241,207,207,29,29,242,242,208,
- 208,208,208,30,65,243,243,244,244,209,
- 209,209,172,172,172,19,19,19,19,34,
- 34,46,17,97,245,157,157,157,128,128,
- 31,62,67,141,141,141,148,148,148,223,
- 228,146,75,88,184,162,13,13,50,104,
- 104,104,18,14,14,14,80,80,66,40,
- 173,174,174,174,174,174,174,174,174,174,
- 211,211,247,247,246,246,210,210,50,60,
- 60,1,1,256,95,95,95,95,95,95,
- 95,212,213,213,195,54,1834,35,3267,3255,
- 5724,2223,27,30,31,1654,1590,26,28,3254,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,652,597,598,599,2070,1533,177,
- 2589,1620,2643,2605,2788,2713,6304,419,2790,77,
- 308,2813,176,2806,4961,191,266,2505,35,1703,
- 32,5759,4085,27,30,31,1654,1590,57,28,
- 1976,1143,77,269,264,265,1563,1563,5086,35,
- 1703,32,4863,2584,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,1907,189,189,2055,2402,
- 2352,34,2589,309,2643,2605,2788,2713,3720,1878,
- 3726,276,279,282,3249,2298,520,992,6745,939,
- 5436,285,5627,1946,645,5837,4375,4784,6180,1630,
- 35,1703,32,6769,3083,41,30,31,1654,1590,
- 3859,35,1703,32,5364,4563,27,30,31,1654,
- 1590,374,28,7538,2437,534,2505,4859,1909,35,
- 3267,3255,5724,2593,27,30,31,1654,1590,26,
- 28,3254,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,652,597,598,599,998,
- 5741,177,2589,521,2643,2605,2788,2713,5738,617,
- 2790,1240,308,2813,176,623,1117,191,266,8297,
- 680,354,1199,356,2055,35,317,349,1121,3706,
- 600,597,598,599,61,269,264,265,1923,2584,
- 615,2651,601,597,598,599,925,2723,3559,35,
- 1703,32,4863,6013,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,3153,309,2055,35,1509,424,
- 919,162,1535,276,279,282,3249,725,520,992,
- 6964,426,5471,285,347,463,645,5837,4375,4784,
- 6180,1719,35,1703,32,6769,3144,2451,30,31,
- 1654,1590,672,2047,600,597,598,599,3157,1944,
- 488,496,3155,1430,3168,7538,483,3167,2505,3174,
- 3859,3244,161,578,2055,35,6535,4635,3559,35,
- 1703,32,4863,6013,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,3153,1692,5216,35,1703,32,
- 4863,162,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,3153,3765,35,314,3144,3988,2055,3480,
- 549,575,3055,579,3525,35,312,78,3157,520,
- 4344,1776,3155,5543,3168,3069,618,3167,3246,3174,
- 77,3244,161,578,3974,1563,4758,2959,3559,35,
- 1703,32,4863,6013,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,3153,2874,5216,35,1703,32,
- 4863,162,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,3153,3765,35,314,3144,6035,628,1529,
- 549,575,3055,579,4672,35,312,1713,3157,2323,
- 35,432,3155,2911,3168,3416,359,3167,3246,3174,
- 5934,3244,161,578,3976,1563,2518,719,4162,35,
- 1703,32,4863,6013,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,3153,193,5086,35,1703,32,
- 4863,162,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,3533,2055,35,4047,3144,2055,35,330,
- 549,575,3055,579,360,42,3253,2485,3157,3765,
- 35,566,3155,6539,3168,3430,2584,3167,3246,3174,
- 4337,3244,161,578,4237,35,1703,32,4863,1384,
- 27,30,31,1654,1590,26,28,2249,296,23,
- 25,50,2263,106,76,77,108,2513,2563,2543,
- 2590,224,604,3032,3143,2959,839,177,2589,3735,
- 2643,2605,2788,2713,3927,2651,2790,520,730,2813,
- 176,5580,1283,414,4533,35,1703,32,5759,214,
- 27,30,31,1654,1590,56,28,2910,2055,3775,
- 550,575,3055,579,1719,35,1703,32,495,4500,
- 40,30,31,1654,1590,3793,35,1703,32,4863,
- 3735,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,108,2513,2563,
- 2543,2590,3525,35,315,2301,415,2047,177,2589,
- 77,2643,2605,2788,2713,8229,2651,2790,5943,1,
- 2813,176,1384,1563,414,3946,35,1703,32,4863,
- 3631,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,108,2513,2563,
- 2543,2590,2584,189,2055,35,2352,311,177,2589,
- 421,2643,2605,2788,2713,195,2651,2790,1548,88,
- 2813,176,102,1496,414,77,1719,35,1703,32,
- 958,2732,3592,30,31,1654,1590,415,2047,2502,
- 4087,35,1703,32,4863,1925,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,108,2513,2563,2543,2590,3159,712,325,
- 3183,60,4340,177,2589,5683,2643,2605,2788,2713,
- 605,3032,2790,358,361,2813,176,415,2047,613,
- 593,422,417,4501,35,1703,32,4863,378,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,2590,
- 2596,4864,4085,678,3724,6501,177,2589,2973,2643,
- 2605,2788,2713,4636,2466,2790,584,1535,2813,176,
- 4096,412,191,3484,35,1703,32,4863,1488,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,2590,
- 2459,3775,2096,2055,35,1509,424,2589,2501,2643,
- 2605,2788,2713,520,2984,2790,4398,5220,2943,197,
- 4012,35,1703,32,4863,1825,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,108,2513,2563,2543,2590,467,4734,35,
- 564,4401,1535,177,2589,362,2643,2605,2788,2713,
- 1746,1790,2790,3178,215,2813,176,5934,4929,3280,
- 821,2584,1563,2055,35,2352,313,611,601,597,
- 598,599,2067,2505,1889,3181,3083,1472,4194,35,
- 1703,32,6187,2635,27,30,31,1654,1590,26,
- 28,3179,193,474,547,3631,3727,35,1703,32,
- 4863,3676,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,603,520,4397,630,3252,5687,177,
- 2589,2535,2643,2605,2788,2713,946,465,2790,5928,
- 2467,2813,176,8126,1563,3281,4501,35,1703,32,
- 4863,324,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,4094,189,1548,772,3776,704,177,
- 2589,3148,2643,2605,2788,2713,3490,234,2790,77,
- 713,2813,176,2940,1563,408,4501,35,1703,32,
- 4863,225,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,427,189,712,3675,463,134,177,
- 2589,4767,2643,2605,2788,2713,2153,89,2790,4704,
- 102,2813,176,6888,2841,408,4501,35,1703,32,
- 4863,584,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,5818,3825,2055,35,2352,316,177,
- 2589,628,2643,2605,2788,2713,68,3709,2790,2201,
- 3083,2813,176,3070,1535,408,1535,2055,35,1509,
- 424,601,597,598,599,357,4087,35,1703,32,
- 4863,407,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,77,255,1598,3083,2904,2498,177,
- 2589,308,2643,2605,2788,2713,520,3070,2790,77,
- 7465,2813,176,411,1563,613,3871,35,1703,32,
- 4863,406,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,3573,189,928,77,3548,1790,177,
- 2589,1048,2643,2605,2788,2713,3994,1535,2790,425,
- 832,2813,176,3185,310,175,4501,35,1703,32,
- 4863,404,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,2055,35,2352,4046,429,2929,177,
- 2589,463,2643,2605,2788,2713,4101,1535,2790,77,
- 3290,2813,176,339,1563,192,4501,35,1703,32,
- 4863,479,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,428,189,409,77,463,1598,177,
- 2589,1138,2643,2605,2788,2713,4204,3568,2790,3638,
- 4663,2813,176,2584,7951,188,411,5818,4501,35,
- 1703,32,4863,612,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,2681,35,2352,311,533,
- 2438,177,2589,77,2643,2605,2788,2713,4856,3070,
- 2790,77,1331,2813,176,3651,1563,187,4501,35,
- 1703,32,4863,4604,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,51,189,2055,4103,2352,
- 74,177,2589,1384,2643,2605,2788,2713,4216,1025,
- 2790,77,585,2813,176,3364,1563,186,4501,35,
- 1703,32,4863,6290,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,3903,189,2551,3147,742,
- 4406,177,2589,3070,2643,2605,2788,2713,4250,2366,
- 2790,68,2364,2813,176,332,2911,185,4501,35,
- 1703,32,4863,3447,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,2681,35,2352,4108,2692,
- 3080,177,2589,77,2643,2605,2788,2713,4778,338,
- 2790,77,3955,2813,176,5818,1563,184,4501,35,
- 1703,32,4863,2413,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,4500,189,623,44,3253,
- 998,177,2589,3257,2643,2605,2788,2713,4254,418,
- 2790,77,1564,2813,176,5818,1563,183,4501,35,
- 1703,32,4863,3447,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,388,189,910,77,363,
- 370,177,2589,7004,2643,2605,2788,2713,3790,3070,
- 2790,68,4864,2813,176,4473,6501,182,4501,35,
- 1703,32,4863,2413,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,2055,35,2352,4153,2055,
- 4038,177,2589,3257,2643,2605,2788,2713,939,335,
- 2790,77,93,2813,176,1048,7083,181,4501,35,
- 1703,32,4863,222,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,2055,35,2352,565,369,
- 370,177,2589,1546,2643,2605,2788,2713,2083,391,
- 2790,68,70,2813,176,331,593,180,4501,35,
- 1703,32,4863,203,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,1889,2323,35,432,6277,
- 324,177,2589,77,2643,2605,2788,2713,1640,624,
- 2790,77,5230,2813,176,1125,1563,179,4501,35,
- 1703,32,4863,1283,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,77,3595,4500,2459,3775,
- 7215,177,2589,322,2643,2605,2788,2713,466,3455,
- 2790,77,71,2813,176,1535,2293,178,3643,35,
- 1703,32,4863,716,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,3153,2323,35,432,2097,378,
- 2055,35,330,189,2792,483,1598,440,2827,1598,
- 4119,35,1703,32,6187,2802,27,30,31,1654,
- 1590,59,28,531,3359,2941,3812,2760,4119,35,
- 1703,32,6187,3070,27,30,31,1654,1590,58,
- 28,3929,214,4631,35,1703,32,4863,2811,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,3153,
- 5818,4631,35,1703,32,4863,162,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,108,2513,2563,2543,3153,1019,389,
- 326,3144,642,1133,162,2055,35,1509,424,324,
- 77,390,5818,3157,68,854,5818,3155,593,3168,
- 77,5818,3167,5681,3174,1726,3244,161,173,3144,
- 600,597,598,599,1592,3776,1036,2597,3282,321,
- 4190,3157,8402,457,24,3155,4082,3168,2804,308,
- 3167,1150,3174,6709,3244,161,172,4631,35,1703,
- 32,4863,715,27,30,31,1654,1590,26,28,
- 2249,296,23,25,50,2263,106,76,77,108,
- 2513,2563,2543,3153,5818,4631,35,1703,32,4863,
- 162,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,108,2513,2563,
- 2543,3153,375,1229,77,3144,413,4050,162,2638,
- 5672,2055,35,1509,424,3445,5818,3157,4509,77,
- 5818,3155,387,3168,2313,416,3167,1699,3174,77,
- 3244,161,171,3144,1314,379,2694,2340,384,2800,
- 520,2985,3385,2674,7534,3157,8402,620,3383,3155,
- 677,3168,3779,4131,3167,49,3174,2413,3244,161,
- 170,4631,35,1703,32,4863,46,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,108,2513,2563,2543,3153,5818,4631,
- 35,1703,32,4863,162,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,3153,5818,208,68,3144,
- 3880,1535,162,2055,35,1509,424,2055,35,1509,
- 424,3157,1325,3642,370,3155,387,3168,77,1765,
- 3167,1252,3174,1940,3244,161,169,3144,69,379,
- 2694,2340,384,77,68,2694,77,4056,1986,3157,
- 8402,2953,1598,3155,377,3168,212,470,3167,2599,
- 3174,469,3244,161,168,4631,35,1703,32,4863,
- 587,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,108,2513,2563,
- 2543,3153,232,4631,35,1703,32,4863,162,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,3153,
- 5818,1310,1384,3144,4097,1535,162,2055,35,1509,
- 424,77,1638,5818,4731,3157,6062,77,5818,3155,
- 387,3168,1450,426,3167,1329,3174,509,3244,161,
- 167,3144,68,379,2694,2340,384,1347,1432,600,
- 597,598,599,3157,1431,53,1598,3155,577,3168,
- 52,468,3167,5740,3174,4082,3244,161,166,4631,
- 35,1703,32,4863,586,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,3153,5818,4631,35,1703,
- 32,4863,162,27,30,31,1654,1590,26,28,
- 2249,296,23,25,50,2263,106,76,77,108,
- 2513,2563,2543,3153,6131,3447,2514,3144,3261,4269,
- 162,4341,3070,1126,1444,5867,4044,1851,330,3157,
- 68,77,5818,3155,77,3168,2907,2302,3167,4911,
- 3174,2696,3244,161,165,3144,600,597,598,599,
- 2584,2584,68,600,597,598,599,3157,2810,1369,
- 2886,3155,1691,3168,633,2413,3167,3685,3174,925,
- 3244,161,164,4631,35,1703,32,4863,231,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,3153,
- 334,5086,35,1703,32,4863,162,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,108,2513,2563,2543,2590,322,3594,
- 3759,3144,706,705,1745,2589,2793,2643,2605,2788,
- 3704,365,370,3157,1901,77,77,3155,1724,3168,
- 3245,3251,3167,5766,3174,5818,3244,161,163,5086,
- 35,1703,32,4863,913,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,2590,3800,602,1607,2576,
- 35,1509,424,2589,2651,2643,2605,2788,2713,1708,
- 3941,2790,4097,1119,2943,197,4501,35,1703,32,
- 4863,2196,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,2590,308,827,5818,3719,232,4057,177,
- 2589,2584,2643,2605,2788,2713,1716,3486,2790,6128,
- 68,2813,176,3168,2588,641,2323,35,2918,3142,
- 68,601,597,598,599,672,2047,622,4501,35,
- 1703,32,4863,4035,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,2863,4085,438,235,2976,
- 49,177,2589,2983,2643,2605,2788,2713,233,3162,
- 2790,2035,1044,2813,176,5818,3166,140,4501,35,
- 1703,32,4863,707,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,77,3177,621,72,3274,
- 4872,177,2589,77,2643,2605,2788,2713,3875,3372,
- 2790,3554,68,2813,176,5818,5818,3471,5818,4501,
- 35,1703,32,4863,3866,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,2590,611,90,385,6279,
- 634,2793,177,2589,4033,2643,2605,2788,2713,2584,
- 442,2790,77,6285,2813,176,2089,1389,3639,4696,
- 35,1703,32,4863,3056,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,3153,6291,5086,35,1703,
- 32,4863,162,27,30,31,1654,1590,26,28,
- 2249,296,23,25,50,2263,106,76,77,108,
- 2513,2563,2543,2590,2672,5934,1695,3144,607,4378,
- 1563,2589,77,2643,2605,3646,68,4401,68,3157,
- 2888,708,77,3155,5959,3168,2963,2385,3167,6732,
- 3174,5818,3244,161,160,4761,35,1703,32,4863,
- 193,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,108,2513,2563,
- 2543,2590,131,3376,1438,77,256,68,177,2589,
- 2637,2643,2605,2788,2713,1745,4206,2790,77,6346,
- 2813,176,5818,1563,222,5086,35,1703,32,4863,
- 2584,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,108,2513,2563,
- 2543,2590,2791,189,3583,226,3276,3686,238,2589,
- 2651,2643,2605,2788,2713,4359,2570,2790,5818,3890,
- 2943,197,5086,35,1703,32,4863,2668,27,30,
- 31,1654,1590,26,28,2249,296,23,25,50,
- 2263,106,76,77,108,2513,2563,2543,2590,1031,
- 4189,2765,3988,3153,5882,585,2589,4340,2643,2605,
- 2788,2713,97,3155,2790,4050,3259,2943,197,3374,
- 6354,3470,2044,35,1509,424,601,597,598,599,
- 5818,672,2047,6282,5086,35,1703,32,4863,459,
- 27,30,31,1654,1590,26,28,2249,296,23,
- 25,50,2263,106,76,77,108,2513,2563,2543,
- 2590,2651,487,3772,4282,2413,49,5035,2589,5100,
- 2643,2605,2788,2713,5165,2890,2790,2035,2033,2943,
- 197,5086,35,1703,32,4863,329,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,108,2513,2563,2543,2590,1947,1439,
- 4510,4640,4965,713,4796,2589,4861,2643,2605,2788,
- 2713,3062,541,2790,4233,3373,2943,197,2055,35,
- 1509,424,672,2047,5295,3483,601,597,598,599,
- 340,3722,370,5086,35,1703,32,4863,458,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,2590,
- 539,540,49,5380,2584,5849,1982,2589,5386,2643,
- 2605,2788,2713,2035,1114,2790,3471,4202,2943,197,
- 5346,35,1703,32,4863,461,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,108,2513,2563,2543,2590,5411,35,1509,
- 424,3882,1773,2782,2589,1899,2643,2605,2788,2713,
- 271,296,2790,2350,4339,2943,197,4230,3765,35,
- 489,4338,6494,4470,652,597,598,599,3879,601,
- 597,598,599,4799,844,143,98,644,5818,5728,
- 5818,308,4826,35,1703,32,4863,266,27,30,
- 31,1654,1590,26,28,2249,296,23,25,50,
- 2263,648,76,77,269,264,265,3936,35,489,
- 5507,6494,5579,4925,4310,3636,1558,4989,2368,5086,
- 35,1703,32,4863,4034,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,3476,309,600,597,598,599,2438,
- 5743,9900,276,279,282,3249,9900,9900,992,6745,
- 5818,3464,285,5818,5818,645,5837,4375,4784,6180,
- 4044,35,330,9900,6769,2067,5818,2485,35,1703,
- 32,5508,4563,27,30,31,1654,1590,374,28,
- 2651,9900,5651,3378,7538,3712,67,600,597,598,
- 599,9900,9900,9900,600,597,598,599,66,9900,
- 5818,1384,5738,925,5818,5086,35,1703,32,4863,
- 7150,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,108,2513,2563,
- 2543,3539,65,9900,616,9900,64,1117,354,1199,
- 356,9900,2299,9900,349,1121,482,3366,3374,9900,
- 9900,672,2047,5818,367,997,5818,5281,35,1703,
- 32,4863,9900,27,30,31,1654,1590,26,28,
- 2249,296,23,25,50,2263,106,76,77,108,
- 2513,2563,2543,3153,2203,55,6874,9900,54,5818,
- 5523,35,1509,424,3882,486,3366,3374,913,9900,
- 5934,9900,9900,271,296,1563,341,345,780,5818,
- 5818,601,597,598,599,3144,6344,652,597,598,
- 599,101,1607,9900,9900,1583,9900,3157,9900,9900,
- 2289,3155,9900,3168,308,193,3167,2841,3995,9900,
- 266,3767,3021,601,597,598,599,5818,5818,6347,
- 1936,4050,652,597,598,599,3591,269,264,265,
- 5148,2030,35,3935,32,5508,4563,27,30,31,
- 1654,1590,374,28,627,266,9900,9900,9900,3135,
- 5795,591,9900,600,597,598,599,9900,600,597,
- 598,599,278,264,265,3065,9900,309,9900,3464,
- 4340,2413,9900,9900,6044,276,279,282,3249,2255,
- 617,992,6964,9900,9900,285,9900,9900,645,5837,
- 4375,4784,6180,3082,4303,9900,6282,6769,8265,9900,
- 9900,2299,354,1199,356,9900,2299,9900,349,1121,
- 9900,9900,9900,6757,918,9900,9900,7538,367,2602,
- 5216,35,1703,32,4863,386,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,108,2513,2563,2543,3153,3765,370,9900,
- 6874,5216,35,1703,32,4863,9900,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,108,2513,2563,2543,3153,3144,6356,
- 455,3934,9900,3591,9900,396,9900,5148,387,9900,
- 3157,9900,9900,9900,3155,9900,3168,9900,9900,3985,
- 9900,379,2694,2340,384,9900,94,9900,9900,3144,
- 600,597,598,599,9900,9900,3596,9900,9900,9900,
- 9900,3157,9900,9900,9900,3155,3464,3981,5086,35,
- 1703,32,4863,9900,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,2590,1133,442,9900,2299,9900,
- 3479,716,2589,9900,2643,3654,9900,9900,9900,9900,
- 367,5934,9900,9900,9900,9900,1563,9900,9900,9900,
- 9900,9900,600,597,598,599,9900,262,9900,9900,
- 9900,189,9900,9900,9900,9900,759,1598,4082,9900,
- 9900,9900,6912,3018,213,9900,193,237,249,4745,
- 700,9900,9900,9900,9900,202,236,246,247,248,
- 250,651,699,5216,35,1703,32,4863,9900,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,3153,
- 201,9900,216,200,203,204,205,206,207,136,
- 9900,9900,9900,9900,716,3624,35,1703,32,5364,
- 4217,27,30,31,1654,1590,374,28,1433,9900,
- 9900,3144,9900,4340,9900,9900,9900,3591,9900,9900,
- 262,5148,9900,3157,189,4306,9900,3984,3988,759,
- 1598,3038,9900,4340,1718,9900,3018,213,9900,378,
- 237,249,4745,700,600,597,598,599,202,236,
- 246,247,248,250,651,699,9900,9900,9900,6282,
- 3464,652,597,598,599,2285,351,1710,356,3382,
- 35,1703,32,5508,9900,27,30,31,1654,1590,
- 374,28,9900,201,266,217,200,203,204,205,
- 206,207,2299,9900,9900,214,600,597,598,599,
- 9900,281,264,265,367,4739,5834,9900,9900,9900,
- 9900,4340,5228,4077,35,1509,424,9900,9900,9900,
- 9900,9900,5768,35,1703,32,5364,4563,27,30,
- 31,1654,1590,374,28,9900,6136,6282,9900,9900,
- 354,1199,356,3549,2299,9900,350,1121,541,600,
- 597,598,599,9900,2118,9900,368,49,6022,4340,
- 1235,5355,9900,9900,387,5016,4340,9900,2035,1349,
- 600,597,598,599,9900,9900,9900,381,2694,2340,
- 384,9900,9900,9900,1341,262,1924,600,597,598,
- 599,9900,6282,354,1199,356,538,540,9900,349,
- 1121,9900,9900,3464,1235,2649,443,8216,714,9900,
- 997,91,35,1703,32,5364,4563,27,30,31,
- 1654,1590,374,28,3056,9900,395,9900,9900,3467,
- 9900,600,597,598,599,364,9900,9900,600,597,
- 598,599,9900,444,445,446,815,3464,3216,3441,
- 3466,9900,9900,9900,5016,9900,9900,9900,9900,9900,
- 9900,341,345,780,9900,9900,91,35,1703,32,
- 5364,4563,27,30,31,1654,1590,374,28,2919,
- 9900,541,354,1199,356,2289,9900,3041,349,1121,
- 9900,9900,9900,601,597,598,599,9900,9900,997,
- 5086,35,1703,32,4863,3718,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,108,2513,2563,2543,2590,1357,5934,538,
- 540,9900,9900,1563,2589,9900,3626,354,1199,356,
- 9900,9900,9900,349,1121,9900,9900,9900,447,450,
- 341,345,780,9900,6084,9900,9900,9900,9900,9900,
- 9900,9900,4114,193,9900,9900,842,9900,9900,5216,
- 35,1703,32,4863,1545,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,3153,9900,544,2055,35,
- 1509,424,716,5086,35,1703,32,4863,9900,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,3484,3144,262,9900,
- 9900,9900,189,9900,9900,9900,9900,759,1598,3973,
- 9900,9900,49,9900,3018,213,9900,9900,237,249,
- 4745,700,4339,2035,5265,9900,202,236,246,247,
- 248,250,651,699,9900,9900,9900,9900,9900,646,
- 2055,35,1509,424,716,9900,9900,9900,1789,35,
- 1703,32,5364,9900,27,30,31,1654,1590,374,
- 28,201,9900,4036,200,203,204,205,206,207,
- 262,9900,9900,9900,189,601,597,598,599,759,
- 1598,9900,9900,9900,49,1337,3018,213,9900,9900,
- 237,249,4745,700,9900,2035,2455,9900,202,236,
- 246,247,248,250,651,699,9900,9900,9900,9900,
- 9900,748,600,597,598,599,716,9900,9900,354,
- 1199,356,9900,9900,9900,663,1121,9900,3464,9900,
- 9900,9900,9900,201,9900,211,200,203,204,205,
- 206,207,262,9900,9900,9900,189,9900,9900,77,
- 9900,759,1598,9900,4077,9900,9900,9900,3018,213,
- 3378,9900,237,249,4745,700,9900,9900,9900,9900,
- 202,236,246,247,248,250,651,699,9900,9900,
- 378,9900,9900,850,2044,35,1509,424,716,2827,
- 6041,35,1703,32,5364,4563,27,30,31,1654,
- 1590,374,28,9900,9900,201,2941,209,200,203,
- 204,205,206,207,262,9900,9900,9900,189,9900,
- 9900,9900,9900,759,1598,9900,9900,9900,49,3271,
- 3018,213,9900,9900,237,249,4745,700,9900,2035,
- 1226,9900,202,236,246,247,248,250,651,699,
- 9900,9900,9900,9900,9900,952,2178,35,1509,424,
- 716,354,1199,356,9900,9900,9900,349,1121,9900,
- 2795,9900,9900,9900,9900,9900,9900,201,4119,643,
- 200,203,204,205,206,207,262,9900,9900,9900,
- 189,2189,35,1509,424,759,1598,9900,9900,9900,
- 49,9900,3018,213,9900,9900,237,249,4745,700,
- 9900,2035,47,9900,202,236,246,247,248,250,
- 651,699,9900,9900,9900,9900,9900,1054,2044,35,
- 1509,424,716,9900,9900,49,9900,9900,5958,9900,
- 9900,9900,1287,878,9900,9900,2035,47,9900,201,
- 9900,210,200,203,204,205,206,207,262,9900,
- 9900,9900,189,2189,35,1509,424,759,1598,378,
- 9900,9900,49,189,3018,213,9900,1011,237,249,
- 4745,700,9900,2035,4158,221,202,236,246,247,
- 248,250,651,699,9900,5370,9900,9900,9900,1156,
- 2044,35,1509,424,716,9900,9900,49,9900,9900,
- 9900,9900,9900,9900,2795,9900,9900,5737,2035,47,
- 9900,201,4340,220,200,203,204,205,206,207,
- 262,9900,9900,9900,189,9900,9900,77,9900,759,
- 1598,9900,716,9900,49,9900,3018,213,378,1422,
- 237,249,4745,700,9900,2035,47,9900,202,236,
- 246,247,248,250,651,699,9900,9900,378,9900,
- 9900,1258,189,223,1876,9900,716,2827,9900,9900,
- 9900,9900,9900,9900,3130,9900,934,9900,9900,9900,
- 9900,9900,9900,201,2941,4156,200,203,204,205,
- 206,207,262,9900,9900,9900,189,2382,35,1509,
- 424,759,1598,9900,9900,9900,9900,3016,3018,213,
- 9900,9900,237,249,4745,700,9900,9900,9900,9900,
- 202,236,246,247,248,250,651,699,9900,9900,
- 9900,9900,9900,1360,4152,35,1509,424,716,9900,
- 9900,49,9900,9900,9900,9900,9900,9900,3716,9900,
- 9900,9900,2035,47,9900,201,9900,225,200,203,
- 204,205,206,207,262,9900,9900,9900,189,2189,
- 35,1509,424,759,1598,9900,9900,9900,49,1235,
- 3018,213,9900,2690,237,249,4745,700,9900,2035,
- 2150,9900,202,236,246,247,248,250,651,699,
- 9900,9900,9900,9900,9900,1462,600,597,598,599,
- 716,9900,9900,49,9900,9900,9900,9900,9900,9900,
- 1947,9900,3464,9900,2035,3039,9900,201,9900,219,
- 200,203,204,205,206,207,262,9900,9900,9900,
- 189,478,9900,492,9900,759,1598,2066,9900,9900,
- 9900,9900,3018,213,3375,3419,237,249,4745,700,
- 273,296,9900,9900,202,236,246,247,248,250,
- 651,699,9900,9900,652,597,598,599,9900,9900,
- 9900,91,35,1703,32,5364,4563,27,30,31,
- 1654,1590,374,28,9900,9900,9900,266,9900,201,
- 9900,228,200,203,204,205,206,207,600,597,
- 598,599,9900,9900,274,264,265,9900,9900,5086,
- 35,1703,32,4863,5016,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,3546,9900,9900,9900,9900,
- 9900,9900,354,1199,356,9900,9900,9900,349,1121,
- 9900,9900,9900,9900,5086,35,1703,32,4863,997,
- 27,30,31,1654,1590,26,28,2249,296,23,
- 25,50,2263,106,76,77,108,2513,2563,2543,
- 2590,9900,9900,5086,35,1703,32,4863,3629,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,2543,2590,
- 342,345,780,5635,35,553,9900,3643,9900,9900,
- 9900,9900,2055,35,1509,424,271,296,9900,4157,
- 9900,9900,9900,9900,716,2055,35,1509,424,9900,
- 652,597,598,599,2164,35,3935,32,5364,4563,
- 27,30,31,1654,1590,374,28,9900,9900,9900,
- 378,9900,5834,266,189,9900,49,4340,9900,2827,
- 1598,4093,597,598,599,9900,2802,2035,1400,49,
- 269,264,265,9900,929,9900,2941,6148,2760,9900,
- 2035,1204,9900,6282,9900,9900,6225,35,3935,32,
- 5364,4563,27,30,31,1654,1590,374,28,2405,
- 9900,600,597,598,599,354,1199,356,9900,9900,
- 9900,349,1121,600,597,598,599,3969,276,279,
- 282,3249,2602,9900,992,7048,3708,9900,9900,6148,
- 5148,9900,6172,7940,8305,8466,9900,9900,6258,35,
- 3935,32,5364,4563,27,30,31,1654,1590,374,
- 28,9900,9900,600,597,598,599,354,1199,356,
- 9900,9900,2200,349,1121,4093,597,598,599,3464,
- 2574,9900,395,9900,2602,273,296,2055,35,1509,
- 424,6148,6865,455,3934,9900,9900,9900,9900,652,
- 597,598,599,9900,4203,3441,3466,652,597,598,
- 599,2299,9900,9900,9900,562,563,567,9900,354,
- 1199,356,266,368,9900,349,1121,9900,9900,9900,
- 266,49,9900,9900,9900,9900,2602,9900,9900,274,
- 264,265,2035,1349,7099,455,3934,284,264,265,
- 8498,5086,35,1703,32,4863,9900,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,108,2513,2563,2543,3576,9900,9900,
- 9900,9900,6210,35,1703,32,5364,8454,27,30,
- 31,1654,1590,374,28,9900,6865,455,3934,5086,
- 35,1703,32,4863,9900,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,2563,2543,3579,5086,35,1703,32,
- 4863,9900,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,108,2513,
- 2563,2543,3589,354,1199,356,2069,9900,9900,349,
- 1121,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 3924,9900,9900,9900,9900,9900,9900,387,9900,9900,
- 9900,9900,9900,600,597,598,599,9900,9900,9900,
- 379,2694,2340,384,9900,9900,9900,9900,9900,4334,
- 5086,35,1703,32,4863,3923,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,108,2513,2563,2543,3970,5086,35,1703,
- 32,4863,9900,27,30,31,1654,1590,26,28,
- 2249,296,23,25,50,2263,106,76,77,108,
- 2513,2563,2543,3971,5086,35,1703,32,4863,9900,
- 27,30,31,1654,1590,26,28,2249,296,23,
- 25,50,2263,106,76,77,108,2513,2563,2543,
- 3972,6297,35,1703,32,5364,8271,27,30,31,
- 1654,1590,374,28,2044,35,1509,424,9900,9900,
- 9900,2044,35,1509,424,9900,9900,401,5086,35,
- 1703,32,4863,386,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 108,2513,2563,2543,4083,4471,9900,9900,49,2055,
- 35,1509,424,9900,9900,49,2388,9900,9900,2035,
- 47,4077,354,1199,356,9900,2035,47,349,1121,
- 9900,9900,600,597,598,599,9900,9900,9900,1923,
- 9900,9900,9900,9900,9900,9900,387,262,4082,9900,
- 986,9900,9900,49,9900,9900,759,1643,9900,379,
- 2694,2340,384,9900,2035,1688,9900,239,249,4745,
- 700,9900,9900,9900,3596,9900,238,246,247,248,
- 250,651,699,4891,35,1703,32,4863,9900,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,637,76,77,240,242,244,815,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,251,
- 241,243,5086,35,1703,32,4863,9900,27,30,
- 31,1654,1590,26,28,2249,296,23,25,50,
- 2263,106,76,77,108,2513,2563,3591,9900,9900,
- 13,3053,7439,5086,35,1703,32,4863,9900,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,108,2513,2563,3604,4369,
- 35,1703,32,4863,9900,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,107,6327,35,1703,32,5364,8454,27,30,
- 31,1654,1590,374,28,5467,35,1509,424,3882,
- 2651,77,9900,9900,9900,9900,4077,3978,272,296,
- 751,5148,9900,9900,9900,9900,9900,9900,9900,2671,
- 9900,9900,652,597,598,599,4157,9900,9900,9900,
- 9900,716,378,9900,600,597,598,599,9900,308,
- 9900,2827,9900,9900,9900,266,652,597,598,599,
- 3464,9900,9900,354,1199,356,9900,378,2941,349,
- 1121,189,270,264,265,9900,2827,1598,9900,266,
- 588,672,2047,2802,9900,9900,9900,387,9900,9900,
- 9900,3290,2299,2941,9900,2760,287,264,265,9900,
- 379,2694,2340,384,6757,9900,9900,9900,9900,9900,
- 9900,9900,309,9900,9900,589,2811,9900,9900,9900,
- 277,280,283,3249,9900,2771,992,9900,9900,9900,
- 286,9900,9900,646,1654,35,1703,32,5508,9900,
- 27,30,31,1654,1590,374,28,9900,2044,35,
- 1509,424,600,597,598,599,9900,9900,9900,9900,
- 9900,600,597,598,599,9900,9900,9900,4366,9900,
- 9900,9900,1654,35,1703,32,5508,3464,27,30,
- 31,1654,1590,374,28,9900,9900,9900,9900,9900,
- 3444,9900,49,9900,5148,9900,9900,96,9900,600,
- 597,598,599,2035,47,354,1199,356,9900,2299,
- 9900,352,1121,9900,9900,5228,9900,600,597,598,
- 599,368,9900,9900,5579,35,1509,424,3882,9900,
- 9900,4157,9900,3464,3023,9900,716,272,296,9900,
- 9900,9900,9900,354,1199,356,9900,2299,9900,350,
- 1121,652,597,598,599,9900,9900,9900,9900,368,
- 9900,9900,378,9900,2621,2299,189,9900,308,4077,
- 9900,2827,1598,9900,266,9900,9900,368,2802,9900,
- 9900,9900,9900,9900,9900,387,9900,9900,2941,9900,
- 2760,270,264,265,9900,262,9900,9900,381,2694,
- 2340,384,9900,9900,759,9900,9900,9900,5691,35,
- 553,2916,9900,9900,9900,239,249,4745,700,9900,
- 9900,272,296,9900,238,246,247,248,250,651,
- 699,309,9900,9900,9900,652,597,598,599,277,
- 280,283,3249,2718,9900,992,9900,9900,4077,286,
- 9900,9900,646,240,242,244,815,9900,266,2958,
- 9900,9900,9900,9900,9900,9900,9900,251,241,243,
- 9900,9900,9900,9900,262,270,264,265,9900,9900,
- 9900,9900,9900,759,9900,9900,600,597,598,599,
- 9900,9900,9900,9900,239,249,4745,700,1997,9900,
- 7439,9900,4334,238,246,247,248,250,651,699,
- 3346,35,1703,32,5364,4563,27,30,31,1654,
- 1590,374,28,277,280,283,3249,9900,9900,992,
- 9900,9900,240,242,244,815,9900,601,597,598,
- 599,9900,9900,9900,9900,9900,251,241,243,5086,
- 35,1703,32,4863,9900,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,108,2513,3483,9900,2815,9900,2199,9900,7439,
- 4077,354,1199,356,9900,9900,9900,349,1121,9900,
- 6108,9900,9900,9900,9900,4077,9900,9900,6084,9900,
- 9900,9900,9900,9900,9900,9900,262,9900,9900,9900,
- 562,563,568,9900,9900,759,9900,9900,9900,9900,
- 9900,378,592,9900,9900,9900,239,249,4745,700,
- 2827,9900,9900,9900,9900,238,246,247,248,250,
- 651,699,4956,35,1703,32,4863,2941,27,30,
- 31,1654,1590,26,28,2249,296,23,25,50,
- 2263,635,76,77,240,242,244,815,9900,9900,
- 595,9900,9900,9900,9900,9900,9900,9900,251,241,
- 243,5086,35,1703,32,4863,9900,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,108,3525,9900,9900,9900,9900,2449,
- 9900,7439,5086,35,1703,32,4863,9900,27,30,
- 31,1654,1590,26,28,2249,296,23,25,50,
- 2263,106,76,77,108,3529,4303,35,1703,32,
- 4863,9900,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,81,4435,
- 35,1703,32,4863,9900,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,81,2524,9900,9900,9900,9900,4077,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,2252,
- 9900,9900,9900,9900,4077,9900,9900,9900,9900,9900,
- 9900,9900,9900,262,9900,9900,9900,9900,709,9900,
- 9900,9900,759,9900,9900,2044,35,1509,424,4399,
- 262,9900,9900,239,249,4745,700,9900,9900,759,
- 9900,710,238,246,247,248,250,651,699,6164,
- 239,249,4745,700,9900,9900,9900,9900,9900,238,
- 246,247,248,250,651,699,9900,9900,9900,49,
- 2912,240,242,244,815,4077,652,597,598,599,
- 2035,47,9900,9900,9900,580,241,243,240,242,
- 244,815,9900,9900,2044,35,1509,424,2768,266,
- 9900,262,252,241,243,9900,9900,9900,9900,9900,
- 759,3027,9900,9900,9900,77,269,264,265,9900,
- 4077,239,249,4745,700,652,597,598,599,9900,
- 238,246,247,248,250,651,699,3009,49,77,
- 9900,9900,4077,9900,4077,9900,378,9900,266,2035,
- 47,9900,9900,9900,9900,2827,9900,9900,9900,240,
- 242,244,815,9900,9900,647,264,265,262,9900,
- 378,7623,2941,671,241,243,9900,759,9900,2827,
- 3137,9900,9900,2865,9900,9900,9900,9900,239,249,
- 4745,700,9900,9900,9900,3297,2941,238,246,247,
- 248,250,651,699,3106,9900,9900,9900,9900,4077,
- 652,597,598,599,9900,9900,9900,9900,9900,3360,
- 9900,9900,690,680,9900,9900,240,242,244,815,
- 9900,9900,9900,266,9900,262,9900,9900,9900,9900,
- 670,241,243,9900,759,9900,9900,9900,9900,9900,
- 270,264,265,9900,9900,239,249,4745,700,9900,
- 693,9900,9900,9900,238,246,247,248,250,651,
- 699,5021,35,1703,32,4863,9900,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 86,76,77,240,242,244,815,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,669,241,243,
- 5086,35,1703,32,4863,9900,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,85,5086,35,1703,32,4863,9900,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,83,5086,35,1703,32,
- 4863,9900,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,82,5086,
- 35,1703,32,4863,9900,27,30,31,1654,1590,
- 26,28,2249,296,23,25,50,2263,106,76,
- 77,81,5086,35,1703,32,4863,9900,27,30,
- 31,1654,1590,26,28,2249,296,23,25,50,
- 2263,106,76,77,80,5086,35,1703,32,4863,
- 9900,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,106,76,77,79,5086,35,
- 1703,32,4863,9900,27,30,31,1654,1590,26,
- 28,2249,296,23,25,50,2263,106,76,77,
- 78,5086,2402,1703,2927,4863,9900,27,30,31,
- 1654,1590,26,28,2249,296,23,25,50,2263,
- 106,76,77,84,3203,9900,9900,9900,9900,4077,
- 2962,9900,9900,9900,9900,9900,9900,9900,9900,77,
- 9900,3300,9900,77,4077,9900,4077,9900,4077,9900,
- 9900,9900,9900,9900,9900,262,9900,652,597,598,
- 599,9900,9900,9900,759,9900,9900,9900,9900,9900,
- 378,9900,262,9900,378,239,249,4745,700,2827,
- 266,759,9900,2827,238,246,247,248,250,651,
- 699,9900,239,249,4745,700,2941,278,264,265,
- 2941,238,246,247,248,250,651,699,9900,9900,
- 9900,9900,9900,240,242,244,815,9900,9900,3731,
- 9900,9900,9900,545,9900,9900,9900,581,241,243,
- 240,242,244,815,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,340,241,243,4566,35,1703,
- 32,4863,9900,27,30,31,1654,1590,26,28,
- 2249,296,23,25,50,2263,106,76,77,104,
- 5086,35,1703,32,4863,9900,27,30,31,1654,
- 1590,26,28,2249,296,23,25,50,2263,106,
- 76,77,110,5086,35,1703,32,4863,9900,27,
- 30,31,1654,1590,26,28,2249,296,23,25,
- 50,2263,106,76,77,109,5086,35,1703,32,
- 4863,9900,27,30,31,1654,1590,26,28,2249,
- 296,23,25,50,2263,106,76,77,105,3397,
- 9900,9900,9900,9900,4077,5151,35,1703,32,4863,
- 9900,27,30,31,1654,1590,26,28,2249,296,
- 23,25,50,2263,3864,76,77,9900,9900,9900,
- 262,9900,9900,9900,9900,9900,9900,9900,9900,759,
- 9900,9900
- };
- };
+ public interface BaseCheck1 {
+ public final static short baseCheck1[] = { 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, -173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -482, 0, 0, 0, 0, 0, -592, 0, -596, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, -425, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -719, 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, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -562, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -427, 0, 0, 0, 0, 0, 0, -564, 0, -563, 0, 0, 0, 0,
+ 0, 0, -566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 interface BaseAction1 {
- public final static char baseAction1[] = {
- 9900,9900,9900,9900,9900,9900,9900,9900,239,249,
- 4745,700,9900,9900,9900,9900,9900,238,246,247,
- 248,250,651,699,6270,35,1703,32,5364,4411,
- 27,30,31,1654,1590,374,28,1984,9900,9900,
- 9900,6022,4340,9900,9900,9900,240,242,244,815,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 535,241,243,9900,9900,9900,9900,9900,262,9900,
- 9900,9900,439,6086,9900,9900,9900,5148,4340,6086,
- 9900,77,9900,5148,4340,9900,4077,9900,2649,443,
- 8216,714,9900,9900,9900,351,1710,356,9900,9900,
- 600,597,598,599,6282,6118,600,597,598,599,
- 6282,9900,378,3059,9900,9900,3464,9900,9900,9900,
- 9900,2827,3464,9900,9900,9900,444,445,446,815,
- 9900,9900,652,597,598,599,9900,9900,2941,9900,
- 652,597,598,599,4157,9900,9900,9900,2299,716,
- 9900,9900,9900,9900,2299,266,9900,9900,9900,9900,
- 367,543,9900,266,9900,9900,367,9900,9900,9900,
- 3041,4157,269,264,265,378,716,9900,9900,189,
- 281,264,265,9900,2827,1598,9900,9900,9900,9900,
- 9900,2802,6930,395,9900,9900,9900,9900,4819,395,
- 9900,2941,378,2760,77,9900,189,9900,9900,4077,
- 3591,2827,1598,1341,5148,3782,3441,3466,2802,9900,
- 9900,3782,3441,3466,2920,9900,9900,7623,2941,9900,
- 2760,447,449,9900,9900,378,9900,600,597,598,
- 599,4157,9900,9900,2827,9900,716,9900,9900,9900,
- 9900,2988,77,3464,9900,9900,9900,878,9900,9900,
- 9900,2941,3591,9900,1943,9900,5148,4904,9900,9900,
- 9900,9900,378,9900,3156,9900,189,9900,690,680,
- 9900,2827,1598,378,596,2299,9900,189,2802,600,
- 597,598,599,9900,9900,9900,9900,367,2941,221,
- 2760,652,597,598,599,3464,3253,9900,9900,5370,
- 9900,9900,9900,5928,9900,77,692,9900,878,9900,
- 878,3828,77,9900,266,9900,9900,878,9900,6930,
- 9900,9900,9900,652,597,598,599,2299,9900,9900,
- 9900,284,264,265,3575,9900,378,9900,189,367,
- 189,679,7489,378,9900,9900,266,189,9900,9900,
- 3018,213,221,9900,9900,9900,9900,9900,9900,221,
- 9900,9900,5370,569,264,265,9900,9900,9900,5370,
- 9900,4819,9900,9900,9900,9900,9900,4118,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,229,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 4120,9900,9900,9900,9900,9900,9900,4200,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,9900,5518,230,9900,0,1,263,
- 747,0,537,7422,0,1,263,0,39,10602,
- 0,39,10601,697,0,39,9915,0,39,9914,
- 0,1,860,0,849,1,0,39,1,10602,
- 0,39,1,10601,0,39,1,9915,0,39,
- 1,9914,0,1,5597,0,1,818,0,263,
- 253,0,1,1198,0,1,1227,0,1,1358,
- 0,10168,257,0,10167,257,0,1198,257,0,
- 1227,257,0,1358,257,0,1439,257,0,10273,
- 257,0,10272,257,0,10195,257,0,10194,257,
- 0,10193,257,0,10192,257,0,10191,257,0,
- 10190,257,0,10189,257,0,10188,257,0,668,
- 698,0,10168,258,0,10167,258,0,1198,258,
- 0,1227,258,0,1358,258,0,1439,258,0,
- 10273,258,0,10272,258,0,10195,258,0,10194,
- 258,0,10193,258,0,10192,258,0,10191,258,
- 0,10190,258,0,10189,258,0,10188,258,0,
- 10168,259,0,10167,259,0,1198,259,0,1227,
- 259,0,1358,259,0,1439,259,0,10273,259,
- 0,10272,259,0,10195,259,0,10194,259,0,
- 10193,259,0,10192,259,0,10191,259,0,10190,
- 259,0,10189,259,0,10188,259,0,1358,430,
- 0,1227,430,0,1198,430,0,318,430,0,
- 10168,260,0,10167,260,0,1198,260,0,1227,
- 260,0,1358,260,0,1439,260,0,10273,260,
- 0,10272,260,0,10195,260,0,10194,260,0,
- 10193,260,0,10192,260,0,10191,260,0,10190,
- 260,0,10189,260,0,10188,260,0,318,323,
- 0,10168,261,0,10167,261,0,1198,261,0,
- 1227,261,0,1358,261,0,1439,261,0,10273,
- 261,0,10272,261,0,10195,261,0,10194,261,
- 0,10193,261,0,10192,261,0,10191,261,0,
- 10190,261,0,10189,261,0,10188,261,0,1495,
- 423,0,39,10601,0,10602,48,0,10601,48,
- 0,9915,48,0,9914,48,0,10168,650,0,
- 10167,650,0,1198,650,0,1227,650,0,1358,
- 650,0,1439,650,0,10273,650,0,10272,650,
- 0,10195,650,0,10194,650,0,10193,650,0,
- 10192,650,0,10191,650,0,10190,650,0,10189,
- 650,0,10188,650,0,10168,275,0,10167,275,
- 0,1198,275,0,1227,275,0,1358,275,0,
- 1439,275,0,10273,275,0,10272,275,0,10195,
- 275,0,10194,275,0,10193,275,0,10192,275,
- 0,10191,275,0,10190,275,0,10189,275,0,
- 10188,275,0,10575,275,0,10574,275,0,10573,
- 275,0,10207,275,0,10206,275,0,10205,275,
- 0,10204,275,0,10203,275,0,10202,275,0,
- 10201,275,0,10200,275,0,10199,275,0,10198,
- 275,0,10197,275,0,10567,275,0,10566,275,
- 0,39,275,10602,0,39,275,10601,696,0,
- 39,275,9915,0,39,275,9914,0,9938,275,
- 0,1,366,0,38,818,0,38,10602,0,
- 38,10601,0,38,9915,0,38,9914,0,490,
- 2036,0,476,2136,0,1495,29,0,9912,1,
- 0,2193,353,0,1358,660,0,1227,660,0,
- 1198,660,0,664,660,0,664,659,0,9963,
- 75,0,9962,75,0,767,75,0,1364,75,
- 0,1707,75,0,1839,75,0,1,662,0,
- 1,480,0,494,949,0,493,1306,0,35,
- 33,0,47,37,0,2056,190,0,6299,126,
- 0,9912,419,0,9911,419,0,1358,662,0,
- 1227,662,0,1198,662,0,1198,695,0,1227,
- 695,0,1358,695,0,10581,695,0,537,3057,
- 0,9938,1,263,0,39,1,263,0,263,
- 452,0,1,1653,0,1,10575,0,1,10574,
- 0,1,10573,0,1,10207,0,1,10206,0,
- 1,10205,0,1,10204,0,1,10203,0,1,
- 10202,0,1,10201,0,1,10200,0,1,10199,
- 0,1,10198,0,1,10197,0,1,10567,0,
- 1,10566,0,10602,37,0,10601,37,0,9915,
- 37,0,9914,37,0,43,9936,0,43,37,
- 0,2601,91,0,32,34,0,9908,1,0,
- 39,818,0,1358,366,0,1227,366,0,1198,
- 366,0,39,275,10601,0,1,1209,0,1,
- 2586,0,263,254,0,10168,691,0,10167,691,
- 0,1198,691,0,1227,691,0,1358,691,0,
- 1439,691,0,10273,691,0,10272,691,0,10195,
- 691,0,10194,691,0,10193,691,0,10192,691,
- 0,10191,691,0,10190,691,0,10189,691,0,
- 10188,691,0,1198,694,0,1227,694,0,1358,
- 694,0,10581,694,0,9910,441,0,9909,441,
- 0,263,451,0,1,6613,0,1,7282,0,
- 1,7711,0,1,7750,0,1,7773,0,1,
- 7796,0,1,7819,0,1,7842,0,1,7865,
- 0,1,7888,0,1,7911,0,1,9922,0,
- 1,9921,0,1,9920,0,1,9919,0,1,
- 9918,0,1,9917,0,1,9916,0,1,2050,
- 0,1,2053,0,1,2100,0,1,2147,0,
- 1,2205,0,1,2658,0,39,1,0,9912,
- 649,419,0,9911,649,419,0,1,263,3817,
- 0,9909,263,0,3818,263,0,9906,1,0,
- 9905,1,0,271,1220,0,424,32,0,423,
- 29,0,1358,481,0,1227,481,0,1198,481,
- 0,9938,481,0,39,481,0,366,481,0,
- 6299,128,0,6299,127,0,1198,570,0,1227,
- 570,0,1358,570,0,1198,571,0,1227,571,
- 0,1358,571,0,1198,572,0,1227,572,0,
- 1358,572,0,1198,573,0,1227,573,0,1358,
- 573,0,1198,574,0,1227,574,0,1358,574,
- 0,275,10602,0,275,10601,0,275,9915,0,
- 275,9914,0,9936,45,0,37,45,0,9912,
- 638,419,0,9911,638,419,0,9912,636,419,
- 0,9911,636,419,0,9912,87,419,0,9911,
- 87,419,0,1,92,0,4000,263,0,10,
- 12,0,9938,1,0,648,637,0,1439,371,
- 0,10273,371,0,10272,371,0,2401,100,0,
- 8,10,12,0,4101,227,0,10602,2,37,
- 0,10601,2,37,0,9915,2,37,0,9914,
- 2,37,0,10602,36,0,10601,36,0,9915,
- 36,0,9914,36,0,1358,657,0,1227,657,
- 0,1198,657,0,1358,656,0,1227,656,0,
- 1198,656,0,600,601,0,5078,103,0,4050,
- 99,0,1358,95,0,1227,95,0,1198,95,
- 0,9938,95,0,39,95,0,366,95,0,
- 9912,649,638,419,0,649,638,0,35,73,
- 0,4155,419,0,1358,657,658,0,1227,657,
- 658,0,1198,657,658,0,657,658,0,313,
- 4350,0,8,12,0,218,5723,0
- };
- };
+ public final static short baseCheck[] = new short[BaseCheck0.baseCheck0.length + BaseCheck1.baseCheck1.length];
+ {
+ int index = 0;
+ System.arraycopy(BaseCheck0.baseCheck0, 0, baseCheck, index, BaseCheck0.baseCheck0.length);
+ index += BaseCheck0.baseCheck0.length;
+ System.arraycopy(BaseCheck1.baseCheck1, 0, baseCheck, index, BaseCheck1.baseCheck1.length);
+ };
- public final static char baseAction[] = new char[BaseAction0.baseAction0.length + BaseAction1.baseAction1.length];
- {
- int index = 0;
- System.arraycopy(BaseAction0.baseAction0, 0, baseAction, index, BaseAction0.baseAction0.length);
- index += BaseAction0.baseAction0.length;
- System.arraycopy(BaseAction1.baseAction1, 0, baseAction, index, BaseAction1.baseAction1.length);
- };
- public final int baseAction(int index) { return baseAction[index]; }
- public final static char lhs[] = baseAction;
- public final int lhs(int index) { return lhs[index]; };
+ public final int baseCheck(int index) {
+ return baseCheck[index];
+ }
- public interface TermCheck {
- public final static char termCheck[] = {0,
- 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,56,57,58,59,
- 60,61,62,63,64,65,66,0,68,69,
- 70,71,72,73,74,75,0,0,78,79,
- 3,14,82,83,84,85,86,87,88,89,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,102,103,104,105,106,107,108,109,
- 110,111,112,113,114,115,116,117,118,119,
- 120,121,122,123,124,125,126,127,128,129,
- 0,1,65,0,134,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,56,57,58,59,60,61,62,63,64,
- 65,66,0,68,69,70,73,0,1,74,
- 75,76,77,0,12,80,81,82,83,12,
- 85,0,87,0,0,90,91,92,93,94,
- 95,0,97,98,99,100,101,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,56,57,58,59,60,61,62,
- 63,64,65,66,73,68,69,70,85,78,
- 86,74,75,76,77,113,114,80,81,82,
- 83,0,85,0,87,0,105,90,91,92,
- 93,94,95,112,97,98,99,100,101,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,56,57,58,59,60,
- 61,62,63,64,65,66,0,68,69,70,
- 0,88,89,74,75,76,77,0,0,80,
- 81,82,83,5,85,0,87,106,107,90,
- 91,92,93,94,95,110,97,98,99,100,
- 101,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,56,57,58,
- 59,60,61,62,63,64,65,66,0,68,
- 69,70,0,88,89,74,75,76,77,0,
- 0,80,81,82,83,6,85,7,8,9,
- 0,90,91,92,93,94,95,0,97,98,
- 99,100,101,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,56,
- 57,58,59,60,61,62,63,64,65,66,
- 0,68,69,70,106,107,0,74,75,76,
- 77,5,0,80,81,82,83,0,85,7,
- 8,9,5,90,91,92,93,94,95,109,
- 97,98,99,100,101,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,56,57,58,59,60,61,62,63,64,
- 65,66,0,68,69,70,106,107,0,74,
- 75,76,77,5,0,80,81,82,83,0,
- 85,7,8,9,5,90,91,92,93,94,
- 95,0,97,98,99,100,101,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,56,57,58,59,60,61,62,
- 63,64,65,66,73,68,69,70,106,107,
- 0,74,75,76,77,5,0,80,81,82,
- 83,0,85,7,8,9,5,90,91,92,
- 93,94,95,0,97,98,99,100,101,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,56,57,58,59,60,
- 61,62,63,64,65,66,73,68,69,70,
- 0,78,0,74,75,76,77,0,0,80,
- 81,82,83,6,85,7,8,9,0,90,
- 91,92,93,94,95,0,97,98,99,100,
- 101,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,56,57,58,
- 59,60,61,62,63,64,65,66,0,68,
- 69,70,84,78,0,74,75,76,77,5,
- 0,80,81,82,83,0,85,7,8,9,
- 5,90,91,92,93,94,95,0,97,98,
- 99,100,101,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,56,
- 57,58,59,60,61,62,63,64,65,66,
- 73,68,69,70,0,0,108,74,75,76,
- 77,6,0,80,81,82,83,13,85,7,
- 8,9,0,90,91,92,93,94,95,0,
- 97,98,99,100,101,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,56,57,58,59,60,61,62,63,64,
- 65,66,73,68,69,70,84,0,0,74,
- 75,76,77,5,0,80,81,82,83,0,
- 85,7,8,9,5,90,91,92,93,94,
- 95,0,97,98,99,100,101,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,56,57,58,59,60,61,62,
- 63,64,65,66,0,68,69,70,0,5,
- 0,74,75,76,77,84,0,80,81,82,
- 83,13,85,7,8,9,0,90,91,92,
- 93,94,95,23,97,98,99,100,101,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,56,57,58,59,60,
- 61,62,63,64,65,66,0,68,69,70,
- 0,0,0,74,75,76,77,5,0,80,
- 81,82,83,0,85,7,8,9,5,90,
- 91,92,93,94,95,109,97,98,99,100,
- 101,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,56,57,58,
- 59,60,61,62,63,64,65,66,0,68,
- 69,70,0,5,0,74,75,76,77,108,
- 110,80,81,82,83,0,85,0,14,0,
- 0,90,91,92,93,94,95,0,97,98,
- 99,100,101,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,46,32,
- 33,34,0,51,52,53,54,55,56,7,
- 8,9,47,48,0,32,33,34,35,36,
- 72,38,39,40,41,42,43,44,45,75,
- 47,48,49,50,32,33,34,35,36,0,
- 38,39,40,41,42,43,44,45,65,0,
- 1,2,3,4,71,72,73,0,75,10,
- 11,78,79,6,7,8,9,84,85,86,
- 87,88,89,0,1,2,3,4,5,6,
- 7,8,9,10,11,102,103,104,105,106,
- 107,108,109,110,111,112,113,114,115,116,
- 117,118,119,120,121,122,123,124,125,126,
- 127,128,129,136,0,0,0,134,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,0,0,0,0,0,0,1,
- 2,3,4,0,7,8,9,12,10,11,
- 32,33,34,35,36,12,38,39,40,41,
- 42,43,44,45,0,47,48,49,50,32,
- 33,34,35,36,135,38,39,40,41,42,
- 43,44,45,65,0,1,2,3,4,71,
- 72,73,0,75,10,0,78,79,84,7,
- 8,9,84,85,86,87,88,89,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 102,103,104,105,106,107,108,109,110,111,
- 112,113,114,115,116,117,118,119,120,121,
- 122,123,124,125,126,127,128,129,113,114,
- 86,67,134,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,72,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,56,
- 57,58,59,60,61,62,63,64,0,66,
- 0,68,69,70,6,5,0,74,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,0,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,56,57,58,59,60,61,
- 62,63,64,67,66,0,68,69,70,0,
- 5,0,74,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,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,0,1,2,3,4,65,66,
- 67,68,69,70,0,1,2,3,4,76,
- 77,86,0,80,81,0,0,84,0,0,
- 87,90,7,8,9,7,8,9,0,96,
- 15,16,17,18,19,20,21,22,0,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,33,38,39,40,41,42,43,44,
- 45,0,46,84,131,132,133,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,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,0,1,2,
- 3,4,65,66,67,68,69,70,0,1,
- 2,3,4,76,77,0,108,80,81,0,
- 0,84,0,0,87,0,7,8,9,7,
- 8,9,0,96,15,16,17,18,19,20,
- 21,22,0,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,0,38,39,40,
- 41,42,43,44,45,23,46,84,131,132,
- 133,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,0,76,104,
- 0,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,65,66,67,68,
- 69,70,0,1,2,3,4,76,77,0,
- 0,80,81,32,33,34,35,36,87,38,
- 39,40,41,42,43,44,45,96,0,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,0,67,0,65,0,1,2,
- 3,4,71,72,7,8,9,12,13,12,
- 79,0,1,2,3,4,135,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,84,67,72,0,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,65,66,67,68,69,70,0,1,
- 2,3,4,76,77,0,0,80,81,32,
- 33,34,35,36,0,38,39,40,41,42,
- 43,44,45,96,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,32,33,
- 34,0,65,67,0,1,2,3,4,72,
- 6,46,75,0,10,11,79,0,1,2,
- 3,4,135,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,0,
- 0,67,71,0,5,0,1,2,3,4,
- 7,8,9,0,67,10,73,0,65,66,
- 67,68,69,70,71,0,0,14,0,76,
- 77,5,0,80,81,32,33,34,35,36,
- 14,38,39,40,41,42,43,44,45,96,
- 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,71,0,72,73,
- 0,0,5,0,78,79,78,7,8,9,
- 0,1,2,3,4,65,66,67,68,69,
- 70,0,105,0,111,0,76,77,5,112,
- 80,81,32,33,34,35,36,87,38,39,
- 40,41,42,43,44,45,96,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,72,0,72,73,0,0,5,
- 0,78,0,78,7,8,9,7,8,9,
- 109,0,65,66,67,68,69,70,115,116,
- 0,0,0,76,77,14,5,80,81,32,
- 33,34,35,36,87,38,39,40,41,42,
- 43,44,45,96,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,
- 79,71,0,72,0,73,0,0,78,88,
- 89,7,8,9,0,1,2,3,4,65,
- 66,67,68,69,70,0,0,0,0,0,
- 76,77,102,103,80,81,32,33,34,35,
- 36,87,38,39,40,41,42,43,44,45,
- 96,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,0,0,1,
- 71,0,0,78,7,8,9,105,7,8,
- 9,84,0,84,112,0,65,66,67,68,
- 69,70,0,0,0,0,14,76,77,5,
- 32,80,81,32,33,34,35,36,14,38,
- 39,40,41,42,43,44,45,96,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,71,0,72,73,0,87,
- 0,0,78,79,0,7,8,9,13,0,
- 88,89,110,65,66,67,68,69,70,0,
- 105,0,0,14,76,77,5,112,80,81,
- 32,33,34,35,36,14,38,39,40,41,
- 42,43,44,45,96,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,72,0,72,0,0,87,5,0,5,
- 79,0,7,8,9,0,84,0,104,108,
- 65,66,67,68,69,70,0,0,0,12,
- 0,76,77,5,0,80,81,32,33,34,
- 35,36,14,38,39,40,41,42,43,44,
- 45,96,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,71,88,
- 89,71,0,88,89,71,0,79,0,7,
- 8,9,104,5,88,89,10,65,66,67,
- 68,69,70,0,0,0,0,0,76,77,
- 113,114,80,81,32,33,34,35,36,0,
- 38,39,40,41,42,43,44,45,96,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,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,84,
- 71,88,89,0,65,66,67,68,69,70,
- 0,0,0,0,0,76,77,14,5,80,
- 81,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,96,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,79,0,0,1,0,84,5,6,
- 7,8,9,72,0,12,13,14,14,88,
- 89,65,66,67,68,69,70,0,14,0,
- 0,0,76,77,5,5,80,81,32,33,
- 34,109,0,0,1,2,3,4,5,6,
- 46,0,96,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,72,73,0,35,65,
- 37,78,79,79,0,1,2,3,4,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,62,63,64,0,1,
- 2,3,4,0,6,7,8,9,0,1,
- 2,3,4,5,6,82,83,0,10,11,
- 12,13,0,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 0,67,110,0,111,37,6,7,8,9,
- 47,48,12,13,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,60,61,
- 62,63,64,0,1,2,3,4,5,6,
- 0,0,74,10,11,0,78,0,71,67,
- 82,83,0,1,2,3,4,5,6,14,
- 0,14,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,0,1,2,3,4,37,
- 6,7,8,9,0,0,12,13,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,0,1,2,
- 3,4,75,6,7,8,9,75,0,12,
- 13,71,87,130,82,83,0,1,2,3,
- 4,5,6,0,0,0,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,0,0,
- 130,35,78,37,0,1,2,3,4,84,
- 6,0,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,63,
- 64,73,0,1,2,3,4,5,6,0,
- 74,67,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,0,1,2,3,4,37,
- 6,7,8,9,0,0,78,111,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,86,0,1,
- 2,3,4,5,6,0,74,75,10,11,
- 0,1,2,3,4,5,6,78,0,87,
- 10,11,12,13,6,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,0,1,2,3,4,37,6,7,
- 8,9,47,48,12,13,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 0,6,0,0,74,0,1,2,3,4,
- 5,6,82,83,0,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,0,1,2,
- 3,4,37,6,7,8,9,0,0,12,
- 13,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 23,0,1,2,3,4,5,6,78,74,
- 75,10,11,12,13,71,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,0,1,2,3,4,37,0,
- 7,8,9,66,67,0,0,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,60,61,62,63,64,0,1,2,3,
- 4,32,33,34,0,74,0,1,2,3,
- 4,5,6,82,83,0,10,11,12,13,
- 0,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,0,1,
- 2,3,4,37,6,0,71,71,10,11,
- 0,0,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,63,
- 64,0,1,2,3,4,0,73,82,83,
- 74,0,1,2,3,4,5,6,82,83,
- 14,10,11,12,13,0,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,0,1,2,3,4,37,6,
- 0,0,72,10,11,0,5,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,60,61,62,63,64,131,132,133,0,
- 130,75,0,82,83,74,0,1,2,3,
- 4,5,6,82,83,13,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,0,1,
- 2,3,4,37,6,7,8,9,73,0,
- 0,0,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,63,
- 64,72,0,1,2,3,4,5,6,0,
- 74,75,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,0,67,0,0,0,37,
- 0,5,5,0,1,2,3,4,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,86,0,1,
- 2,3,4,5,6,66,0,0,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 0,1,2,3,4,37,6,7,8,9,
- 67,73,72,111,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,60,61,
- 62,63,64,0,0,1,2,3,4,5,
- 6,0,0,75,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,0,67,0,0,
- 0,37,0,1,2,3,4,7,8,9,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,59,60,61,62,63,64,0,
- 0,1,2,3,4,5,6,130,0,0,
- 10,11,12,13,6,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,0,1,2,3,4,37,6,67,
- 71,71,10,11,0,111,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 5,6,0,74,74,10,11,12,13,71,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,88,89,67,
- 0,0,37,0,1,2,3,4,0,0,
- 0,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 0,1,2,3,4,5,6,72,0,0,
- 10,11,12,13,0,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,0,1,2,3,4,37,67,0,
- 67,0,1,2,3,4,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 5,6,0,0,74,10,11,12,13,6,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,88,89,67,
- 0,0,37,0,1,2,3,4,67,36,
- 71,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 0,1,2,3,4,5,6,0,0,74,
- 10,11,12,13,6,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,0,0,0,0,0,37,0,6,
- 67,71,6,5,0,0,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 5,6,102,103,74,10,11,12,13,71,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,0,0,0,
- 0,67,37,0,71,6,71,71,0,6,
- 0,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 0,1,2,3,4,5,6,102,103,36,
- 10,11,12,13,46,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,0,0,0,67,0,37,0,5,
- 71,71,0,5,0,0,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 5,6,102,103,0,10,11,12,13,46,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,0,0,0,
- 67,0,37,5,131,132,133,0,0,0,
- 0,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 0,1,2,3,4,5,6,0,0,0,
- 10,11,12,13,0,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,88,89,0,0,0,37,0,0,
- 0,0,0,0,0,0,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 5,6,0,0,0,10,11,12,13,0,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,0,0,0,
- 86,0,37,0,0,0,0,0,0,0,
- 0,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 0,1,2,3,4,5,6,0,0,0,
- 10,11,12,13,0,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,0,0,0,86,0,37,0,0,
- 0,0,0,0,0,0,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 5,6,0,0,0,10,11,12,13,0,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,0,84,0,
- 0,0,37,0,0,0,0,0,0,0,
- 0,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 0,1,2,3,4,5,6,0,0,0,
- 10,11,12,13,0,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,0,0,0,86,0,37,0,0,
- 0,0,0,0,0,0,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,0,1,2,3,4,
- 5,6,0,0,0,10,11,12,13,0,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,23,84,0,
- 0,0,37,0,0,0,0,0,0,0,
- 0,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 0,1,2,3,4,0,6,7,8,9,
- 66,67,0,0,0,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,0,0,0,0,
- 0,0,0,84,0,0,0,1,2,3,
- 4,86,6,7,8,9,66,0,68,69,
- 70,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,0,0,0,0,0,0,0,0,
- 0,0,0,1,2,3,4,0,6,7,
- 8,9,66,0,68,69,70,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,0,0,
- 0,0,0,0,0,0,0,0,0,1,
- 2,3,4,0,6,7,8,9,66,0,
- 68,69,70,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,0,0,0,1,2,3,
- 4,0,0,0,0,1,2,3,4,0,
- 14,7,8,9,66,0,68,69,70,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,0,38,39,40,41,42,43,44,45,
- 0,0,0,0,0,14,0,0,0,0,
- 0,1,2,3,4,0,14,7,8,9,
- 66,75,68,69,70,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,0,38,39,
- 40,41,42,43,44,45,0,0,1,0,
- 0,5,0,0,73,0,10,65,12,13,
- 79,14,0,14,14,73,66,0,68,69,
- 70,0,0,0,0,0,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,14,
- 0,14,0,47,48,49,50,0,0,0,
- 0,0,0,57,0,115,116,117,118,119,
- 120,121,122,123,124,125,126,71,72,73,
- 0,0,73,86,78,75,79,0,82,83,
- 0,0,86,0,88,89,87,0,86,0,
- 0,14,65,0,0,0,0,0,102,103,
- 75,105,106,107,108,109,110,14,0,113,
- 114,115,0,117,118,119,120,121,122,123,
- 124,125,126,0,0,129,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,79,0,32,33,
- 34,35,36,0,38,39,40,41,42,43,
- 44,45,79,32,33,34,35,36,0,38,
- 39,40,41,42,43,44,45,0,0,0,
- 0,65,84,0,0,0,0,104,72,0,
- 0,14,0,0,0,79,65,14,0,0,
- 0,0,104,72,0,0,14,0,0,0,
- 79,0,1,2,3,4,5,6,7,8,
- 9,14,14,12,13,0,1,2,3,4,
- 5,6,7,8,9,0,0,12,13,0,
- 0,0,65,32,33,34,35,36,0,38,
- 39,40,41,42,43,44,45,32,33,34,
- 35,36,79,38,39,40,41,42,43,44,
- 45,79,65,0,1,2,3,4,5,6,
- 7,8,9,72,73,12,13,79,0,78,
- 0,1,2,3,4,5,6,72,73,0,
- 10,11,0,78,0,32,33,34,35,36,
- 0,38,39,40,41,42,43,44,45,0,
- 0,1,2,3,4,5,6,7,8,9,
- 0,0,12,13,0,0,1,2,3,4,
- 0,6,7,8,9,72,73,12,13,14,
- 0,78,32,33,34,35,36,0,38,39,
- 40,41,42,43,44,45,0,0,0,2,
- 0,14,0,0,7,8,9,0,0,0,
- 0,0,15,16,17,18,19,20,21,22,
- 0,14,72,73,0,0,0,0,78,32,
- 33,34,35,36,0,38,39,40,41,42,
- 43,44,45,0,79,2,0,0,0,0,
- 7,8,9,0,0,0,0,0,15,16,
- 17,18,19,20,21,22,79,0,0,104,
- 0,0,65,0,0,32,33,34,35,36,
- 73,38,39,40,41,42,43,44,45,0,
- 1,2,3,4,5,6,86,0,0,10,
- 11,0,0,14,0,1,2,3,4,5,
- 6,7,8,9,10,11,0,0,0,0,
- 0,0,0,0,0,115,116,117,118,119,
- 120,121,122,123,124,125,126,0,1,2,
- 3,4,5,6,7,8,9,10,11,0,
- 1,2,3,4,5,6,0,0,0,10,
- 11,72,73,14,0,0,0,78,79,0,
- 0,0,0,0,5,86,0,1,2,3,
- 4,5,6,0,14,2,10,11,84,0,
- 14,0,0,104,0,0,0,0,15,16,
- 17,18,19,20,21,22,0,1,2,3,
- 4,5,6,0,65,0,10,11,49,50,
- 0,84,0,0,0,0,0,71,0,71,
- 7,8,9,0,78,71,78,14,0,14,
- 14,72,78,73,0,0,0,14,72,79,
- 0,0,0,0,0,79,0,0,102,103,
- 102,103,0,0,0,0,102,103,0,0,
- 0,0,0,0,0,0,0,0,72,0,
- 0,0,0,127,128,127,128,0,65,0,
- 0,127,128,0,0,0,73,0,129,73,
- 75,0,0,134,0,79,0,0,75,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,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 termCheck[] = TermCheck.termCheck;
- public final int termCheck(int index) { return termCheck[index]; }
+ public final static short rhs[] = baseCheck;
- public interface TermAction {
- public final static char termAction[] = {0,
- 9900,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,9900,8841,8841,
- 8841,8841,8841,8841,8841,8841,1,9900,8841,8841,
- 756,9910,8841,8841,8841,8841,8841,8841,8841,8841,
- 1,8771,8759,8763,8767,860,8756,8790,8784,8787,
- 818,5597,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 8841,8841,8841,8841,8841,8841,8841,8841,8841,8841,
- 9900,3598,9909,9900,8841,9900,9619,8737,8737,8737,
- 8737,8737,8730,8737,8737,8737,8737,8737,8737,9758,
- 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,1,
- 1,1,1,1,1,1,1,1,1,1,
- 9623,1,115,1,1,1,748,9900,3262,1,
- 9911,2489,721,420,7352,757,10108,1,1,3762,
- 2655,111,9907,1,35,3863,3260,3389,3054,3816,
- 5147,9900,3861,1108,3837,1789,3826,10,9761,9761,
- 9761,9761,9761,9761,9761,9761,9761,9761,9761,9761,
- 9761,9761,9761,9761,9761,9761,9761,9761,9761,9761,
- 9761,9761,9761,9761,9761,9761,9761,9761,9761,9761,
- 9761,9761,9761,9761,9761,9761,9761,9761,9761,9761,
- 9761,9761,9761,9761,9761,9761,9761,9761,9761,9761,
- 9761,9761,9761,9761,9761,9761,9761,9761,9761,9761,
- 9761,9761,9761,9761,3862,9761,9761,9761,1983,8149,
- 1774,9761,9761,9761,9761,7321,5153,9761,9761,9761,
- 9761,129,9761,121,9761,137,8080,9761,9761,9761,
- 9761,9761,9761,8103,9761,9761,9761,9761,9761,8,
- 9782,9782,9782,9782,9782,9782,9782,9782,9782,9782,
- 9782,9782,9782,9782,9782,9782,9782,9782,9782,9782,
- 9782,9782,9782,9782,9782,9782,9782,9782,9782,9782,
- 9782,9782,9782,9782,9782,9782,9782,9782,9782,9782,
- 9782,9782,9782,9782,9782,9782,9782,9782,9782,9782,
- 9782,9782,9782,9782,9782,9782,9782,9782,9782,9782,
- 9782,9782,9782,9782,9782,9782,9900,9782,9782,9782,
- 9900,6652,6683,9782,9782,9782,9782,9900,9900,9782,
- 9782,9782,9782,782,9782,141,9782,5983,5954,9782,
- 9782,9782,9782,9782,9782,3331,9782,9782,9782,9782,
- 9782,9900,9619,8737,8737,8737,8737,8737,8730,8737,
- 8737,8737,8737,8737,8737,9626,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,1,1,1,1,1,
- 1,1,1,1,1,1,9623,1,149,1,
- 1,1,9900,6652,6683,1,9911,2489,721,39,
- 333,757,10108,1,1,9938,2655,1358,1198,1227,
- 135,3863,3260,3389,3054,3816,5147,9900,3861,1108,
- 3837,1789,3826,9900,9619,8737,8737,8737,8737,8737,
- 8730,8737,8737,8737,8737,8737,8737,9626,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,1,1,1,
- 1,1,1,1,1,1,1,1,9623,1,
- 130,1,1,1,1166,1076,9900,1,9911,2489,
- 721,4215,665,757,10108,1,1,9900,2655,1358,
- 1198,1227,1741,3863,3260,3389,3054,3816,5147,3677,
- 3861,1108,3837,1789,3826,9900,9619,8737,8737,8737,
- 8737,8737,8730,8737,8737,8737,8737,8737,8737,9626,
- 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,1,
- 1,1,1,1,1,1,1,1,1,1,
- 9623,1,150,1,1,1,5983,5954,9900,1,
- 9911,2489,721,4252,348,757,10108,1,1,9900,
- 2655,1358,1198,1227,1939,3863,3260,3389,3054,3816,
- 5147,343,3861,1108,3837,1789,3826,9900,9619,8737,
- 8737,8737,8737,8737,8730,8737,8737,8737,8737,8737,
- 8737,9626,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,1,1,1,1,1,1,1,1,1,
- 1,1,9623,1,5871,1,1,1,1166,1076,
- 9900,1,9911,2489,721,2193,662,757,10108,1,
- 1,9900,2655,9329,9335,9332,5617,3863,3260,3389,
- 3054,3816,5147,9900,3861,1108,3837,1789,3826,9900,
- 9619,8737,8737,8737,8737,8737,8730,8737,8737,8737,
- 8737,8737,8737,9626,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,1,1,1,1,1,1,1,
- 1,1,1,1,9623,1,3862,1,1,1,
- 9900,4154,9900,1,9911,2489,721,9900,653,757,
- 10108,1,1,1120,2655,1358,1198,1227,484,3863,
- 3260,3389,3054,3816,5147,9900,3861,1108,3837,1789,
- 3826,9900,9619,8737,8737,8737,8737,8737,8730,8737,
- 8737,8737,8737,8737,8737,9626,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,1,1,1,1,1,
- 1,1,1,1,1,1,9623,1,133,1,
- 1,1,4098,7934,9900,1,9911,2489,721,1220,
- 654,757,10108,1,1,632,2655,1358,1198,1227,
- 3017,3863,3260,3389,3054,3816,5147,190,3861,1108,
- 3837,1789,3826,9900,9619,8737,8737,8737,8737,8737,
- 8730,8737,8737,8737,8737,8737,8737,9626,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,1,1,1,
- 1,1,1,1,1,1,1,1,9623,1,
- 9317,1,1,1,131,9900,4608,1,9911,2489,
- 721,2213,431,757,10108,1,1,5050,2655,1358,
- 1198,1227,1,3863,3260,3389,3054,3816,5147,629,
- 3861,1108,3837,1789,3826,9900,9619,8737,8737,8737,
- 8737,8737,8730,8737,8737,8737,8737,8737,8737,9626,
- 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,1,
- 1,1,1,1,1,1,1,1,1,1,
- 9623,1,1604,1,1,1,2,9900,619,1,
- 9911,2489,721,2915,366,757,10108,1,1,91,
- 2655,9445,9451,9448,9433,3863,3260,3389,3054,3816,
- 5147,9900,3861,1108,3837,1789,3826,9900,9619,8737,
- 8737,8737,8737,8737,8730,8737,8737,8737,8737,8737,
- 8737,9626,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,1,1,1,1,1,1,1,1,1,
- 1,1,9623,1,606,1,1,1,151,1510,
- 337,1,9911,2489,721,10337,366,757,10108,1,
- 1,5119,2655,1358,1198,1227,155,3863,3260,3389,
- 3054,3816,5147,10236,3861,1108,3837,1789,3826,9900,
- 9619,8737,8737,8737,8737,8737,8730,8737,8737,8737,
- 8737,8737,8737,9626,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,1,1,1,1,1,1,1,
- 1,1,1,1,9623,1,9900,1,1,1,
- 157,153,1,1,9911,2489,721,7949,655,757,
- 10108,1,1,271,2655,1358,1198,1227,9635,3863,
- 3260,3389,3054,3816,5147,4531,3861,1108,3837,1789,
- 3826,9900,9619,8737,8737,8737,8737,8737,8730,8737,
- 8737,8737,8737,8737,8737,9626,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,1,1,1,1,1,
- 1,1,1,1,1,1,9623,1,353,1,
- 1,1,9900,9263,9900,1,9911,2489,721,4703,
- 4500,757,10108,1,1,118,2655,9900,9912,9900,
- 9900,3863,3260,3389,3054,3816,5147,218,3861,1108,
- 3837,1789,3826,9900,9311,9311,9311,9311,9311,9311,
- 9311,9311,9311,9311,9311,9311,9311,9311,9919,10272,
- 10273,1439,258,9921,9922,9920,9916,9917,9918,8856,
- 8850,8853,7189,4159,9900,9311,9311,9311,9311,9311,
- 1613,9311,9311,9311,9311,9311,9311,9311,9311,9911,
- 9311,9311,9311,9311,8865,8862,8859,8883,8871,9900,
- 8889,8868,8880,8847,8874,8877,8886,8844,9311,38,
- 9248,9239,9242,9245,9311,9311,9311,431,9311,9236,
- 5597,9311,9311,424,1358,1198,1227,9311,9311,9311,
- 9311,9311,9311,366,8750,8740,9054,8747,860,849,
- 1358,1198,1227,818,5597,9311,9311,9311,9311,9311,
- 9311,9311,9311,9311,9311,9311,9311,9311,9311,9311,
- 9311,9311,9311,9311,9311,9311,9311,9311,9311,9311,
- 9311,9311,9311,9897,9900,9900,9900,9311,9900,9436,
- 9436,9436,9436,9436,9436,9436,9436,9436,9436,9436,
- 9436,9436,9436,9900,9900,117,9900,259,9900,9914,
- 10602,10601,9915,9900,8904,8898,8901,7352,818,5597,
- 9436,9436,9436,9436,9436,5769,9436,9436,9436,9436,
- 9436,9436,9436,9436,328,9436,9436,9436,9436,8913,
- 8910,8907,8931,8919,8729,8937,8916,8928,8895,8922,
- 8925,8934,8892,9436,37,9314,9314,9314,9314,9436,
- 9436,9436,661,9436,9314,355,9436,9436,3436,1358,
- 1198,1227,9436,9436,9436,9436,9436,9436,662,8750,
- 8740,9054,8747,860,849,1358,1198,1227,818,5597,
- 9436,9436,9436,9436,9436,9436,9436,9436,9436,9436,
- 9436,9436,9436,9436,9436,9436,9436,9436,9436,9436,
- 9436,9436,9436,9436,9436,9436,9436,9436,7321,5153,
- 3832,2335,9436,39,8750,8740,8743,8747,6776,849,
- 1358,1198,1227,7911,5597,7819,7842,1613,10199,10197,
- 10205,10201,10202,10200,10203,10204,1193,10566,10567,10206,
- 10207,10198,10573,10574,10575,10272,10273,1439,10190,10194,
- 8155,10188,10195,10191,10167,10193,10192,10189,10168,9919,
- 7796,7773,7888,7865,9921,9922,9920,9916,9917,9918,
- 7750,2053,2205,2100,7711,2147,2050,7282,9900,10334,
- 9900,4893,10335,10336,2393,3705,9900,2006,39,8750,
- 8740,9054,8747,6776,849,1358,1198,1227,7911,5597,
- 7819,7842,9900,10199,10197,10205,10201,10202,10200,10203,
- 10204,1193,10566,10567,10206,10207,10198,10573,10574,10575,
- 10272,10273,1439,10190,10194,8155,10188,10195,10191,10167,
- 10193,10192,10189,10168,9919,7796,7773,7888,7865,9921,
- 9922,9920,9916,9917,9918,7750,2053,2205,2100,7711,
- 2147,2050,7282,1725,10334,346,4893,10335,10336,9900,
- 1130,227,2006,9900,9357,9357,9357,9357,263,9353,
- 8737,8737,8737,263,263,263,263,9361,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,9900,
- 8771,8759,8763,8767,860,8756,8790,8784,8787,818,
- 5597,9233,9233,9900,9066,9057,9060,9063,263,1,
- 9350,1,1,1,9900,9914,10602,10601,9915,4210,
- 2202,1445,9900,757,10348,257,631,263,453,626,
- 452,9786,8805,8799,8802,1358,1198,1227,9900,10436,
- 10199,10197,10205,10201,10202,10200,10203,10204,134,10566,
- 10567,10206,10207,10198,10573,10574,10575,8814,8811,8808,
- 8832,8820,10525,8838,8817,8829,8796,8823,8826,8835,
- 8793,9900,2826,3785,10371,10372,10373,9900,9357,9357,
- 9357,9357,263,9353,8737,8737,8737,263,263,263,
- 263,9533,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,9900,8771,8759,8763,8767,860,8756,
- 8790,8784,8787,818,5597,9299,9299,9900,15475,15384,
- 15409,15412,263,1,9350,1,1,1,48,9066,
- 9057,9060,9063,4210,2202,393,4608,757,10348,570,
- 9900,263,657,9900,451,9900,9674,9668,9671,9817,
- 9823,9820,9900,10436,10199,10197,10205,10201,10202,10200,
- 10203,10204,337,10566,10567,10206,10207,10198,10573,10574,
- 10575,10272,10273,1439,10190,10194,9900,10188,10195,10191,
- 10167,10193,10192,10189,10168,10236,2355,3785,10371,10372,
- 10373,9900,8737,8737,8737,8737,263,8737,8730,8737,
- 8737,263,263,263,263,8781,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,15410,1,1,1,
- 1,15539,1,15217,1,1,1,9900,836,10292,
- 9900,29,423,423,423,423,9641,423,423,423,
- 423,423,423,9641,9641,9641,263,1,8734,1,
- 1,1,433,9914,10602,10601,9915,3256,721,9900,
- 9900,757,10145,423,423,423,423,423,253,423,
- 423,423,423,423,423,423,423,10436,9900,9900,
- 9835,9835,9835,9835,9835,9835,9835,9835,9835,9835,
- 9835,9835,9835,494,7510,9900,9641,37,9314,9314,
- 9314,9314,9257,9641,1358,1198,1227,4954,4910,366,
- 9641,9900,15475,15384,15409,15412,253,9900,8737,8737,
- 8737,8737,263,8737,8730,8737,8737,263,263,263,
- 263,263,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,15410,1,1,1,1,15539,1,15217,
- 1,1,1,9835,9936,9305,9900,638,649,649,
- 649,649,649,649,649,649,649,649,649,9867,
- 9867,9862,263,1,8734,1,1,1,327,9914,
- 10602,10601,9915,3256,721,9900,711,757,10145,649,
- 649,649,649,649,9900,649,649,649,649,649,
- 649,649,649,10436,344,8771,8759,8763,8767,860,
- 8756,8790,8784,8787,818,5597,9233,9233,10272,10273,
- 1439,423,9867,7577,9900,8750,8740,9054,8747,649,
- 849,2826,9326,551,9442,5597,9867,37,9314,9314,
- 9314,9314,254,9900,8737,8737,8737,8737,263,8737,
- 8730,8737,8737,263,263,263,263,263,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,15410,1,
- 1,1,1,15539,1,15217,1,1,1,9900,
- 9900,2700,9051,260,8444,9900,9914,10602,10601,9915,
- 8964,8958,8961,9900,9936,2237,1228,114,263,1,
- 8734,1,1,1,1786,490,1,9904,9900,3256,
- 721,4473,9900,757,10145,8973,8970,8967,8991,8979,
- 676,8997,8976,8988,8955,8982,8985,8994,8952,10436,
- 9900,8737,8737,8737,8737,263,8737,8730,8737,8737,
- 263,263,263,263,9464,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,15410,1,1,1,1,
- 15539,1,15217,1,1,1,9251,9900,1613,676,
- 261,136,8507,139,676,676,10448,9015,9009,9012,
- 36,9814,9805,9808,9811,263,1,8734,1,1,
- 1,493,8080,1,9903,9900,3256,721,4473,8103,
- 757,10145,9024,9021,9018,9042,9030,254,9048,9027,
- 9039,9006,9033,9036,9045,9003,10436,9900,8737,8737,
- 8737,8737,263,8737,8730,8737,8737,263,263,263,
- 263,9464,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,15410,1,1,1,1,15539,1,15217,
- 1,1,1,9308,9900,1613,576,650,9900,8505,
- 656,576,9900,3873,9081,9075,9078,9826,9832,9829,
- 3677,9900,263,1,8734,1,1,1,788,781,
- 9900,382,485,3256,721,9906,3141,757,10145,9090,
- 9087,9084,9108,9096,254,9114,9093,9105,9072,9099,
- 9102,9111,9069,10436,9900,8737,8737,8737,8737,263,
- 8737,8730,8737,8737,263,263,263,263,9464,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,15410,
- 1,1,1,1,15539,1,15217,1,1,1,
- 9905,6454,113,1613,691,4147,9900,9900,6508,6652,
- 6683,9479,9473,9476,326,1378,1378,1378,1378,263,
- 1,8734,1,1,1,9900,9900,9900,9900,29,
- 3256,721,6427,6400,757,10145,9488,9485,9482,9506,
- 9494,254,9512,9491,9503,9470,9497,9500,9509,9467,
- 10436,9900,8737,8737,8737,8737,263,8737,8730,8737,
- 8737,263,263,263,263,263,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,15410,1,1,1,
- 1,15539,1,15217,1,1,1,454,608,10509,
- 1495,571,138,3876,1358,1198,1227,8080,9683,9677,
- 9680,3498,1,460,8103,112,263,1,8734,1,
- 1,1,640,476,1,9900,9439,3256,721,4473,
- 10510,757,10145,10272,10273,1439,10190,10194,376,10188,
- 10195,10191,10167,10193,10192,10189,10168,10436,9900,8737,
- 8737,8737,8737,263,8737,8730,8737,8737,263,263,
- 263,263,263,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,15410,1,1,1,1,15539,1,
- 15217,1,1,1,9254,132,1613,376,572,9907,
- 9900,154,376,376,1,9692,9686,9689,5050,9900,
- 6652,6683,3331,263,1,8734,1,1,1,383,
- 8080,1,464,9908,3256,721,4473,8103,757,10145,
- 10272,10273,1439,10190,10194,9629,10188,10195,10191,10167,
- 10193,10192,10189,10168,10436,9900,8737,8737,8737,8737,
- 263,8737,8730,8737,8737,263,263,263,263,263,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 15410,1,1,1,1,15539,1,15217,1,1,
- 1,1613,9900,1613,9900,573,9907,8514,1,2099,
- 9632,639,9701,9695,9698,125,1591,116,10294,4703,
- 263,1,8734,1,1,1,124,29,9900,7352,
- 9900,3256,721,1137,9900,757,10145,10272,10273,1439,
- 10190,10194,9906,10188,10195,10191,10167,10193,10192,10189,
- 10168,10436,9900,8737,8737,8737,8737,263,8737,8730,
- 8737,8737,263,263,263,263,263,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,15410,1,1,
- 1,1,15539,1,15217,1,1,1,9257,6652,
- 6683,2343,574,6652,6683,5329,9900,9905,9900,9710,
- 9704,9707,4360,2201,6652,6683,2237,263,1,8734,
- 1,1,1,123,9900,9900,9900,9900,3256,721,
- 7321,5153,757,10145,10272,10273,1439,10190,10194,9900,
- 10188,10195,10191,10167,10193,10192,10189,10168,10436,9900,
- 8737,8737,8737,8737,263,8737,8730,8737,8737,263,
- 263,263,263,263,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,15410,1,1,1,1,15539,
- 1,15217,1,1,1,9900,8771,8759,8763,8767,
- 860,8756,8790,8784,8787,818,5597,9299,9299,5219,
- 6751,6652,6683,9900,263,1,8734,1,1,1,
- 9900,122,156,9900,9900,3256,721,9906,2251,757,
- 10145,380,8750,8740,9054,8747,6481,849,1358,1198,
- 1227,818,5597,366,366,10436,9900,8737,8737,8737,
- 8737,263,8737,8730,8737,8737,263,263,263,263,
- 263,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,15410,1,1,1,1,15539,1,15217,1,
- 1,1,9905,39,9900,3545,371,1722,4473,9938,
- 1358,1198,1227,1613,441,366,366,380,9906,6652,
- 6683,263,1,8734,1,1,1,9900,9527,9900,
- 9900,9900,3256,721,2351,4350,757,10145,9776,9773,
- 9770,4531,158,1,8750,8740,9054,8747,6776,849,
- 3465,9900,10436,7911,5597,7376,7842,9904,10199,10197,
- 10205,10201,10202,10200,10203,10204,1653,10566,10567,10206,
- 10207,10198,10573,10574,10575,1613,380,9900,1660,9530,
- 6613,380,380,9905,9900,9424,9415,9418,9421,9919,
- 7796,7773,7888,7865,9921,9922,9920,9916,9917,9918,
- 7750,2053,2205,2100,7711,2147,2050,7282,323,9000,
- 9000,9000,9000,120,318,1358,1198,1227,1,8771,
- 8759,8763,8767,2658,849,39,39,9900,7911,5597,
- 7819,7842,47,9400,9406,9382,9394,9391,9397,9388,
- 9385,9364,9412,9409,9379,9376,9403,9373,9370,9367,
- 39,9936,4500,583,9903,6613,9938,1358,1198,1227,
- 7189,4159,366,366,9919,7796,7773,7888,7865,9921,
- 9922,9920,9916,9917,9918,7750,2053,2205,2100,7711,
- 2147,2050,7282,1,8771,8759,8763,8767,8753,8756,
- 9900,9900,2006,8778,8775,8,552,1,7555,1474,
- 39,39,1,8771,8759,8763,8767,9605,8756,9894,
- 9900,9260,9566,8775,9554,9557,9912,9400,9406,9382,
- 9394,9391,9397,9388,9385,9364,9412,9409,9379,9376,
- 9403,9373,9370,9367,480,9302,9302,9302,9302,9536,
- 9302,9302,9302,9302,9900,9900,9302,9302,9578,9551,
- 9548,9563,9560,9572,9569,9575,9587,9584,9581,9545,
- 9593,9602,9596,9542,9599,9590,9539,481,9656,9656,
- 9656,9656,9911,9653,9644,9650,9647,9911,397,9659,
- 9659,7579,9894,1,9608,9608,39,8750,8740,9054,
- 8747,6776,849,9900,37,9900,7911,5597,7399,7842,
- 9904,10199,10197,10205,10201,10202,10200,10203,10204,1653,
- 10566,10567,10206,10207,10198,10573,10574,10575,9900,9900,
- 4113,3599,3879,6613,9900,8750,8740,9054,8747,5291,
- 9938,405,9919,7796,7773,7888,7865,9921,9922,9920,
- 9916,9917,9918,7750,2053,2205,2100,7711,2147,2050,
- 7282,4445,39,8750,8740,9054,8747,6776,849,9900,
- 2006,9936,7911,5597,7819,7842,9873,10199,10197,10205,
- 10201,10202,10200,10203,10204,1653,10566,10567,10206,10207,
- 10198,10573,10574,10575,659,9278,9278,9278,9278,6613,
- 664,1358,1198,1227,9900,9900,3881,9903,9919,7796,
- 7773,7888,7865,9921,9922,9920,9916,9917,9918,7750,
- 2053,2205,2100,7711,2147,2050,7282,1846,1,8771,
- 8759,8763,8767,860,8756,119,2006,9326,818,5597,
- 174,8750,8740,9054,8747,6776,849,10391,9900,9907,
- 7911,5597,7819,7842,2493,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,92,9755,9755,9755,9755,6613,9755,9755,
- 9755,9755,7189,4159,9755,9755,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,9900,8750,8740,9054,8747,
- 9900,9938,9900,9900,2006,39,8750,8740,9054,8747,
- 6776,849,39,39,9900,7911,5597,7819,7842,9323,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,95,9856,9856,
- 9856,9856,6613,9853,9844,9850,9847,1,9900,9859,
- 9859,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 9458,1,8750,8740,9054,8747,6776,849,10377,2006,
- 9326,7911,5597,7819,7842,1495,10199,10197,10205,10201,
- 10202,10200,10203,10204,1653,10566,10567,10206,10207,10198,
- 10573,10574,10575,333,9914,10602,10601,9915,6613,371,
- 1358,1198,1227,9461,3468,9900,9900,9919,7796,7773,
- 7888,7865,9921,9922,9920,9916,9917,9918,7750,2053,
- 2205,2100,7711,2147,2050,7282,9900,9914,10602,10601,
- 9915,10272,10273,1439,320,2006,614,8750,8740,9054,
- 8747,6776,849,39,39,475,7911,5597,7819,7842,
- 410,10199,10197,10205,10201,10202,10200,10203,10204,1653,
- 10566,10567,10206,10207,10198,10573,10574,10575,9900,8750,
- 8740,9054,8747,6613,849,9900,1786,3264,818,5597,
- 100,9900,9919,7796,7773,7888,7865,9921,9922,9920,
- 9916,9917,9918,7750,2053,2205,2100,7711,2147,2050,
- 7282,9900,9066,9057,9060,9063,1,10219,8057,921,
- 2006,1,8771,8759,8763,8767,2658,849,39,39,
- 9912,7911,5597,7819,7842,9900,9400,9406,9382,9394,
- 9391,9397,9388,9385,9364,9412,9409,9379,9376,9403,
- 9373,9370,9367,9900,8750,8740,9054,8747,6613,849,
- 9900,9900,9779,818,5597,326,4651,9919,7796,7773,
- 7888,7865,9921,9922,9920,9916,9917,9918,7750,2053,
- 2205,2100,7711,2147,2050,7282,10371,10372,10373,99,
- 4113,9911,152,8057,921,2006,39,8750,8740,9054,
- 8747,6776,849,39,39,5119,7911,5597,7819,7842,
- 9323,10199,10197,10205,10201,10202,10200,10203,10204,1653,
- 10566,10567,10206,10207,10198,10573,10574,10575,430,8949,
- 8949,8949,8949,6613,318,8940,8946,8943,13490,9900,
- 9900,403,9919,7796,7773,7888,7865,9921,9922,9920,
- 9916,9917,9918,7750,2053,2205,2100,7711,2147,2050,
- 7282,9841,39,8750,8740,9054,8747,6776,849,9900,
- 2006,9326,7911,5597,7819,7842,9904,10199,10197,10205,
- 10201,10202,10200,10203,10204,1653,10566,10567,10206,10207,
- 10198,10573,10574,10575,9900,318,103,9900,462,6613,
- 100,9838,3778,43,9430,9430,9430,9430,9919,7796,
- 7773,7888,7865,9921,9922,9920,9916,9917,9918,7750,
- 2053,2205,2100,7711,2147,2050,7282,1896,39,8750,
- 8740,9054,8747,6776,849,2685,9900,582,7911,5597,
- 7819,7842,9323,10199,10197,10205,10201,10202,10200,10203,
- 10204,1653,10566,10567,10206,10207,10198,10573,10574,10575,
- 660,9275,9275,9275,9275,6613,664,9266,9272,9269,
- 9427,2452,9779,9903,9919,7796,7773,7888,7865,9921,
- 9922,9920,9916,9917,9918,7750,2053,2205,2100,7711,
- 2147,2050,7282,9900,39,8750,8740,9054,8747,6776,
- 849,9900,9900,9326,7911,5597,7819,7842,9904,10199,
- 10197,10205,10201,10202,10200,10203,10204,1653,10566,10567,
- 10206,10207,10198,10573,10574,10575,9900,664,9900,73,
- 431,6613,9900,15285,15285,15285,15285,1358,1198,1227,
- 9919,7796,7773,7888,7865,9921,9922,9920,9916,9917,
- 9918,7750,2053,2205,2100,7711,2147,2050,7282,594,
- 39,8750,8740,9054,8747,6776,849,4113,432,145,
- 7911,5597,7819,7842,423,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,9900,8750,8740,9054,8747,6613,849,9936,
- 9870,1495,9442,5597,9900,9903,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,39,8750,8740,9054,8747,
- 6776,849,9900,4157,2006,7911,5597,7819,7842,1495,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,6652,6683,2718,
- 9900,1,6613,45,9728,9728,9728,9728,9900,9900,
- 9900,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 39,8750,8740,9054,8747,2658,849,1711,9900,144,
- 7911,5597,7819,7842,9900,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,37,9314,9314,9314,9314,6613,835,2,
- 9725,9900,9801,9789,9793,9797,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,39,8750,8740,9054,8747,
- 2658,849,9900,39,2006,7911,5597,7819,7842,9938,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,6652,6683,2185,
- 146,9900,6613,9900,16686,16577,16591,16639,9936,1996,
- 37,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 39,8750,8740,9054,8747,6776,849,9900,48,2006,
- 7911,5597,7819,7842,10602,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,9900,48,1,148,48,6613,9900,10601,
- 9936,6454,9915,1537,9900,9900,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,39,8750,8740,9054,8747,
- 6029,849,6427,6400,2006,7911,5597,7819,7842,10602,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,9900,9900,48,
- 147,874,6613,39,10601,9914,6454,9915,9900,9938,
- 9900,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 39,8750,8740,9054,8747,6971,849,6427,6400,1610,
- 7911,5597,7819,7842,2149,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,9900,1,313,7644,9900,6613,103,9891,
- 9914,6454,9900,9838,9900,9900,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,39,8750,8740,9054,8747,
- 8336,849,6427,6400,142,7911,5597,7819,7842,877,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,9900,9900,9900,
- 877,9900,6613,7230,10371,10372,10373,9900,9900,9900,
- 9900,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 39,8750,8740,9054,8747,8363,849,9900,9900,9900,
- 7911,5597,7819,7842,544,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,6652,6683,9900,9900,9900,6613,9900,9900,
- 9900,9900,9900,9900,9900,9900,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,39,8750,8740,9054,8747,
- 6776,849,9900,9900,9900,7911,5597,7819,7842,542,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,9900,9900,9900,
- 7953,9900,6613,9900,9900,9900,9900,9900,9900,9900,
- 9900,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 39,8750,8740,9054,8747,8433,849,9900,9900,9900,
- 7911,5597,7819,7842,9900,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,9900,9900,9900,8273,9900,6613,9900,9900,
- 9900,9900,9900,9900,9900,9900,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,39,8750,8740,9054,8747,
- 2658,849,9900,9900,9900,7911,5597,7819,7842,456,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,9900,3894,9900,
- 9900,9900,6613,9900,9900,9900,9900,9900,9900,9900,
- 9900,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 39,8750,8740,9054,8747,2658,849,9900,9900,9900,
- 7911,5597,7819,7842,9900,10199,10197,10205,10201,10202,
- 10200,10203,10204,1653,10566,10567,10206,10207,10198,10573,
- 10574,10575,9900,9900,9900,3941,9900,6613,9900,9900,
- 9900,9900,9900,9900,9900,9900,9919,7796,7773,7888,
- 7865,9921,9922,9920,9916,9917,9918,7750,2053,2205,
- 2100,7711,2147,2050,7282,39,8750,8740,9054,8747,
- 6776,849,9900,9900,1,7911,5597,7819,7842,9900,
- 10199,10197,10205,10201,10202,10200,10203,10204,1653,10566,
- 10567,10206,10207,10198,10573,10574,10575,9458,3649,9900,
- 9900,9900,6613,9900,9900,9900,9900,9900,9900,9900,
- 9900,9919,7796,7773,7888,7865,9921,9922,9920,9916,
- 9917,9918,7750,2053,2205,2100,7711,2147,2050,7282,
- 9900,8750,8740,8743,8747,9900,9938,1358,1198,1227,
- 9461,3468,9900,9900,9900,10199,10197,10205,10201,10202,
- 10200,10203,10204,1103,10566,10567,10206,10207,10198,10573,
- 10574,10575,10272,10273,1439,10190,10194,4122,10188,10195,
- 10191,10167,10193,10192,10189,10168,9900,9900,9900,9900,
- 9900,9900,9900,5363,9900,9900,275,9226,9213,9217,
- 9222,1774,9230,9129,9123,9126,10334,9900,4893,10335,
- 10336,9198,9204,9180,9192,9189,9195,9186,9183,1103,
- 9210,9207,9177,9174,9201,9171,9168,9165,9138,9135,
- 9132,9156,9144,4122,9162,9141,9153,9120,9147,9150,
- 9159,9117,9900,9900,9900,9900,9900,9900,9900,9900,
- 9900,9900,9900,8750,8740,9054,8747,9900,9938,1358,
- 1198,1227,10334,9900,4893,10335,10336,10199,10197,10205,
- 10201,10202,10200,10203,10204,1103,10566,10567,10206,10207,
- 10198,10573,10574,10575,10272,10273,1439,10190,10194,4122,
- 10188,10195,10191,10167,10193,10192,10189,10168,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,275,9226,
- 9213,9454,9222,9900,9230,9129,9123,9126,10334,9900,
- 4893,10335,10336,9198,9204,9180,9192,9189,9195,9186,
- 9183,1103,9210,9207,9177,9174,9201,9171,9168,9165,
- 9138,9135,9132,9156,9144,4122,9162,9141,9153,9120,
- 9147,9150,9159,9117,9900,9900,9900,9914,10602,10601,
- 9915,9900,9900,9900,9900,9914,10602,10601,9915,9900,
- 9912,1358,1198,1227,10334,9900,4893,10335,10336,10199,
- 10197,10205,10201,10202,10200,10203,10204,1299,10566,10567,
- 10206,10207,10198,10573,10574,10575,10272,10273,1439,10190,
- 10194,9900,10188,10195,10191,10167,10193,10192,10189,10168,
- 139,9900,9900,9900,9900,9906,9900,9900,9900,9900,
- 275,9722,9713,9716,9719,9900,9910,9129,9123,9126,
- 10334,9911,4893,10335,10336,9198,9204,9180,9192,9189,
- 9195,9186,9183,1299,9210,9207,9177,9174,9201,9171,
- 9168,9165,9138,9135,9132,9156,9144,9900,9162,9141,
- 9153,9120,9147,9150,9159,9117,1,9900,2903,9900,
- 649,2157,546,9900,1345,9900,10405,9909,10399,10403,
- 9905,9906,9900,9908,9611,5871,10334,9900,4893,10335,
- 10336,9900,9900,9900,9900,638,2608,1,8771,8759,
- 8763,8767,860,8756,8790,8784,8787,818,5597,9731,
- 9900,344,9900,10397,10398,10428,10429,9900,9900,9900,
- 9900,9900,9900,10406,9900,788,781,2558,2508,2458,
- 2408,2358,2308,2258,2208,2158,2106,10408,793,10430,
- 9900,9900,1395,3735,10409,9615,9905,9900,2302,2339,
- 9900,9900,10407,9900,10419,10418,9907,9900,1728,9900,
- 9900,9906,344,1,9900,9900,9900,9900,10424,10425,
- 9735,10431,10422,10423,10402,10404,10426,398,9900,10400,
- 10401,10427,9900,10412,10413,10414,10410,10411,10420,10421,
- 10416,10415,10417,9900,9900,10432,32,424,424,424,
- 424,9638,424,424,424,424,424,424,9638,9638,
- 9638,637,648,648,648,648,648,648,648,648,
- 648,648,648,9767,9767,9767,9905,9900,424,424,
- 424,424,424,9900,424,424,424,424,424,424,
- 424,424,398,648,648,648,648,648,9900,648,
- 648,648,648,648,648,648,648,1,9900,9900,
- 9900,9638,5435,1,9900,9900,9900,398,9638,9900,
- 9900,9910,1,9900,9900,9638,9767,194,9900,9900,
- 9900,9900,4003,648,9900,9900,196,1,1,9900,
- 9767,37,10602,10602,10602,10602,10602,10602,10602,10602,
- 10602,224,590,10602,10602,37,10601,10601,10601,10601,
- 10601,10601,10601,10601,10601,9900,9900,10601,10601,9900,
- 9900,9900,9909,10602,10602,10602,10602,10602,9900,10602,
- 10602,10602,10602,10602,10602,10602,10602,10601,10601,10601,
- 10601,10601,194,10601,10601,10601,10601,10601,10601,10601,
- 10601,196,224,37,9915,9915,9915,9915,9915,9915,
- 9915,9915,9915,10602,10602,9915,9915,590,9900,10602,
- 1,8771,8759,8763,8767,860,8756,10601,10601,9900,
- 818,5597,9900,10601,9900,9915,9915,9915,9915,9915,
- 9900,9915,9915,9915,9915,9915,9915,9915,9915,9900,
- 37,9914,9914,9914,9914,9914,9914,9914,9914,9914,
- 9900,9900,9914,9914,9900,1,9608,9608,9608,9608,
- 9900,9764,8790,8784,8787,9915,9915,366,366,398,
- 9900,9915,9914,9914,9914,9914,9914,1,9914,9914,
- 9914,9914,9914,9914,9914,9914,9900,695,9900,9347,
- 9900,9906,9900,9900,9344,9338,9341,9900,9900,9900,
- 159,9900,10583,10586,10582,10588,10589,10587,10584,10585,
- 9900,9910,9914,9914,9900,9900,9900,9900,9914,10272,
- 10273,1439,10190,10194,9900,10188,10195,10191,10167,10193,
- 10192,10189,10168,694,398,9524,9900,9900,9900,9900,
- 9521,9515,9518,9900,9900,9900,9900,9900,10583,10586,
- 10582,10588,10589,10587,10584,10585,9905,9900,9900,398,
- 9900,9900,9909,9900,9900,10272,10273,1439,10190,10194,
- 6096,10188,10195,10191,10167,10193,10192,10189,10168,1,
- 8771,8759,8763,8767,6481,8756,3303,9900,9900,818,
- 5597,9900,9900,402,1,8771,8759,8763,8767,860,
- 8756,8790,8784,8787,818,5597,9900,9900,9900,9900,
- 9900,9900,9900,9900,9900,4307,1999,3217,3189,3103,
- 3075,2989,2961,2875,2847,2761,2733,1,8771,8759,
- 8763,8767,860,8756,8790,8784,8787,818,5597,1,
- 8771,8759,8763,8767,8753,8756,126,9900,128,8778,
- 8775,1613,402,9910,127,9900,9900,402,402,75,
- 9900,9900,9900,9900,9293,1796,1,8771,8759,8763,
- 8767,6481,8756,9900,9906,10581,818,5597,3785,9900,
- 9629,9900,9900,402,9900,9900,9900,9900,10583,10586,
- 10582,10588,10589,10587,10584,10585,1,8771,8759,8763,
- 8767,6481,8756,9900,9909,9900,818,5597,9284,9281,
- 9900,3785,9900,9900,9900,636,9900,6326,9900,6326,
- 9876,9884,9880,87,9320,6326,9662,9888,9900,9739,
- 9906,9296,9665,1956,9900,9900,9900,9747,1613,9905,
- 9900,9900,9900,9900,9900,9632,9900,9900,6251,5909,
- 6251,5909,9900,9900,9900,9900,6251,5909,9900,9900,
- 9900,9900,9900,9900,9900,9900,9900,9900,1613,9900,
- 9900,9900,9900,4255,1256,4255,1256,9900,9888,9900,
- 9900,4255,1256,9900,9900,9900,9888,9900,9287,8396,
- 9743,9900,9900,9290,9900,9905,9900,9900,9751
- };
- };
- public final static char termAction[] = TermAction.termAction;
- public final int termAction(int index) { return termAction[index]; }
+ public final int rhs(int index) {
+ return rhs[index];
+ };
- public interface Asb {
- public final static char asb[] = {0,
- 1459,4,1566,321,1448,1,363,1501,707,707,
- 707,1400,67,878,1458,994,321,329,1263,1566,
- 649,245,1566,1566,1566,221,261,156,261,875,
- 261,1103,261,261,329,330,261,995,1345,100,
- 1501,321,642,261,261,1114,330,261,330,1566,
- 930,164,164,920,164,651,156,80,581,80,
- 782,994,833,938,324,70,70,321,898,330,
- 1264,1053,1035,847,1396,579,159,877,8,875,
- 152,329,1103,335,330,330,703,219,995,995,
- 995,995,995,995,995,995,995,995,644,995,
- 1198,1566,930,930,930,930,329,1566,261,861,
- 861,834,833,321,321,330,521,1397,335,335,
- 261,363,468,1397,261,261,930,261,330,701,
- 1298,176,164,164,163,163,156,329,573,784,
- 1198,791,796,793,800,798,807,805,809,808,
- 810,588,811,321,994,1218,321,261,330,525,
- 898,898,330,1264,787,845,786,1585,86,1396,
- 1395,1397,159,330,79,865,856,703,156,837,
- 330,335,703,330,697,1198,1198,1198,1517,362,
- 701,261,1397,1397,1397,954,1608,1608,974,974,
- 363,363,363,363,330,598,6,6,598,994,
- 861,156,329,697,261,261,335,335,324,239,
- 468,468,1264,1298,176,163,163,163,330,1397,
- 994,1397,995,995,995,995,995,995,995,995,
- 995,995,995,995,995,995,995,995,995,995,
- 995,995,995,994,994,994,994,994,994,994,
- 994,994,994,994,15,995,1397,842,156,321,
- 1193,991,403,468,529,824,898,834,834,1053,
- 834,1514,579,1585,1585,1621,1620,851,842,330,
- 159,65,878,930,1262,1568,159,79,857,861,
- 79,861,703,837,837,330,920,365,1183,1198,
- 759,757,764,762,766,765,767,768,781,330,
- 219,330,1397,1397,1397,468,362,994,261,955,
- 324,1294,1284,1283,1353,267,267,329,644,995,
- 1397,1397,920,920,920,920,703,1397,1263,1265,
- 1263,1397,468,156,907,330,1566,1196,261,920,
- 920,261,1397,1288,1271,1287,781,930,92,92,
- 842,842,163,330,834,1219,793,793,791,791,
- 791,798,798,798,798,798,798,796,796,805,
- 800,800,808,807,809,65,65,810,842,1218,
- 403,468,417,524,333,1397,86,1397,597,1397,
- 1397,701,1570,861,861,861,861,330,837,841,
- 922,841,1154,1170,1170,1170,1170,1149,329,927,
- 995,995,995,995,995,995,995,995,995,994,
- 994,994,994,994,994,994,994,994,994,994,
- 994,995,974,697,261,261,261,995,363,261,
- 261,1397,954,65,995,65,834,953,1566,1566,
- 1566,955,1566,330,471,834,834,330,156,1608,
- 1397,1296,1298,330,701,271,1198,1566,1566,1566,
- 1566,330,330,330,1265,701,873,329,330,598,
- 261,261,888,994,1285,1285,1292,324,1058,176,
- 164,176,780,780,842,834,994,994,1218,994,
- 994,468,529,1397,1621,1264,833,995,65,899,
- 932,830,1570,861,861,407,841,842,995,330,
- 330,995,757,757,757,762,759,759,765,764,
- 766,65,767,1397,261,324,944,955,65,1045,
- 955,974,974,972,953,974,834,834,905,952,
- 1397,1298,703,1264,1397,994,994,994,994,1566,
- 1566,219,330,1264,873,1397,261,709,888,994,
- 994,1296,1271,176,363,363,841,468,468,597,
- 834,1570,995,995,830,830,1570,1570,907,214,
- 408,330,842,703,1048,994,261,261,261,994,
- 261,955,995,955,1397,321,974,1397,972,1501,
- 1566,1397,873,911,1397,330,719,1397,1397,1397,
- 1397,598,598,1269,261,219,945,1566,261,891,
- 781,261,105,830,830,407,330,329,329,330,
- 330,261,598,995,468,955,905,955,834,1501,
- 994,955,952,911,911,304,1397,1397,1269,1058,
- 891,1343,261,261,330,330,330,261,1397,468,
- 994,953,598,834,1397,914,911,1397,1397,318,
- 1566,92,330,330,955,1397,834,914,914,156,
- 156,320,1299,780,955,914,1621,1263,363
- };
- };
- public final static char asb[] = Asb.asb;
- public final int asb(int index) { return asb[index]; }
+ public interface BaseAction0 {
+ public final static char baseAction0[] = { 214, 5, 158, 82, 82, 32, 32, 106, 106, 48, 48, 41, 41, 214, 1, 1, 15,
+ 15, 15, 15, 15, 15, 15, 17, 17, 17, 16, 11, 11, 6, 6, 6, 6, 6, 6, 2, 93, 93, 4, 4, 12, 12, 56, 56, 175,
+ 175, 176, 86, 86, 55, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 177, 177, 177, 159, 159, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 215, 215, 216, 216,
+ 217, 180, 180, 181, 181, 178, 178, 182, 179, 179, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25,
+ 25, 26, 26, 26, 34, 34, 34, 34, 34, 36, 36, 36, 37, 37, 38, 38, 39, 39, 42, 42, 45, 45, 46, 46, 58, 58,
+ 58, 58, 58, 70, 70, 70, 74, 74, 76, 76, 79, 79, 81, 81, 83, 83, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 33, 33, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 47, 35, 160, 160, 124,
+ 124, 218, 218, 114, 249, 249, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 94, 94, 59, 59, 219, 219,
+ 98, 98, 98, 135, 135, 220, 220, 99, 99, 99, 99, 221, 221, 100, 100, 100, 100, 100, 101, 101, 103, 103,
+ 103, 103, 103, 103, 103, 103, 60, 60, 60, 60, 60, 136, 136, 134, 134, 61, 222, 31, 31, 31, 31, 31, 53,
+ 53, 67, 67, 67, 67, 67, 122, 122, 129, 129, 129, 129, 129, 130, 130, 130, 131, 131, 131, 132, 132, 132,
+ 137, 137, 137, 68, 68, 68, 68, 68, 69, 69, 69, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 107, 125,
+ 125, 125, 125, 125, 125, 116, 116, 116, 184, 185, 185, 117, 117, 223, 187, 187, 186, 186, 161, 161, 138,
+ 91, 91, 162, 63, 52, 188, 188, 64, 105, 105, 163, 163, 183, 183, 139, 140, 140, 141, 88, 88, 189, 189,
+ 77, 77, 77, 72, 72, 71, 78, 78, 95, 95, 87, 87, 87, 75, 119, 119, 127, 126, 126, 50, 50, 73, 73, 80, 80,
+ 57, 123, 123, 123, 108, 108, 108, 109, 109, 110, 110, 110, 111, 111, 142, 142, 142, 144, 144, 143, 143,
+ 250, 250, 120, 120, 225, 225, 225, 225, 225, 165, 51, 51, 191, 224, 224, 166, 166, 112, 112, 112, 113,
+ 193, 226, 226, 44, 44, 115, 121, 121, 121, 121, 228, 146, 145, 145, 118, 118, 118, 194, 195, 195, 195,
+ 195, 195, 195, 195, 195, 195, 195, 195, 230, 230, 227, 227, 229, 229, 148, 149, 149, 149, 149, 150, 231,
+ 151, 147, 147, 232, 232, 196, 196, 196, 196, 133, 133, 133, 233, 233, 8, 8, 9, 234, 234, 235, 197, 190,
+ 190, 198, 198, 199, 200, 200, 7, 7, 10, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 89, 92, 92, 201, 201, 168, 168, 169, 169, 169, 169, 169, 169, 3,
+ 170, 170, 167, 167, 202, 251, 252, 252, 253, 253, 254, 255, 255, 203, 204, 204, 204, 204, 237, 237, 237,
+ 153, 153, 153, 153, 153, 154, 155, 155, 152, 152, 104, 90, 102, 102, 192, 192, 156, 156, 238, 238, 238,
+ 171, 171, 164, 164, 239, 239, 27, 27, 27, 43, 43, 28, 28, 240, 240, 205, 205, 205, 206, 206, 241, 241,
+ 207, 207, 29, 29, 242, 242, 208, 208, 208, 208, 30, 65, 243, 243, 244, 244, 209, 209, 209, 172, 172,
+ 172, 19, 19, 19, 19, 34, 34, 46, 17, 97, 245, 157, 157, 157, 128, 128, 31, 62, 67, 141, 141, 141, 148,
+ 148, 148, 223, 228, 146, 75, 88, 184, 162, 13, 13, 50, 104, 104, 104, 18, 14, 14, 14, 80, 80, 66, 40,
+ 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 211, 211, 247, 247, 246, 246, 210, 210, 50, 60, 60, 1,
+ 1, 256, 95, 95, 95, 95, 95, 95, 95, 212, 213, 213, 195, 54, 1834, 35, 3267, 3255, 5724, 2223, 27, 30,
+ 31, 1654, 1590, 26, 28, 3254, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 652, 597,
+ 598, 599, 2070, 1533, 177, 2589, 1620, 2643, 2605, 2788, 2713, 6304, 419, 2790, 77, 308, 2813, 176,
+ 2806, 4961, 191, 266, 2505, 35, 1703, 32, 5759, 4085, 27, 30, 31, 1654, 1590, 57, 28, 1976, 1143, 77,
+ 269, 264, 265, 1563, 1563, 5086, 35, 1703, 32, 4863, 2584, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296,
+ 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 1907, 189, 189, 2055, 2402, 2352, 34, 2589,
+ 309, 2643, 2605, 2788, 2713, 3720, 1878, 3726, 276, 279, 282, 3249, 2298, 520, 992, 6745, 939, 5436,
+ 285, 5627, 1946, 645, 5837, 4375, 4784, 6180, 1630, 35, 1703, 32, 6769, 3083, 41, 30, 31, 1654, 1590,
+ 3859, 35, 1703, 32, 5364, 4563, 27, 30, 31, 1654, 1590, 374, 28, 7538, 2437, 534, 2505, 4859, 1909, 35,
+ 3267, 3255, 5724, 2593, 27, 30, 31, 1654, 1590, 26, 28, 3254, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 2590, 652, 597, 598, 599, 998, 5741, 177, 2589, 521, 2643, 2605, 2788, 2713, 5738,
+ 617, 2790, 1240, 308, 2813, 176, 623, 1117, 191, 266, 8297, 680, 354, 1199, 356, 2055, 35, 317, 349,
+ 1121, 3706, 600, 597, 598, 599, 61, 269, 264, 265, 1923, 2584, 615, 2651, 601, 597, 598, 599, 925, 2723,
+ 3559, 35, 1703, 32, 4863, 6013, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76,
+ 77, 108, 2513, 2563, 2543, 3153, 309, 2055, 35, 1509, 424, 919, 162, 1535, 276, 279, 282, 3249, 725,
+ 520, 992, 6964, 426, 5471, 285, 347, 463, 645, 5837, 4375, 4784, 6180, 1719, 35, 1703, 32, 6769, 3144,
+ 2451, 30, 31, 1654, 1590, 672, 2047, 600, 597, 598, 599, 3157, 1944, 488, 496, 3155, 1430, 3168, 7538,
+ 483, 3167, 2505, 3174, 3859, 3244, 161, 578, 2055, 35, 6535, 4635, 3559, 35, 1703, 32, 4863, 6013, 27,
+ 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 1692,
+ 5216, 35, 1703, 32, 4863, 162, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77,
+ 108, 2513, 2563, 2543, 3153, 3765, 35, 314, 3144, 3988, 2055, 3480, 549, 575, 3055, 579, 3525, 35, 312,
+ 78, 3157, 520, 4344, 1776, 3155, 5543, 3168, 3069, 618, 3167, 3246, 3174, 77, 3244, 161, 578, 3974,
+ 1563, 4758, 2959, 3559, 35, 1703, 32, 4863, 6013, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50,
+ 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 2874, 5216, 35, 1703, 32, 4863, 162, 27, 30, 31, 1654,
+ 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 3765, 35, 314,
+ 3144, 6035, 628, 1529, 549, 575, 3055, 579, 4672, 35, 312, 1713, 3157, 2323, 35, 432, 3155, 2911, 3168,
+ 3416, 359, 3167, 3246, 3174, 5934, 3244, 161, 578, 3976, 1563, 2518, 719, 4162, 35, 1703, 32, 4863,
+ 6013, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543,
+ 3153, 193, 5086, 35, 1703, 32, 4863, 162, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 108, 2513, 2563, 2543, 3533, 2055, 35, 4047, 3144, 2055, 35, 330, 549, 575, 3055, 579, 360,
+ 42, 3253, 2485, 3157, 3765, 35, 566, 3155, 6539, 3168, 3430, 2584, 3167, 3246, 3174, 4337, 3244, 161,
+ 578, 4237, 35, 1703, 32, 4863, 1384, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106,
+ 76, 77, 108, 2513, 2563, 2543, 2590, 224, 604, 3032, 3143, 2959, 839, 177, 2589, 3735, 2643, 2605, 2788,
+ 2713, 3927, 2651, 2790, 520, 730, 2813, 176, 5580, 1283, 414, 4533, 35, 1703, 32, 5759, 214, 27, 30, 31,
+ 1654, 1590, 56, 28, 2910, 2055, 3775, 550, 575, 3055, 579, 1719, 35, 1703, 32, 495, 4500, 40, 30, 31,
+ 1654, 1590, 3793, 35, 1703, 32, 4863, 3735, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 108, 2513, 2563, 2543, 2590, 3525, 35, 315, 2301, 415, 2047, 177, 2589, 77, 2643, 2605,
+ 2788, 2713, 8229, 2651, 2790, 5943, 1, 2813, 176, 1384, 1563, 414, 3946, 35, 1703, 32, 4863, 3631, 27,
+ 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2584,
+ 189, 2055, 35, 2352, 311, 177, 2589, 421, 2643, 2605, 2788, 2713, 195, 2651, 2790, 1548, 88, 2813, 176,
+ 102, 1496, 414, 77, 1719, 35, 1703, 32, 958, 2732, 3592, 30, 31, 1654, 1590, 415, 2047, 2502, 4087, 35,
+ 1703, 32, 4863, 1925, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 2590, 3159, 712, 325, 3183, 60, 4340, 177, 2589, 5683, 2643, 2605, 2788, 2713, 605,
+ 3032, 2790, 358, 361, 2813, 176, 415, 2047, 613, 593, 422, 417, 4501, 35, 1703, 32, 4863, 378, 27, 30,
+ 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2596,
+ 4864, 4085, 678, 3724, 6501, 177, 2589, 2973, 2643, 2605, 2788, 2713, 4636, 2466, 2790, 584, 1535, 2813,
+ 176, 4096, 412, 191, 3484, 35, 1703, 32, 4863, 1488, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25,
+ 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2459, 3775, 2096, 2055, 35, 1509, 424, 2589, 2501,
+ 2643, 2605, 2788, 2713, 520, 2984, 2790, 4398, 5220, 2943, 197, 4012, 35, 1703, 32, 4863, 1825, 27, 30,
+ 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 467,
+ 4734, 35, 564, 4401, 1535, 177, 2589, 362, 2643, 2605, 2788, 2713, 1746, 1790, 2790, 3178, 215, 2813,
+ 176, 5934, 4929, 3280, 821, 2584, 1563, 2055, 35, 2352, 313, 611, 601, 597, 598, 599, 2067, 2505, 1889,
+ 3181, 3083, 1472, 4194, 35, 1703, 32, 6187, 2635, 27, 30, 31, 1654, 1590, 26, 28, 3179, 193, 474, 547,
+ 3631, 3727, 35, 1703, 32, 4863, 3676, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106,
+ 76, 77, 108, 2513, 2563, 2543, 2590, 603, 520, 4397, 630, 3252, 5687, 177, 2589, 2535, 2643, 2605, 2788,
+ 2713, 946, 465, 2790, 5928, 2467, 2813, 176, 8126, 1563, 3281, 4501, 35, 1703, 32, 4863, 324, 27, 30,
+ 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 4094,
+ 189, 1548, 772, 3776, 704, 177, 2589, 3148, 2643, 2605, 2788, 2713, 3490, 234, 2790, 77, 713, 2813, 176,
+ 2940, 1563, 408, 4501, 35, 1703, 32, 4863, 225, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50,
+ 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 427, 189, 712, 3675, 463, 134, 177, 2589, 4767, 2643,
+ 2605, 2788, 2713, 2153, 89, 2790, 4704, 102, 2813, 176, 6888, 2841, 408, 4501, 35, 1703, 32, 4863, 584,
+ 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590,
+ 5818, 3825, 2055, 35, 2352, 316, 177, 2589, 628, 2643, 2605, 2788, 2713, 68, 3709, 2790, 2201, 3083,
+ 2813, 176, 3070, 1535, 408, 1535, 2055, 35, 1509, 424, 601, 597, 598, 599, 357, 4087, 35, 1703, 32,
+ 4863, 407, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563,
+ 2543, 2590, 77, 255, 1598, 3083, 2904, 2498, 177, 2589, 308, 2643, 2605, 2788, 2713, 520, 3070, 2790,
+ 77, 7465, 2813, 176, 411, 1563, 613, 3871, 35, 1703, 32, 4863, 406, 27, 30, 31, 1654, 1590, 26, 28,
+ 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 3573, 189, 928, 77, 3548, 1790,
+ 177, 2589, 1048, 2643, 2605, 2788, 2713, 3994, 1535, 2790, 425, 832, 2813, 176, 3185, 310, 175, 4501,
+ 35, 1703, 32, 4863, 404, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 2590, 2055, 35, 2352, 4046, 429, 2929, 177, 2589, 463, 2643, 2605, 2788, 2713, 4101,
+ 1535, 2790, 77, 3290, 2813, 176, 339, 1563, 192, 4501, 35, 1703, 32, 4863, 479, 27, 30, 31, 1654, 1590,
+ 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 428, 189, 409, 77, 463,
+ 1598, 177, 2589, 1138, 2643, 2605, 2788, 2713, 4204, 3568, 2790, 3638, 4663, 2813, 176, 2584, 7951, 188,
+ 411, 5818, 4501, 35, 1703, 32, 4863, 612, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2681, 35, 2352, 311, 533, 2438, 177, 2589, 77, 2643, 2605,
+ 2788, 2713, 4856, 3070, 2790, 77, 1331, 2813, 176, 3651, 1563, 187, 4501, 35, 1703, 32, 4863, 4604, 27,
+ 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 51,
+ 189, 2055, 4103, 2352, 74, 177, 2589, 1384, 2643, 2605, 2788, 2713, 4216, 1025, 2790, 77, 585, 2813,
+ 176, 3364, 1563, 186, 4501, 35, 1703, 32, 4863, 6290, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25,
+ 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 3903, 189, 2551, 3147, 742, 4406, 177, 2589, 3070,
+ 2643, 2605, 2788, 2713, 4250, 2366, 2790, 68, 2364, 2813, 176, 332, 2911, 185, 4501, 35, 1703, 32, 4863,
+ 3447, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543,
+ 2590, 2681, 35, 2352, 4108, 2692, 3080, 177, 2589, 77, 2643, 2605, 2788, 2713, 4778, 338, 2790, 77,
+ 3955, 2813, 176, 5818, 1563, 184, 4501, 35, 1703, 32, 4863, 2413, 27, 30, 31, 1654, 1590, 26, 28, 2249,
+ 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 4500, 189, 623, 44, 3253, 998, 177,
+ 2589, 3257, 2643, 2605, 2788, 2713, 4254, 418, 2790, 77, 1564, 2813, 176, 5818, 1563, 183, 4501, 35,
+ 1703, 32, 4863, 3447, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 2590, 388, 189, 910, 77, 363, 370, 177, 2589, 7004, 2643, 2605, 2788, 2713, 3790,
+ 3070, 2790, 68, 4864, 2813, 176, 4473, 6501, 182, 4501, 35, 1703, 32, 4863, 2413, 27, 30, 31, 1654,
+ 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2055, 35, 2352,
+ 4153, 2055, 4038, 177, 2589, 3257, 2643, 2605, 2788, 2713, 939, 335, 2790, 77, 93, 2813, 176, 1048,
+ 7083, 181, 4501, 35, 1703, 32, 4863, 222, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2055, 35, 2352, 565, 369, 370, 177, 2589, 1546, 2643, 2605,
+ 2788, 2713, 2083, 391, 2790, 68, 70, 2813, 176, 331, 593, 180, 4501, 35, 1703, 32, 4863, 203, 27, 30,
+ 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 1889,
+ 2323, 35, 432, 6277, 324, 177, 2589, 77, 2643, 2605, 2788, 2713, 1640, 624, 2790, 77, 5230, 2813, 176,
+ 1125, 1563, 179, 4501, 35, 1703, 32, 4863, 1283, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50,
+ 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 77, 3595, 4500, 2459, 3775, 7215, 177, 2589, 322, 2643,
+ 2605, 2788, 2713, 466, 3455, 2790, 77, 71, 2813, 176, 1535, 2293, 178, 3643, 35, 1703, 32, 4863, 716,
+ 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153,
+ 2323, 35, 432, 2097, 378, 2055, 35, 330, 189, 2792, 483, 1598, 440, 2827, 1598, 4119, 35, 1703, 32,
+ 6187, 2802, 27, 30, 31, 1654, 1590, 59, 28, 531, 3359, 2941, 3812, 2760, 4119, 35, 1703, 32, 6187, 3070,
+ 27, 30, 31, 1654, 1590, 58, 28, 3929, 214, 4631, 35, 1703, 32, 4863, 2811, 27, 30, 31, 1654, 1590, 26,
+ 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 5818, 4631, 35, 1703, 32,
+ 4863, 162, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563,
+ 2543, 3153, 1019, 389, 326, 3144, 642, 1133, 162, 2055, 35, 1509, 424, 324, 77, 390, 5818, 3157, 68,
+ 854, 5818, 3155, 593, 3168, 77, 5818, 3167, 5681, 3174, 1726, 3244, 161, 173, 3144, 600, 597, 598, 599,
+ 1592, 3776, 1036, 2597, 3282, 321, 4190, 3157, 8402, 457, 24, 3155, 4082, 3168, 2804, 308, 3167, 1150,
+ 3174, 6709, 3244, 161, 172, 4631, 35, 1703, 32, 4863, 715, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296,
+ 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 5818, 4631, 35, 1703, 32, 4863, 162, 27, 30,
+ 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 375,
+ 1229, 77, 3144, 413, 4050, 162, 2638, 5672, 2055, 35, 1509, 424, 3445, 5818, 3157, 4509, 77, 5818, 3155,
+ 387, 3168, 2313, 416, 3167, 1699, 3174, 77, 3244, 161, 171, 3144, 1314, 379, 2694, 2340, 384, 2800, 520,
+ 2985, 3385, 2674, 7534, 3157, 8402, 620, 3383, 3155, 677, 3168, 3779, 4131, 3167, 49, 3174, 2413, 3244,
+ 161, 170, 4631, 35, 1703, 32, 4863, 46, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 108, 2513, 2563, 2543, 3153, 5818, 4631, 35, 1703, 32, 4863, 162, 27, 30, 31, 1654, 1590,
+ 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 5818, 208, 68, 3144,
+ 3880, 1535, 162, 2055, 35, 1509, 424, 2055, 35, 1509, 424, 3157, 1325, 3642, 370, 3155, 387, 3168, 77,
+ 1765, 3167, 1252, 3174, 1940, 3244, 161, 169, 3144, 69, 379, 2694, 2340, 384, 77, 68, 2694, 77, 4056,
+ 1986, 3157, 8402, 2953, 1598, 3155, 377, 3168, 212, 470, 3167, 2599, 3174, 469, 3244, 161, 168, 4631,
+ 35, 1703, 32, 4863, 587, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 3153, 232, 4631, 35, 1703, 32, 4863, 162, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296,
+ 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 5818, 1310, 1384, 3144, 4097, 1535, 162,
+ 2055, 35, 1509, 424, 77, 1638, 5818, 4731, 3157, 6062, 77, 5818, 3155, 387, 3168, 1450, 426, 3167, 1329,
+ 3174, 509, 3244, 161, 167, 3144, 68, 379, 2694, 2340, 384, 1347, 1432, 600, 597, 598, 599, 3157, 1431,
+ 53, 1598, 3155, 577, 3168, 52, 468, 3167, 5740, 3174, 4082, 3244, 161, 166, 4631, 35, 1703, 32, 4863,
+ 586, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543,
+ 3153, 5818, 4631, 35, 1703, 32, 4863, 162, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 108, 2513, 2563, 2543, 3153, 6131, 3447, 2514, 3144, 3261, 4269, 162, 4341, 3070, 1126,
+ 1444, 5867, 4044, 1851, 330, 3157, 68, 77, 5818, 3155, 77, 3168, 2907, 2302, 3167, 4911, 3174, 2696,
+ 3244, 161, 165, 3144, 600, 597, 598, 599, 2584, 2584, 68, 600, 597, 598, 599, 3157, 2810, 1369, 2886,
+ 3155, 1691, 3168, 633, 2413, 3167, 3685, 3174, 925, 3244, 161, 164, 4631, 35, 1703, 32, 4863, 231, 27,
+ 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 334,
+ 5086, 35, 1703, 32, 4863, 162, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77,
+ 108, 2513, 2563, 2543, 2590, 322, 3594, 3759, 3144, 706, 705, 1745, 2589, 2793, 2643, 2605, 2788, 3704,
+ 365, 370, 3157, 1901, 77, 77, 3155, 1724, 3168, 3245, 3251, 3167, 5766, 3174, 5818, 3244, 161, 163,
+ 5086, 35, 1703, 32, 4863, 913, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77,
+ 108, 2513, 2563, 2543, 2590, 3800, 602, 1607, 2576, 35, 1509, 424, 2589, 2651, 2643, 2605, 2788, 2713,
+ 1708, 3941, 2790, 4097, 1119, 2943, 197, 4501, 35, 1703, 32, 4863, 2196, 27, 30, 31, 1654, 1590, 26, 28,
+ 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 308, 827, 5818, 3719, 232, 4057,
+ 177, 2589, 2584, 2643, 2605, 2788, 2713, 1716, 3486, 2790, 6128, 68, 2813, 176, 3168, 2588, 641, 2323,
+ 35, 2918, 3142, 68, 601, 597, 598, 599, 672, 2047, 622, 4501, 35, 1703, 32, 4863, 4035, 27, 30, 31,
+ 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2863, 4085,
+ 438, 235, 2976, 49, 177, 2589, 2983, 2643, 2605, 2788, 2713, 233, 3162, 2790, 2035, 1044, 2813, 176,
+ 5818, 3166, 140, 4501, 35, 1703, 32, 4863, 707, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50,
+ 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 77, 3177, 621, 72, 3274, 4872, 177, 2589, 77, 2643,
+ 2605, 2788, 2713, 3875, 3372, 2790, 3554, 68, 2813, 176, 5818, 5818, 3471, 5818, 4501, 35, 1703, 32,
+ 4863, 3866, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563,
+ 2543, 2590, 611, 90, 385, 6279, 634, 2793, 177, 2589, 4033, 2643, 2605, 2788, 2713, 2584, 442, 2790, 77,
+ 6285, 2813, 176, 2089, 1389, 3639, 4696, 35, 1703, 32, 4863, 3056, 27, 30, 31, 1654, 1590, 26, 28, 2249,
+ 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 6291, 5086, 35, 1703, 32, 4863, 162,
+ 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590,
+ 2672, 5934, 1695, 3144, 607, 4378, 1563, 2589, 77, 2643, 2605, 3646, 68, 4401, 68, 3157, 2888, 708, 77,
+ 3155, 5959, 3168, 2963, 2385, 3167, 6732, 3174, 5818, 3244, 161, 160, 4761, 35, 1703, 32, 4863, 193, 27,
+ 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 131,
+ 3376, 1438, 77, 256, 68, 177, 2589, 2637, 2643, 2605, 2788, 2713, 1745, 4206, 2790, 77, 6346, 2813, 176,
+ 5818, 1563, 222, 5086, 35, 1703, 32, 4863, 2584, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50,
+ 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 2791, 189, 3583, 226, 3276, 3686, 238, 2589, 2651, 2643,
+ 2605, 2788, 2713, 4359, 2570, 2790, 5818, 3890, 2943, 197, 5086, 35, 1703, 32, 4863, 2668, 27, 30, 31,
+ 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 1031, 4189,
+ 2765, 3988, 3153, 5882, 585, 2589, 4340, 2643, 2605, 2788, 2713, 97, 3155, 2790, 4050, 3259, 2943, 197,
+ 3374, 6354, 3470, 2044, 35, 1509, 424, 601, 597, 598, 599, 5818, 672, 2047, 6282, 5086, 35, 1703, 32,
+ 4863, 459, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563,
+ 2543, 2590, 2651, 487, 3772, 4282, 2413, 49, 5035, 2589, 5100, 2643, 2605, 2788, 2713, 5165, 2890, 2790,
+ 2035, 2033, 2943, 197, 5086, 35, 1703, 32, 4863, 329, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25,
+ 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 1947, 1439, 4510, 4640, 4965, 713, 4796, 2589, 4861,
+ 2643, 2605, 2788, 2713, 3062, 541, 2790, 4233, 3373, 2943, 197, 2055, 35, 1509, 424, 672, 2047, 5295,
+ 3483, 601, 597, 598, 599, 340, 3722, 370, 5086, 35, 1703, 32, 4863, 458, 27, 30, 31, 1654, 1590, 26, 28,
+ 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 539, 540, 49, 5380, 2584, 5849,
+ 1982, 2589, 5386, 2643, 2605, 2788, 2713, 2035, 1114, 2790, 3471, 4202, 2943, 197, 5346, 35, 1703, 32,
+ 4863, 461, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563,
+ 2543, 2590, 5411, 35, 1509, 424, 3882, 1773, 2782, 2589, 1899, 2643, 2605, 2788, 2713, 271, 296, 2790,
+ 2350, 4339, 2943, 197, 4230, 3765, 35, 489, 4338, 6494, 4470, 652, 597, 598, 599, 3879, 601, 597, 598,
+ 599, 4799, 844, 143, 98, 644, 5818, 5728, 5818, 308, 4826, 35, 1703, 32, 4863, 266, 27, 30, 31, 1654,
+ 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 648, 76, 77, 269, 264, 265, 3936, 35, 489, 5507, 6494, 5579,
+ 4925, 4310, 3636, 1558, 4989, 2368, 5086, 35, 1703, 32, 4863, 4034, 27, 30, 31, 1654, 1590, 26, 28,
+ 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 3476, 309, 600, 597, 598, 599, 2438, 5743, 9900,
+ 276, 279, 282, 3249, 9900, 9900, 992, 6745, 5818, 3464, 285, 5818, 5818, 645, 5837, 4375, 4784, 6180,
+ 4044, 35, 330, 9900, 6769, 2067, 5818, 2485, 35, 1703, 32, 5508, 4563, 27, 30, 31, 1654, 1590, 374, 28,
+ 2651, 9900, 5651, 3378, 7538, 3712, 67, 600, 597, 598, 599, 9900, 9900, 9900, 600, 597, 598, 599, 66,
+ 9900, 5818, 1384, 5738, 925, 5818, 5086, 35, 1703, 32, 4863, 7150, 27, 30, 31, 1654, 1590, 26, 28, 2249,
+ 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3539, 65, 9900, 616, 9900, 64, 1117, 354,
+ 1199, 356, 9900, 2299, 9900, 349, 1121, 482, 3366, 3374, 9900, 9900, 672, 2047, 5818, 367, 997, 5818,
+ 5281, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76,
+ 77, 108, 2513, 2563, 2543, 3153, 2203, 55, 6874, 9900, 54, 5818, 5523, 35, 1509, 424, 3882, 486, 3366,
+ 3374, 913, 9900, 5934, 9900, 9900, 271, 296, 1563, 341, 345, 780, 5818, 5818, 601, 597, 598, 599, 3144,
+ 6344, 652, 597, 598, 599, 101, 1607, 9900, 9900, 1583, 9900, 3157, 9900, 9900, 2289, 3155, 9900, 3168,
+ 308, 193, 3167, 2841, 3995, 9900, 266, 3767, 3021, 601, 597, 598, 599, 5818, 5818, 6347, 1936, 4050,
+ 652, 597, 598, 599, 3591, 269, 264, 265, 5148, 2030, 35, 3935, 32, 5508, 4563, 27, 30, 31, 1654, 1590,
+ 374, 28, 627, 266, 9900, 9900, 9900, 3135, 5795, 591, 9900, 600, 597, 598, 599, 9900, 600, 597, 598,
+ 599, 278, 264, 265, 3065, 9900, 309, 9900, 3464, 4340, 2413, 9900, 9900, 6044, 276, 279, 282, 3249,
+ 2255, 617, 992, 6964, 9900, 9900, 285, 9900, 9900, 645, 5837, 4375, 4784, 6180, 3082, 4303, 9900, 6282,
+ 6769, 8265, 9900, 9900, 2299, 354, 1199, 356, 9900, 2299, 9900, 349, 1121, 9900, 9900, 9900, 6757, 918,
+ 9900, 9900, 7538, 367, 2602, 5216, 35, 1703, 32, 4863, 386, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296,
+ 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3153, 3765, 370, 9900, 6874, 5216, 35, 1703, 32,
+ 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563,
+ 2543, 3153, 3144, 6356, 455, 3934, 9900, 3591, 9900, 396, 9900, 5148, 387, 9900, 3157, 9900, 9900, 9900,
+ 3155, 9900, 3168, 9900, 9900, 3985, 9900, 379, 2694, 2340, 384, 9900, 94, 9900, 9900, 3144, 600, 597,
+ 598, 599, 9900, 9900, 3596, 9900, 9900, 9900, 9900, 3157, 9900, 9900, 9900, 3155, 3464, 3981, 5086, 35,
+ 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 2590, 1133, 442, 9900, 2299, 9900, 3479, 716, 2589, 9900, 2643, 3654, 9900, 9900,
+ 9900, 9900, 367, 5934, 9900, 9900, 9900, 9900, 1563, 9900, 9900, 9900, 9900, 9900, 600, 597, 598, 599,
+ 9900, 262, 9900, 9900, 9900, 189, 9900, 9900, 9900, 9900, 759, 1598, 4082, 9900, 9900, 9900, 6912, 3018,
+ 213, 9900, 193, 237, 249, 4745, 700, 9900, 9900, 9900, 9900, 202, 236, 246, 247, 248, 250, 651, 699,
+ 5216, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76,
+ 77, 108, 2513, 2563, 2543, 3153, 201, 9900, 216, 200, 203, 204, 205, 206, 207, 136, 9900, 9900, 9900,
+ 9900, 716, 3624, 35, 1703, 32, 5364, 4217, 27, 30, 31, 1654, 1590, 374, 28, 1433, 9900, 9900, 3144,
+ 9900, 4340, 9900, 9900, 9900, 3591, 9900, 9900, 262, 5148, 9900, 3157, 189, 4306, 9900, 3984, 3988, 759,
+ 1598, 3038, 9900, 4340, 1718, 9900, 3018, 213, 9900, 378, 237, 249, 4745, 700, 600, 597, 598, 599, 202,
+ 236, 246, 247, 248, 250, 651, 699, 9900, 9900, 9900, 6282, 3464, 652, 597, 598, 599, 2285, 351, 1710,
+ 356, 3382, 35, 1703, 32, 5508, 9900, 27, 30, 31, 1654, 1590, 374, 28, 9900, 201, 266, 217, 200, 203,
+ 204, 205, 206, 207, 2299, 9900, 9900, 214, 600, 597, 598, 599, 9900, 281, 264, 265, 367, 4739, 5834,
+ 9900, 9900, 9900, 9900, 4340, 5228, 4077, 35, 1509, 424, 9900, 9900, 9900, 9900, 9900, 5768, 35, 1703,
+ 32, 5364, 4563, 27, 30, 31, 1654, 1590, 374, 28, 9900, 6136, 6282, 9900, 9900, 354, 1199, 356, 3549,
+ 2299, 9900, 350, 1121, 541, 600, 597, 598, 599, 9900, 2118, 9900, 368, 49, 6022, 4340, 1235, 5355, 9900,
+ 9900, 387, 5016, 4340, 9900, 2035, 1349, 600, 597, 598, 599, 9900, 9900, 9900, 381, 2694, 2340, 384,
+ 9900, 9900, 9900, 1341, 262, 1924, 600, 597, 598, 599, 9900, 6282, 354, 1199, 356, 538, 540, 9900, 349,
+ 1121, 9900, 9900, 3464, 1235, 2649, 443, 8216, 714, 9900, 997, 91, 35, 1703, 32, 5364, 4563, 27, 30, 31,
+ 1654, 1590, 374, 28, 3056, 9900, 395, 9900, 9900, 3467, 9900, 600, 597, 598, 599, 364, 9900, 9900, 600,
+ 597, 598, 599, 9900, 444, 445, 446, 815, 3464, 3216, 3441, 3466, 9900, 9900, 9900, 5016, 9900, 9900,
+ 9900, 9900, 9900, 9900, 341, 345, 780, 9900, 9900, 91, 35, 1703, 32, 5364, 4563, 27, 30, 31, 1654, 1590,
+ 374, 28, 2919, 9900, 541, 354, 1199, 356, 2289, 9900, 3041, 349, 1121, 9900, 9900, 9900, 601, 597, 598,
+ 599, 9900, 9900, 997, 5086, 35, 1703, 32, 4863, 3718, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25,
+ 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 1357, 5934, 538, 540, 9900, 9900, 1563, 2589, 9900,
+ 3626, 354, 1199, 356, 9900, 9900, 9900, 349, 1121, 9900, 9900, 9900, 447, 450, 341, 345, 780, 9900,
+ 6084, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 4114, 193, 9900, 9900, 842, 9900, 9900, 5216, 35, 1703,
+ 32, 4863, 1545, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513,
+ 2563, 2543, 3153, 9900, 544, 2055, 35, 1509, 424, 716, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654,
+ 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 3484, 3144, 262, 9900, 9900, 9900, 189,
+ 9900, 9900, 9900, 9900, 759, 1598, 3973, 9900, 9900, 49, 9900, 3018, 213, 9900, 9900, 237, 249, 4745,
+ 700, 4339, 2035, 5265, 9900, 202, 236, 246, 247, 248, 250, 651, 699, 9900, 9900, 9900, 9900, 9900, 646,
+ 2055, 35, 1509, 424, 716, 9900, 9900, 9900, 1789, 35, 1703, 32, 5364, 9900, 27, 30, 31, 1654, 1590, 374,
+ 28, 201, 9900, 4036, 200, 203, 204, 205, 206, 207, 262, 9900, 9900, 9900, 189, 601, 597, 598, 599, 759,
+ 1598, 9900, 9900, 9900, 49, 1337, 3018, 213, 9900, 9900, 237, 249, 4745, 700, 9900, 2035, 2455, 9900,
+ 202, 236, 246, 247, 248, 250, 651, 699, 9900, 9900, 9900, 9900, 9900, 748, 600, 597, 598, 599, 716,
+ 9900, 9900, 354, 1199, 356, 9900, 9900, 9900, 663, 1121, 9900, 3464, 9900, 9900, 9900, 9900, 201, 9900,
+ 211, 200, 203, 204, 205, 206, 207, 262, 9900, 9900, 9900, 189, 9900, 9900, 77, 9900, 759, 1598, 9900,
+ 4077, 9900, 9900, 9900, 3018, 213, 3378, 9900, 237, 249, 4745, 700, 9900, 9900, 9900, 9900, 202, 236,
+ 246, 247, 248, 250, 651, 699, 9900, 9900, 378, 9900, 9900, 850, 2044, 35, 1509, 424, 716, 2827, 6041,
+ 35, 1703, 32, 5364, 4563, 27, 30, 31, 1654, 1590, 374, 28, 9900, 9900, 201, 2941, 209, 200, 203, 204,
+ 205, 206, 207, 262, 9900, 9900, 9900, 189, 9900, 9900, 9900, 9900, 759, 1598, 9900, 9900, 9900, 49,
+ 3271, 3018, 213, 9900, 9900, 237, 249, 4745, 700, 9900, 2035, 1226, 9900, 202, 236, 246, 247, 248, 250,
+ 651, 699, 9900, 9900, 9900, 9900, 9900, 952, 2178, 35, 1509, 424, 716, 354, 1199, 356, 9900, 9900, 9900,
+ 349, 1121, 9900, 2795, 9900, 9900, 9900, 9900, 9900, 9900, 201, 4119, 643, 200, 203, 204, 205, 206, 207,
+ 262, 9900, 9900, 9900, 189, 2189, 35, 1509, 424, 759, 1598, 9900, 9900, 9900, 49, 9900, 3018, 213, 9900,
+ 9900, 237, 249, 4745, 700, 9900, 2035, 47, 9900, 202, 236, 246, 247, 248, 250, 651, 699, 9900, 9900,
+ 9900, 9900, 9900, 1054, 2044, 35, 1509, 424, 716, 9900, 9900, 49, 9900, 9900, 5958, 9900, 9900, 9900,
+ 1287, 878, 9900, 9900, 2035, 47, 9900, 201, 9900, 210, 200, 203, 204, 205, 206, 207, 262, 9900, 9900,
+ 9900, 189, 2189, 35, 1509, 424, 759, 1598, 378, 9900, 9900, 49, 189, 3018, 213, 9900, 1011, 237, 249,
+ 4745, 700, 9900, 2035, 4158, 221, 202, 236, 246, 247, 248, 250, 651, 699, 9900, 5370, 9900, 9900, 9900,
+ 1156, 2044, 35, 1509, 424, 716, 9900, 9900, 49, 9900, 9900, 9900, 9900, 9900, 9900, 2795, 9900, 9900,
+ 5737, 2035, 47, 9900, 201, 4340, 220, 200, 203, 204, 205, 206, 207, 262, 9900, 9900, 9900, 189, 9900,
+ 9900, 77, 9900, 759, 1598, 9900, 716, 9900, 49, 9900, 3018, 213, 378, 1422, 237, 249, 4745, 700, 9900,
+ 2035, 47, 9900, 202, 236, 246, 247, 248, 250, 651, 699, 9900, 9900, 378, 9900, 9900, 1258, 189, 223,
+ 1876, 9900, 716, 2827, 9900, 9900, 9900, 9900, 9900, 9900, 3130, 9900, 934, 9900, 9900, 9900, 9900,
+ 9900, 9900, 201, 2941, 4156, 200, 203, 204, 205, 206, 207, 262, 9900, 9900, 9900, 189, 2382, 35, 1509,
+ 424, 759, 1598, 9900, 9900, 9900, 9900, 3016, 3018, 213, 9900, 9900, 237, 249, 4745, 700, 9900, 9900,
+ 9900, 9900, 202, 236, 246, 247, 248, 250, 651, 699, 9900, 9900, 9900, 9900, 9900, 1360, 4152, 35, 1509,
+ 424, 716, 9900, 9900, 49, 9900, 9900, 9900, 9900, 9900, 9900, 3716, 9900, 9900, 9900, 2035, 47, 9900,
+ 201, 9900, 225, 200, 203, 204, 205, 206, 207, 262, 9900, 9900, 9900, 189, 2189, 35, 1509, 424, 759,
+ 1598, 9900, 9900, 9900, 49, 1235, 3018, 213, 9900, 2690, 237, 249, 4745, 700, 9900, 2035, 2150, 9900,
+ 202, 236, 246, 247, 248, 250, 651, 699, 9900, 9900, 9900, 9900, 9900, 1462, 600, 597, 598, 599, 716,
+ 9900, 9900, 49, 9900, 9900, 9900, 9900, 9900, 9900, 1947, 9900, 3464, 9900, 2035, 3039, 9900, 201, 9900,
+ 219, 200, 203, 204, 205, 206, 207, 262, 9900, 9900, 9900, 189, 478, 9900, 492, 9900, 759, 1598, 2066,
+ 9900, 9900, 9900, 9900, 3018, 213, 3375, 3419, 237, 249, 4745, 700, 273, 296, 9900, 9900, 202, 236, 246,
+ 247, 248, 250, 651, 699, 9900, 9900, 652, 597, 598, 599, 9900, 9900, 9900, 91, 35, 1703, 32, 5364, 4563,
+ 27, 30, 31, 1654, 1590, 374, 28, 9900, 9900, 9900, 266, 9900, 201, 9900, 228, 200, 203, 204, 205, 206,
+ 207, 600, 597, 598, 599, 9900, 9900, 274, 264, 265, 9900, 9900, 5086, 35, 1703, 32, 4863, 5016, 27, 30,
+ 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3546, 9900,
+ 9900, 9900, 9900, 9900, 9900, 354, 1199, 356, 9900, 9900, 9900, 349, 1121, 9900, 9900, 9900, 9900, 5086,
+ 35, 1703, 32, 4863, 997, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 2590, 9900, 9900, 5086, 35, 1703, 32, 4863, 3629, 27, 30, 31, 1654, 1590, 26, 28,
+ 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 2590, 342, 345, 780, 5635, 35, 553,
+ 9900, 3643, 9900, 9900, 9900, 9900, 2055, 35, 1509, 424, 271, 296, 9900, 4157, 9900, 9900, 9900, 9900,
+ 716, 2055, 35, 1509, 424, 9900, 652, 597, 598, 599, 2164, 35, 3935, 32, 5364, 4563, 27, 30, 31, 1654,
+ 1590, 374, 28, 9900, 9900, 9900, 378, 9900, 5834, 266, 189, 9900, 49, 4340, 9900, 2827, 1598, 4093, 597,
+ 598, 599, 9900, 2802, 2035, 1400, 49, 269, 264, 265, 9900, 929, 9900, 2941, 6148, 2760, 9900, 2035,
+ 1204, 9900, 6282, 9900, 9900, 6225, 35, 3935, 32, 5364, 4563, 27, 30, 31, 1654, 1590, 374, 28, 2405,
+ 9900, 600, 597, 598, 599, 354, 1199, 356, 9900, 9900, 9900, 349, 1121, 600, 597, 598, 599, 3969, 276,
+ 279, 282, 3249, 2602, 9900, 992, 7048, 3708, 9900, 9900, 6148, 5148, 9900, 6172, 7940, 8305, 8466, 9900,
+ 9900, 6258, 35, 3935, 32, 5364, 4563, 27, 30, 31, 1654, 1590, 374, 28, 9900, 9900, 600, 597, 598, 599,
+ 354, 1199, 356, 9900, 9900, 2200, 349, 1121, 4093, 597, 598, 599, 3464, 2574, 9900, 395, 9900, 2602,
+ 273, 296, 2055, 35, 1509, 424, 6148, 6865, 455, 3934, 9900, 9900, 9900, 9900, 652, 597, 598, 599, 9900,
+ 4203, 3441, 3466, 652, 597, 598, 599, 2299, 9900, 9900, 9900, 562, 563, 567, 9900, 354, 1199, 356, 266,
+ 368, 9900, 349, 1121, 9900, 9900, 9900, 266, 49, 9900, 9900, 9900, 9900, 2602, 9900, 9900, 274, 264,
+ 265, 2035, 1349, 7099, 455, 3934, 284, 264, 265, 8498, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654,
+ 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3576, 9900, 9900, 9900,
+ 9900, 6210, 35, 1703, 32, 5364, 8454, 27, 30, 31, 1654, 1590, 374, 28, 9900, 6865, 455, 3934, 5086, 35,
+ 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 3579, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23,
+ 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3589, 354, 1199, 356, 2069, 9900, 9900, 349, 1121,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 3924, 9900, 9900, 9900, 9900, 9900, 9900, 387,
+ 9900, 9900, 9900, 9900, 9900, 600, 597, 598, 599, 9900, 9900, 9900, 379, 2694, 2340, 384, 9900, 9900,
+ 9900, 9900, 9900, 4334, 5086, 35, 1703, 32, 4863, 3923, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23,
+ 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3970, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31,
+ 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 3971, 5086, 35,
+ 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108,
+ 2513, 2563, 2543, 3972, 6297, 35, 1703, 32, 5364, 8271, 27, 30, 31, 1654, 1590, 374, 28, 2044, 35, 1509,
+ 424, 9900, 9900, 9900, 2044, 35, 1509, 424, 9900, 9900, 401, 5086, 35, 1703, 32, 4863, 386, 27, 30, 31,
+ 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 2543, 4083, 4471, 9900,
+ 9900, 49, 2055, 35, 1509, 424, 9900, 9900, 49, 2388, 9900, 9900, 2035, 47, 4077, 354, 1199, 356, 9900,
+ 2035, 47, 349, 1121, 9900, 9900, 600, 597, 598, 599, 9900, 9900, 9900, 1923, 9900, 9900, 9900, 9900,
+ 9900, 9900, 387, 262, 4082, 9900, 986, 9900, 9900, 49, 9900, 9900, 759, 1643, 9900, 379, 2694, 2340,
+ 384, 9900, 2035, 1688, 9900, 239, 249, 4745, 700, 9900, 9900, 9900, 3596, 9900, 238, 246, 247, 248, 250,
+ 651, 699, 4891, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 637, 76, 77, 240, 242, 244, 815, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 251, 241,
+ 243, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106,
+ 76, 77, 108, 2513, 2563, 3591, 9900, 9900, 13, 3053, 7439, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31,
+ 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 2563, 3604, 4369, 35, 1703, 32,
+ 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 107, 6327, 35,
+ 1703, 32, 5364, 8454, 27, 30, 31, 1654, 1590, 374, 28, 5467, 35, 1509, 424, 3882, 2651, 77, 9900, 9900,
+ 9900, 9900, 4077, 3978, 272, 296, 751, 5148, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 2671, 9900, 9900,
+ 652, 597, 598, 599, 4157, 9900, 9900, 9900, 9900, 716, 378, 9900, 600, 597, 598, 599, 9900, 308, 9900,
+ 2827, 9900, 9900, 9900, 266, 652, 597, 598, 599, 3464, 9900, 9900, 354, 1199, 356, 9900, 378, 2941, 349,
+ 1121, 189, 270, 264, 265, 9900, 2827, 1598, 9900, 266, 588, 672, 2047, 2802, 9900, 9900, 9900, 387,
+ 9900, 9900, 9900, 3290, 2299, 2941, 9900, 2760, 287, 264, 265, 9900, 379, 2694, 2340, 384, 6757, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 309, 9900, 9900, 589, 2811, 9900, 9900, 9900, 277, 280, 283, 3249,
+ 9900, 2771, 992, 9900, 9900, 9900, 286, 9900, 9900, 646, 1654, 35, 1703, 32, 5508, 9900, 27, 30, 31,
+ 1654, 1590, 374, 28, 9900, 2044, 35, 1509, 424, 600, 597, 598, 599, 9900, 9900, 9900, 9900, 9900, 600,
+ 597, 598, 599, 9900, 9900, 9900, 4366, 9900, 9900, 9900, 1654, 35, 1703, 32, 5508, 3464, 27, 30, 31,
+ 1654, 1590, 374, 28, 9900, 9900, 9900, 9900, 9900, 3444, 9900, 49, 9900, 5148, 9900, 9900, 96, 9900,
+ 600, 597, 598, 599, 2035, 47, 354, 1199, 356, 9900, 2299, 9900, 352, 1121, 9900, 9900, 5228, 9900, 600,
+ 597, 598, 599, 368, 9900, 9900, 5579, 35, 1509, 424, 3882, 9900, 9900, 4157, 9900, 3464, 3023, 9900,
+ 716, 272, 296, 9900, 9900, 9900, 9900, 354, 1199, 356, 9900, 2299, 9900, 350, 1121, 652, 597, 598, 599,
+ 9900, 9900, 9900, 9900, 368, 9900, 9900, 378, 9900, 2621, 2299, 189, 9900, 308, 4077, 9900, 2827, 1598,
+ 9900, 266, 9900, 9900, 368, 2802, 9900, 9900, 9900, 9900, 9900, 9900, 387, 9900, 9900, 2941, 9900, 2760,
+ 270, 264, 265, 9900, 262, 9900, 9900, 381, 2694, 2340, 384, 9900, 9900, 759, 9900, 9900, 9900, 5691, 35,
+ 553, 2916, 9900, 9900, 9900, 239, 249, 4745, 700, 9900, 9900, 272, 296, 9900, 238, 246, 247, 248, 250,
+ 651, 699, 309, 9900, 9900, 9900, 652, 597, 598, 599, 277, 280, 283, 3249, 2718, 9900, 992, 9900, 9900,
+ 4077, 286, 9900, 9900, 646, 240, 242, 244, 815, 9900, 266, 2958, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 251, 241, 243, 9900, 9900, 9900, 9900, 262, 270, 264, 265, 9900, 9900, 9900, 9900, 9900, 759,
+ 9900, 9900, 600, 597, 598, 599, 9900, 9900, 9900, 9900, 239, 249, 4745, 700, 1997, 9900, 7439, 9900,
+ 4334, 238, 246, 247, 248, 250, 651, 699, 3346, 35, 1703, 32, 5364, 4563, 27, 30, 31, 1654, 1590, 374,
+ 28, 277, 280, 283, 3249, 9900, 9900, 992, 9900, 9900, 240, 242, 244, 815, 9900, 601, 597, 598, 599,
+ 9900, 9900, 9900, 9900, 9900, 251, 241, 243, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26,
+ 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 2513, 3483, 9900, 2815, 9900, 2199, 9900, 7439, 4077,
+ 354, 1199, 356, 9900, 9900, 9900, 349, 1121, 9900, 6108, 9900, 9900, 9900, 9900, 4077, 9900, 9900, 6084,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 262, 9900, 9900, 9900, 562, 563, 568, 9900, 9900, 759, 9900,
+ 9900, 9900, 9900, 9900, 378, 592, 9900, 9900, 9900, 239, 249, 4745, 700, 2827, 9900, 9900, 9900, 9900,
+ 238, 246, 247, 248, 250, 651, 699, 4956, 35, 1703, 32, 4863, 2941, 27, 30, 31, 1654, 1590, 26, 28, 2249,
+ 296, 23, 25, 50, 2263, 635, 76, 77, 240, 242, 244, 815, 9900, 9900, 595, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 251, 241, 243, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296,
+ 23, 25, 50, 2263, 106, 76, 77, 108, 3525, 9900, 9900, 9900, 9900, 2449, 9900, 7439, 5086, 35, 1703, 32,
+ 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 108, 3529, 4303,
+ 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 81,
+ 4435, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76,
+ 77, 81, 2524, 9900, 9900, 9900, 9900, 4077, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 2252, 9900, 9900, 9900, 9900, 4077, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 262, 9900,
+ 9900, 9900, 9900, 709, 9900, 9900, 9900, 759, 9900, 9900, 2044, 35, 1509, 424, 4399, 262, 9900, 9900,
+ 239, 249, 4745, 700, 9900, 9900, 759, 9900, 710, 238, 246, 247, 248, 250, 651, 699, 6164, 239, 249,
+ 4745, 700, 9900, 9900, 9900, 9900, 9900, 238, 246, 247, 248, 250, 651, 699, 9900, 9900, 9900, 49, 2912,
+ 240, 242, 244, 815, 4077, 652, 597, 598, 599, 2035, 47, 9900, 9900, 9900, 580, 241, 243, 240, 242, 244,
+ 815, 9900, 9900, 2044, 35, 1509, 424, 2768, 266, 9900, 262, 252, 241, 243, 9900, 9900, 9900, 9900, 9900,
+ 759, 3027, 9900, 9900, 9900, 77, 269, 264, 265, 9900, 4077, 239, 249, 4745, 700, 652, 597, 598, 599,
+ 9900, 238, 246, 247, 248, 250, 651, 699, 3009, 49, 77, 9900, 9900, 4077, 9900, 4077, 9900, 378, 9900,
+ 266, 2035, 47, 9900, 9900, 9900, 9900, 2827, 9900, 9900, 9900, 240, 242, 244, 815, 9900, 9900, 647, 264,
+ 265, 262, 9900, 378, 7623, 2941, 671, 241, 243, 9900, 759, 9900, 2827, 3137, 9900, 9900, 2865, 9900,
+ 9900, 9900, 9900, 239, 249, 4745, 700, 9900, 9900, 9900, 3297, 2941, 238, 246, 247, 248, 250, 651, 699,
+ 3106, 9900, 9900, 9900, 9900, 4077, 652, 597, 598, 599, 9900, 9900, 9900, 9900, 9900, 3360, 9900, 9900,
+ 690, 680, 9900, 9900, 240, 242, 244, 815, 9900, 9900, 9900, 266, 9900, 262, 9900, 9900, 9900, 9900, 670,
+ 241, 243, 9900, 759, 9900, 9900, 9900, 9900, 9900, 270, 264, 265, 9900, 9900, 239, 249, 4745, 700, 9900,
+ 693, 9900, 9900, 9900, 238, 246, 247, 248, 250, 651, 699, 5021, 35, 1703, 32, 4863, 9900, 27, 30, 31,
+ 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 86, 76, 77, 240, 242, 244, 815, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 669, 241, 243, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654,
+ 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 85, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31,
+ 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 83, 5086, 35, 1703, 32, 4863, 9900, 27,
+ 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 82, 5086, 35, 1703, 32, 4863,
+ 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 81, 5086, 35, 1703, 32,
+ 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 80, 5086, 35,
+ 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 79,
+ 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76,
+ 77, 78, 5086, 2402, 1703, 2927, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 84, 3203, 9900, 9900, 9900, 9900, 4077, 2962, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 77, 9900, 3300, 9900, 77, 4077, 9900, 4077, 9900, 4077, 9900, 9900, 9900, 9900, 9900, 9900, 262,
+ 9900, 652, 597, 598, 599, 9900, 9900, 9900, 759, 9900, 9900, 9900, 9900, 9900, 378, 9900, 262, 9900,
+ 378, 239, 249, 4745, 700, 2827, 266, 759, 9900, 2827, 238, 246, 247, 248, 250, 651, 699, 9900, 239, 249,
+ 4745, 700, 2941, 278, 264, 265, 2941, 238, 246, 247, 248, 250, 651, 699, 9900, 9900, 9900, 9900, 9900,
+ 240, 242, 244, 815, 9900, 9900, 3731, 9900, 9900, 9900, 545, 9900, 9900, 9900, 581, 241, 243, 240, 242,
+ 244, 815, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 340, 241, 243, 4566, 35, 1703, 32,
+ 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 104, 5086, 35,
+ 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76, 77, 110,
+ 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 106, 76,
+ 77, 109, 5086, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654, 1590, 26, 28, 2249, 296, 23, 25, 50, 2263,
+ 106, 76, 77, 105, 3397, 9900, 9900, 9900, 9900, 4077, 5151, 35, 1703, 32, 4863, 9900, 27, 30, 31, 1654,
+ 1590, 26, 28, 2249, 296, 23, 25, 50, 2263, 3864, 76, 77, 9900, 9900, 9900, 262, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 759, 9900, 9900 };
+ };
- public interface Asr {
- public final static char asr[] = {0,
- 5,33,0,135,0,11,10,67,1,4,
- 3,2,6,0,24,25,15,16,58,82,
- 26,59,51,17,18,19,83,11,60,20,
- 21,61,62,52,74,53,63,23,22,27,
- 28,54,55,56,46,1,4,5,49,50,
- 13,12,47,48,10,57,6,37,64,3,
- 2,29,30,31,84,0,46,67,0,85,
- 5,78,104,86,73,79,65,72,84,14,
- 75,8,9,7,0,14,73,79,1,32,
- 0,78,86,73,1,4,3,2,0,14,
- 84,75,85,0,82,83,74,49,50,13,
- 12,47,48,10,57,61,64,37,5,6,
- 11,54,55,56,46,53,51,52,24,25,
- 16,28,15,20,18,19,21,22,17,26,
- 27,29,30,31,23,59,62,60,58,63,
- 87,1,4,3,2,75,14,0,131,132,
- 133,84,87,11,14,5,13,12,10,65,
- 81,76,96,77,80,24,25,34,7,38,
- 15,16,66,32,26,68,39,40,17,41,
- 42,18,19,43,44,20,21,35,69,67,
- 45,23,70,22,27,33,28,37,8,9,
- 29,30,31,1,4,3,2,36,6,0,
- 58,82,59,51,83,60,61,62,52,74,
- 53,63,54,55,56,46,57,64,37,23,
- 68,66,69,70,16,28,15,20,18,19,
- 21,22,17,26,27,29,30,31,24,25,
- 85,84,104,111,87,75,134,129,49,50,
- 112,105,47,48,113,114,88,89,71,78,
- 102,103,106,107,108,109,110,115,116,86,
- 117,118,119,120,121,122,123,124,125,126,
- 73,127,128,34,38,32,39,40,41,42,
- 43,44,35,45,36,33,65,14,79,72,
- 11,5,10,13,12,8,9,7,6,4,
- 3,2,1,0,58,82,59,51,83,11,
- 60,61,62,52,74,53,63,54,55,56,
- 46,49,50,13,12,47,48,10,57,78,
- 64,5,37,6,23,1,4,3,2,68,
- 66,69,70,24,25,16,28,15,20,18,
- 19,21,22,17,26,27,29,30,31,38,
- 44,35,40,43,42,36,39,7,9,8,
- 41,45,32,33,34,0,36,1,4,6,
- 3,2,131,132,133,0,82,83,5,23,
- 59,62,60,58,63,16,28,15,20,18,
- 19,21,22,17,26,27,29,30,31,24,
- 25,54,55,56,46,53,51,52,10,11,
- 6,49,50,13,12,47,48,57,61,64,
- 37,74,35,1,4,3,2,111,14,0,
- 24,25,15,16,58,82,26,59,51,17,
- 18,19,83,11,60,20,21,61,62,52,
- 74,53,63,23,22,27,28,54,55,56,
- 46,1,4,5,49,50,47,48,10,57,
- 6,37,64,3,2,29,30,31,65,14,
- 12,13,0,74,34,32,33,35,82,83,
- 111,14,49,50,13,12,47,48,10,57,
- 61,64,37,5,6,11,24,25,16,28,
- 15,20,18,19,21,22,17,26,27,29,
- 30,31,23,59,62,60,58,63,1,4,
- 3,2,54,55,56,53,51,52,46,0,
- 7,14,75,8,9,86,0,7,78,84,
- 104,111,87,65,8,9,73,14,79,24,
- 25,15,16,58,26,59,51,17,18,19,
- 60,20,21,61,62,52,74,53,63,23,
- 22,27,28,54,55,56,46,5,49,50,
- 13,12,47,48,57,6,37,64,29,30,
- 31,11,10,1,4,2,83,82,3,0,
- 24,25,34,38,15,16,66,32,26,68,
- 39,96,40,17,41,42,18,19,43,76,
- 44,20,21,35,69,45,23,70,22,77,
- 36,27,33,28,5,13,6,65,37,29,
- 30,31,80,81,75,14,12,8,9,7,
- 11,10,1,4,3,2,67,0,74,85,
- 134,129,49,50,84,104,111,87,39,40,
- 41,42,43,11,44,35,45,36,33,1,
- 4,72,5,32,38,10,6,7,34,8,
- 9,3,2,112,105,47,48,113,114,127,
- 128,12,79,65,75,14,89,88,71,102,
- 103,106,107,13,108,109,110,115,116,117,
- 118,119,120,121,122,123,124,125,126,86,
- 78,73,0,111,65,73,79,14,84,0,
- 112,105,12,113,114,47,48,89,88,71,
- 102,103,127,128,106,107,13,108,109,110,
- 78,79,86,117,118,119,120,121,122,123,
- 124,125,126,84,104,111,87,115,116,8,
- 9,7,73,65,14,0,1,4,3,2,
- 73,14,87,0,84,73,79,14,5,0,
- 79,14,1,46,0,6,8,9,7,71,
- 14,84,75,0,6,14,84,75,8,9,
- 7,0,130,0,6,67,84,14,75,8,
- 9,7,1,4,3,2,0,34,32,33,
- 74,85,78,84,104,79,75,5,7,14,
- 73,65,8,9,86,0,14,75,73,0,
- 34,32,33,74,14,104,86,73,79,78,
- 0,14,73,87,86,0,78,102,103,71,
- 0,84,7,72,8,9,71,14,73,65,
- 86,5,0,79,96,131,132,133,67,84,
- 135,130,136,87,81,85,80,77,76,91,
- 93,100,98,90,95,97,99,101,75,92,
- 94,65,14,68,66,69,70,38,44,35,
- 40,43,42,36,39,7,9,8,41,45,
- 34,32,33,74,82,83,23,59,62,60,
- 58,63,5,28,26,27,29,30,31,24,
- 25,54,55,56,46,53,51,52,10,11,
- 6,49,50,13,12,47,48,57,61,64,
- 37,1,4,3,2,17,15,21,22,16,
- 20,18,19,0,84,104,0,79,14,89,
- 88,0,14,84,79,46,0,24,25,34,
- 7,38,15,16,66,32,26,68,39,40,
- 17,41,42,18,19,43,44,20,21,35,
- 69,45,23,70,22,36,27,33,28,1,
- 4,6,37,8,9,3,2,29,30,31,
- 104,0,6,14,75,8,9,7,1,4,
- 3,2,0,37,83,82,47,48,113,114,
- 108,109,10,57,86,71,120,121,117,118,
- 119,125,124,126,89,88,122,123,106,107,
- 102,103,110,115,49,50,105,129,23,68,
- 66,69,70,16,28,15,20,18,19,21,
- 22,17,26,27,29,30,31,24,25,38,
- 44,35,40,43,42,36,39,32,33,34,
- 41,45,78,73,1,4,13,6,3,2,
- 5,72,8,9,7,12,0,34,7,38,
- 66,32,68,39,40,41,42,43,44,35,
- 69,45,70,36,33,8,9,74,82,83,
- 49,50,13,12,47,48,57,61,64,37,
- 5,54,55,56,46,53,51,52,24,25,
- 16,28,15,20,18,19,21,22,17,26,
- 27,29,30,31,59,62,60,58,63,75,
- 14,23,6,11,1,4,3,2,10,0,
- 7,13,12,8,9,11,10,6,1,4,
- 3,2,5,72,78,86,73,14,79,104,
- 0,10,11,5,72,12,13,104,24,25,
- 34,7,38,15,16,32,26,68,39,40,
- 17,41,42,18,19,43,44,20,21,35,
- 69,45,23,70,22,36,27,33,28,1,
- 4,6,37,8,9,3,2,29,30,31,
- 79,14,66,0,78,73,37,23,68,66,
- 69,70,24,25,34,7,38,15,16,32,
- 26,39,40,17,41,42,18,19,43,11,
- 44,20,21,35,45,22,36,27,33,28,
- 4,72,13,12,10,6,65,8,9,3,
- 2,29,30,31,5,1,79,14,0,32,
- 26,68,39,17,41,18,19,43,44,20,
- 21,69,45,70,22,36,27,33,28,66,
- 16,15,37,38,34,25,24,29,30,31,
- 14,5,13,12,65,80,77,96,40,35,
- 42,81,71,8,9,7,67,11,1,4,
- 10,6,3,2,23,76,0,87,24,25,
- 34,38,15,16,66,32,26,68,39,17,
- 41,18,19,43,44,20,21,69,45,23,
- 70,22,36,27,33,28,37,29,30,31,
- 135,81,76,40,35,42,96,77,80,67,
- 7,14,13,65,8,9,10,11,4,3,
- 2,6,5,1,12,0,82,83,49,50,
- 13,12,47,48,10,57,61,64,37,6,
- 11,54,55,56,46,53,51,52,24,25,
- 16,28,15,20,18,19,21,22,17,26,
- 27,29,30,31,23,59,62,60,58,63,
- 72,1,4,3,2,5,0,65,14,5,
- 11,10,84,13,12,6,1,4,3,2,
- 8,9,7,0,11,10,17,15,21,22,
- 16,20,18,19,38,44,35,40,43,42,
- 36,39,32,33,34,41,45,78,7,1,
- 4,13,12,6,8,9,3,2,72,5,
- 79,14,73,0
- };
- };
- public final static char asr[] = Asr.asr;
- public final int asr(int index) { return asr[index]; }
+ public interface BaseAction1 {
+ public final static char baseAction1[] = { 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 239, 249, 4745, 700,
+ 9900, 9900, 9900, 9900, 9900, 238, 246, 247, 248, 250, 651, 699, 6270, 35, 1703, 32, 5364, 4411, 27, 30,
+ 31, 1654, 1590, 374, 28, 1984, 9900, 9900, 9900, 6022, 4340, 9900, 9900, 9900, 240, 242, 244, 815, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 535, 241, 243, 9900, 9900, 9900, 9900, 9900, 262,
+ 9900, 9900, 9900, 439, 6086, 9900, 9900, 9900, 5148, 4340, 6086, 9900, 77, 9900, 5148, 4340, 9900, 4077,
+ 9900, 2649, 443, 8216, 714, 9900, 9900, 9900, 351, 1710, 356, 9900, 9900, 600, 597, 598, 599, 6282,
+ 6118, 600, 597, 598, 599, 6282, 9900, 378, 3059, 9900, 9900, 3464, 9900, 9900, 9900, 9900, 2827, 3464,
+ 9900, 9900, 9900, 444, 445, 446, 815, 9900, 9900, 652, 597, 598, 599, 9900, 9900, 2941, 9900, 652, 597,
+ 598, 599, 4157, 9900, 9900, 9900, 2299, 716, 9900, 9900, 9900, 9900, 2299, 266, 9900, 9900, 9900, 9900,
+ 367, 543, 9900, 266, 9900, 9900, 367, 9900, 9900, 9900, 3041, 4157, 269, 264, 265, 378, 716, 9900, 9900,
+ 189, 281, 264, 265, 9900, 2827, 1598, 9900, 9900, 9900, 9900, 9900, 2802, 6930, 395, 9900, 9900, 9900,
+ 9900, 4819, 395, 9900, 2941, 378, 2760, 77, 9900, 189, 9900, 9900, 4077, 3591, 2827, 1598, 1341, 5148,
+ 3782, 3441, 3466, 2802, 9900, 9900, 3782, 3441, 3466, 2920, 9900, 9900, 7623, 2941, 9900, 2760, 447,
+ 449, 9900, 9900, 378, 9900, 600, 597, 598, 599, 4157, 9900, 9900, 2827, 9900, 716, 9900, 9900, 9900,
+ 9900, 2988, 77, 3464, 9900, 9900, 9900, 878, 9900, 9900, 9900, 2941, 3591, 9900, 1943, 9900, 5148, 4904,
+ 9900, 9900, 9900, 9900, 378, 9900, 3156, 9900, 189, 9900, 690, 680, 9900, 2827, 1598, 378, 596, 2299,
+ 9900, 189, 2802, 600, 597, 598, 599, 9900, 9900, 9900, 9900, 367, 2941, 221, 2760, 652, 597, 598, 599,
+ 3464, 3253, 9900, 9900, 5370, 9900, 9900, 9900, 5928, 9900, 77, 692, 9900, 878, 9900, 878, 3828, 77,
+ 9900, 266, 9900, 9900, 878, 9900, 6930, 9900, 9900, 9900, 652, 597, 598, 599, 2299, 9900, 9900, 9900,
+ 284, 264, 265, 3575, 9900, 378, 9900, 189, 367, 189, 679, 7489, 378, 9900, 9900, 266, 189, 9900, 9900,
+ 3018, 213, 221, 9900, 9900, 9900, 9900, 9900, 9900, 221, 9900, 9900, 5370, 569, 264, 265, 9900, 9900,
+ 9900, 5370, 9900, 4819, 9900, 9900, 9900, 9900, 9900, 4118, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 229, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 4120, 9900, 9900, 9900, 9900, 9900, 9900, 4200, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 5518, 230, 9900, 0, 1, 263, 747, 0, 537, 7422, 0, 1, 263, 0, 39, 10602, 0, 39, 10601,
+ 697, 0, 39, 9915, 0, 39, 9914, 0, 1, 860, 0, 849, 1, 0, 39, 1, 10602, 0, 39, 1, 10601, 0, 39, 1, 9915,
+ 0, 39, 1, 9914, 0, 1, 5597, 0, 1, 818, 0, 263, 253, 0, 1, 1198, 0, 1, 1227, 0, 1, 1358, 0, 10168, 257,
+ 0, 10167, 257, 0, 1198, 257, 0, 1227, 257, 0, 1358, 257, 0, 1439, 257, 0, 10273, 257, 0, 10272, 257, 0,
+ 10195, 257, 0, 10194, 257, 0, 10193, 257, 0, 10192, 257, 0, 10191, 257, 0, 10190, 257, 0, 10189, 257, 0,
+ 10188, 257, 0, 668, 698, 0, 10168, 258, 0, 10167, 258, 0, 1198, 258, 0, 1227, 258, 0, 1358, 258, 0,
+ 1439, 258, 0, 10273, 258, 0, 10272, 258, 0, 10195, 258, 0, 10194, 258, 0, 10193, 258, 0, 10192, 258, 0,
+ 10191, 258, 0, 10190, 258, 0, 10189, 258, 0, 10188, 258, 0, 10168, 259, 0, 10167, 259, 0, 1198, 259, 0,
+ 1227, 259, 0, 1358, 259, 0, 1439, 259, 0, 10273, 259, 0, 10272, 259, 0, 10195, 259, 0, 10194, 259, 0,
+ 10193, 259, 0, 10192, 259, 0, 10191, 259, 0, 10190, 259, 0, 10189, 259, 0, 10188, 259, 0, 1358, 430, 0,
+ 1227, 430, 0, 1198, 430, 0, 318, 430, 0, 10168, 260, 0, 10167, 260, 0, 1198, 260, 0, 1227, 260, 0, 1358,
+ 260, 0, 1439, 260, 0, 10273, 260, 0, 10272, 260, 0, 10195, 260, 0, 10194, 260, 0, 10193, 260, 0, 10192,
+ 260, 0, 10191, 260, 0, 10190, 260, 0, 10189, 260, 0, 10188, 260, 0, 318, 323, 0, 10168, 261, 0, 10167,
+ 261, 0, 1198, 261, 0, 1227, 261, 0, 1358, 261, 0, 1439, 261, 0, 10273, 261, 0, 10272, 261, 0, 10195,
+ 261, 0, 10194, 261, 0, 10193, 261, 0, 10192, 261, 0, 10191, 261, 0, 10190, 261, 0, 10189, 261, 0, 10188,
+ 261, 0, 1495, 423, 0, 39, 10601, 0, 10602, 48, 0, 10601, 48, 0, 9915, 48, 0, 9914, 48, 0, 10168, 650, 0,
+ 10167, 650, 0, 1198, 650, 0, 1227, 650, 0, 1358, 650, 0, 1439, 650, 0, 10273, 650, 0, 10272, 650, 0,
+ 10195, 650, 0, 10194, 650, 0, 10193, 650, 0, 10192, 650, 0, 10191, 650, 0, 10190, 650, 0, 10189, 650, 0,
+ 10188, 650, 0, 10168, 275, 0, 10167, 275, 0, 1198, 275, 0, 1227, 275, 0, 1358, 275, 0, 1439, 275, 0,
+ 10273, 275, 0, 10272, 275, 0, 10195, 275, 0, 10194, 275, 0, 10193, 275, 0, 10192, 275, 0, 10191, 275, 0,
+ 10190, 275, 0, 10189, 275, 0, 10188, 275, 0, 10575, 275, 0, 10574, 275, 0, 10573, 275, 0, 10207, 275, 0,
+ 10206, 275, 0, 10205, 275, 0, 10204, 275, 0, 10203, 275, 0, 10202, 275, 0, 10201, 275, 0, 10200, 275, 0,
+ 10199, 275, 0, 10198, 275, 0, 10197, 275, 0, 10567, 275, 0, 10566, 275, 0, 39, 275, 10602, 0, 39, 275,
+ 10601, 696, 0, 39, 275, 9915, 0, 39, 275, 9914, 0, 9938, 275, 0, 1, 366, 0, 38, 818, 0, 38, 10602, 0,
+ 38, 10601, 0, 38, 9915, 0, 38, 9914, 0, 490, 2036, 0, 476, 2136, 0, 1495, 29, 0, 9912, 1, 0, 2193, 353,
+ 0, 1358, 660, 0, 1227, 660, 0, 1198, 660, 0, 664, 660, 0, 664, 659, 0, 9963, 75, 0, 9962, 75, 0, 767,
+ 75, 0, 1364, 75, 0, 1707, 75, 0, 1839, 75, 0, 1, 662, 0, 1, 480, 0, 494, 949, 0, 493, 1306, 0, 35, 33,
+ 0, 47, 37, 0, 2056, 190, 0, 6299, 126, 0, 9912, 419, 0, 9911, 419, 0, 1358, 662, 0, 1227, 662, 0, 1198,
+ 662, 0, 1198, 695, 0, 1227, 695, 0, 1358, 695, 0, 10581, 695, 0, 537, 3057, 0, 9938, 1, 263, 0, 39, 1,
+ 263, 0, 263, 452, 0, 1, 1653, 0, 1, 10575, 0, 1, 10574, 0, 1, 10573, 0, 1, 10207, 0, 1, 10206, 0, 1,
+ 10205, 0, 1, 10204, 0, 1, 10203, 0, 1, 10202, 0, 1, 10201, 0, 1, 10200, 0, 1, 10199, 0, 1, 10198, 0, 1,
+ 10197, 0, 1, 10567, 0, 1, 10566, 0, 10602, 37, 0, 10601, 37, 0, 9915, 37, 0, 9914, 37, 0, 43, 9936, 0,
+ 43, 37, 0, 2601, 91, 0, 32, 34, 0, 9908, 1, 0, 39, 818, 0, 1358, 366, 0, 1227, 366, 0, 1198, 366, 0, 39,
+ 275, 10601, 0, 1, 1209, 0, 1, 2586, 0, 263, 254, 0, 10168, 691, 0, 10167, 691, 0, 1198, 691, 0, 1227,
+ 691, 0, 1358, 691, 0, 1439, 691, 0, 10273, 691, 0, 10272, 691, 0, 10195, 691, 0, 10194, 691, 0, 10193,
+ 691, 0, 10192, 691, 0, 10191, 691, 0, 10190, 691, 0, 10189, 691, 0, 10188, 691, 0, 1198, 694, 0, 1227,
+ 694, 0, 1358, 694, 0, 10581, 694, 0, 9910, 441, 0, 9909, 441, 0, 263, 451, 0, 1, 6613, 0, 1, 7282, 0, 1,
+ 7711, 0, 1, 7750, 0, 1, 7773, 0, 1, 7796, 0, 1, 7819, 0, 1, 7842, 0, 1, 7865, 0, 1, 7888, 0, 1, 7911, 0,
+ 1, 9922, 0, 1, 9921, 0, 1, 9920, 0, 1, 9919, 0, 1, 9918, 0, 1, 9917, 0, 1, 9916, 0, 1, 2050, 0, 1, 2053,
+ 0, 1, 2100, 0, 1, 2147, 0, 1, 2205, 0, 1, 2658, 0, 39, 1, 0, 9912, 649, 419, 0, 9911, 649, 419, 0, 1,
+ 263, 3817, 0, 9909, 263, 0, 3818, 263, 0, 9906, 1, 0, 9905, 1, 0, 271, 1220, 0, 424, 32, 0, 423, 29, 0,
+ 1358, 481, 0, 1227, 481, 0, 1198, 481, 0, 9938, 481, 0, 39, 481, 0, 366, 481, 0, 6299, 128, 0, 6299,
+ 127, 0, 1198, 570, 0, 1227, 570, 0, 1358, 570, 0, 1198, 571, 0, 1227, 571, 0, 1358, 571, 0, 1198, 572,
+ 0, 1227, 572, 0, 1358, 572, 0, 1198, 573, 0, 1227, 573, 0, 1358, 573, 0, 1198, 574, 0, 1227, 574, 0,
+ 1358, 574, 0, 275, 10602, 0, 275, 10601, 0, 275, 9915, 0, 275, 9914, 0, 9936, 45, 0, 37, 45, 0, 9912,
+ 638, 419, 0, 9911, 638, 419, 0, 9912, 636, 419, 0, 9911, 636, 419, 0, 9912, 87, 419, 0, 9911, 87, 419,
+ 0, 1, 92, 0, 4000, 263, 0, 10, 12, 0, 9938, 1, 0, 648, 637, 0, 1439, 371, 0, 10273, 371, 0, 10272, 371,
+ 0, 2401, 100, 0, 8, 10, 12, 0, 4101, 227, 0, 10602, 2, 37, 0, 10601, 2, 37, 0, 9915, 2, 37, 0, 9914, 2,
+ 37, 0, 10602, 36, 0, 10601, 36, 0, 9915, 36, 0, 9914, 36, 0, 1358, 657, 0, 1227, 657, 0, 1198, 657, 0,
+ 1358, 656, 0, 1227, 656, 0, 1198, 656, 0, 600, 601, 0, 5078, 103, 0, 4050, 99, 0, 1358, 95, 0, 1227, 95,
+ 0, 1198, 95, 0, 9938, 95, 0, 39, 95, 0, 366, 95, 0, 9912, 649, 638, 419, 0, 649, 638, 0, 35, 73, 0,
+ 4155, 419, 0, 1358, 657, 658, 0, 1227, 657, 658, 0, 1198, 657, 658, 0, 657, 658, 0, 313, 4350, 0, 8, 12,
+ 0, 218, 5723, 0 };
+ };
- public interface Nasb {
- public final static char nasb[] = {0,
- 275,13,13,197,14,16,5,333,13,13,
- 13,319,13,158,319,211,191,273,273,13,
- 13,297,13,13,13,13,298,92,298,230,
- 298,230,298,13,11,175,298,150,290,197,
- 190,268,152,13,13,247,329,13,175,13,
- 13,319,319,13,319,219,92,230,13,238,
- 13,150,120,30,349,63,63,232,230,240,
- 240,188,20,317,199,13,197,171,273,238,
- 38,273,238,197,175,12,13,13,150,150,
- 150,150,150,150,150,150,150,150,175,325,
- 258,13,13,13,13,13,273,13,13,197,
- 36,120,13,224,232,175,13,317,197,197,
- 124,5,116,317,13,13,13,13,12,72,
- 197,197,319,319,197,197,92,273,18,13,
- 258,13,13,13,13,13,13,13,13,13,
- 13,150,13,191,65,86,224,238,175,110,
- 230,238,186,152,317,13,13,256,68,43,
- 13,317,340,172,230,230,13,240,92,197,
- 240,48,56,172,59,258,258,258,150,46,
- 72,13,317,317,317,105,203,203,1,260,
- 261,261,261,261,175,76,22,22,76,211,
- 36,127,178,182,230,230,48,48,349,290,
- 116,116,152,359,359,275,275,197,240,317,
- 150,317,150,150,150,150,150,150,150,150,
- 150,150,150,150,150,150,150,150,150,150,
- 150,150,150,150,150,150,150,150,150,150,
- 150,150,150,150,32,150,317,197,92,233,
- 230,149,99,116,111,13,238,120,120,188,
- 120,13,188,298,256,317,13,317,106,175,
- 120,13,185,13,14,332,340,230,230,197,
- 238,197,56,197,330,12,13,251,203,144,
- 13,13,13,13,13,13,13,13,13,172,
- 13,12,317,317,317,116,262,65,286,207,
- 349,202,63,63,13,13,13,11,175,150,
- 317,317,13,13,13,13,71,317,151,175,
- 151,317,116,127,13,240,13,13,197,13,
- 13,228,317,13,266,13,13,13,74,74,
- 106,106,275,186,120,281,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,106,197,
- 99,116,111,122,13,317,68,317,150,317,
- 317,72,190,197,197,41,41,172,330,28,
- 13,13,297,298,298,298,298,306,11,13,
- 150,150,150,150,150,150,150,150,150,150,
- 150,150,150,150,150,150,150,150,150,150,
- 211,150,48,59,286,286,286,150,261,197,
- 132,317,214,13,161,13,120,13,13,13,
- 13,215,13,330,118,120,120,330,141,300,
- 317,347,197,175,72,13,258,13,13,13,
- 13,172,12,175,168,72,197,178,12,76,
- 230,122,197,150,13,13,265,349,359,359,
- 319,197,13,13,106,120,150,150,86,150,
- 150,116,111,317,317,152,120,150,13,139,
- 13,230,232,41,41,101,28,106,150,330,
- 175,150,13,13,13,13,13,13,13,13,
- 13,13,13,317,156,228,13,215,13,13,
- 215,353,353,357,13,353,120,120,13,197,
- 317,359,70,172,317,211,211,211,211,13,
- 13,13,329,172,97,317,197,122,122,150,
- 150,347,222,359,261,261,106,116,116,150,
- 120,191,150,150,238,230,232,13,13,273,
- 108,240,106,56,317,150,197,79,13,211,
- 228,215,150,215,317,268,1,317,243,197,
- 13,317,97,197,317,172,286,317,317,317,
- 317,76,76,169,13,13,130,13,122,197,
- 13,81,85,230,238,135,240,273,273,12,
- 172,156,76,150,116,215,13,215,120,191,
- 211,215,130,122,197,13,317,317,169,262,
- 83,13,81,13,12,240,240,79,317,116,
- 150,13,94,120,317,197,122,317,317,197,
- 13,74,12,12,215,317,120,83,197,141,
- 141,266,314,13,215,83,317,151,261
- };
- };
- public final static char nasb[] = Nasb.nasb;
- public final int nasb(int index) { return nasb[index]; }
+ public final static char baseAction[] = new char[BaseAction0.baseAction0.length + BaseAction1.baseAction1.length];
+ {
+ int index = 0;
+ System.arraycopy(BaseAction0.baseAction0, 0, baseAction, index, BaseAction0.baseAction0.length);
+ index += BaseAction0.baseAction0.length;
+ System.arraycopy(BaseAction1.baseAction1, 0, baseAction, index, BaseAction1.baseAction1.length);
+ };
- public interface Nasr {
- public final static char nasr[] = {0,
- 3,13,10,9,122,157,132,118,131,130,
- 4,2,0,188,0,243,0,15,0,173,
- 0,4,2,9,10,177,0,185,0,224,
- 0,5,47,158,0,190,0,41,1,0,
- 147,0,32,208,0,215,0,4,10,9,
- 2,13,154,5,0,2,93,0,93,176,
- 175,0,95,0,5,35,0,206,0,2,
- 158,93,0,145,0,5,124,0,179,0,
- 193,0,164,0,106,4,10,9,2,13,
- 113,41,0,5,218,0,192,0,213,0,
- 4,133,232,0,5,106,0,233,0,5,
- 4,10,9,2,13,82,0,5,47,48,
- 0,50,0,5,235,0,41,191,0,156,
- 0,5,217,0,4,133,196,0,231,0,
- 41,59,0,41,57,40,47,59,5,13,
- 4,10,9,2,0,181,0,43,1,0,
- 13,2,9,10,4,245,0,2,159,0,
- 56,2,3,0,2,56,0,200,4,199,
- 0,43,93,0,43,138,0,172,0,119,
- 43,78,4,2,9,10,5,0,242,32,
- 0,32,109,110,5,0,40,53,41,219,
- 5,47,0,106,47,53,40,96,41,5,
- 0,110,109,10,9,2,78,4,87,43,
- 0,5,4,10,9,2,78,27,0,2,
- 86,0,57,5,220,0,5,57,236,0,
- 237,132,118,131,130,122,0,41,59,47,
- 40,5,57,0,32,110,109,78,2,9,
- 10,5,4,0,136,92,53,5,40,0,
- 4,10,9,2,13,113,41,112,0,2,
- 4,118,115,116,117,128,13,67,0,110,
- 109,43,4,87,0,118,67,13,115,116,
- 117,204,0,57,40,5,32,0,5,40,
- 53,92,103,0,4,10,9,13,3,1,
- 0,48,4,2,9,10,5,189,0,5,
- 53,92,133,51,4,0,31,5,4,43,
- 119,0,5,57,135,0,47,221,31,5,
- 0
- };
- };
- public final static char nasr[] = Nasr.nasr;
- public final int nasr(int index) { return nasr[index]; }
+ public final int baseAction(int index) {
+ return baseAction[index];
+ }
- public interface TerminalIndex {
- public final static char terminalIndex[] = {0,
- 118,132,131,119,2,31,51,129,130,13,
- 84,10,9,120,53,57,73,79,80,91,
- 92,107,105,48,49,65,110,112,133,134,
- 135,59,111,50,94,109,127,52,69,71,
- 75,78,81,88,103,117,11,12,7,8,
- 72,99,102,114,115,116,14,60,66,89,
- 93,95,104,128,125,58,98,68,96,106,
- 19,1,44,100,126,82,108,20,123,136,
- 137,63,83,30,101,33,124,17,18,113,
- 54,55,61,62,64,70,74,76,77,90,
- 97,21,22,32,6,23,24,25,26,27,
- 122,4,15,16,28,29,34,35,36,37,
- 38,39,40,41,42,43,45,46,5,56,
- 85,86,87,3,138,67,121
- };
- };
- public final static char terminalIndex[] = TerminalIndex.terminalIndex;
- public final int terminalIndex(int index) { return terminalIndex[index]; }
+ public final static char lhs[] = baseAction;
- public interface NonterminalIndex {
- public final static char nonterminalIndex[] = {0,
- 144,150,151,0,0,149,0,0,253,259,
- 148,0,158,0,145,147,0,157,163,0,
- 0,164,173,174,175,176,271,0,0,0,
- 203,140,0,177,166,178,179,180,181,280,
- 143,182,272,156,183,0,146,142,184,210,
- 200,0,0,0,153,152,167,185,195,0,
- 0,0,0,0,0,0,209,0,0,186,
- 0,227,0,187,0,188,224,228,189,160,
- 190,139,191,0,192,0,170,198,0,0,
- 0,0,0,0,229,194,0,0,0,0,
- 0,0,201,0,0,141,161,231,232,233,
- 0,241,0,172,212,213,214,216,225,235,
- 243,211,230,0,215,0,0,279,204,205,
- 206,207,244,0,197,202,208,219,221,0,
- 222,0,0,234,0,0,0,248,0,250,
- 0,264,0,267,0,268,278,0,162,193,
- 218,0,220,0,237,240,0,262,0,263,
- 0,276,281,0,154,155,159,0,0,169,
- 171,0,0,0,0,0,217,0,226,0,
- 238,239,0,0,245,252,0,256,257,258,
- 261,0,0,265,0,273,0,275,0,0,
- 282,284,285,0,0,165,168,0,196,0,
- 199,0,0,223,236,242,0,0,246,247,
- 249,251,0,254,255,260,266,269,270,0,
- 0,274,0,0,277,0,283,0,0,0,
- 0,0,0,0,0,0
- };
- };
- public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
- public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
+ public final int lhs(int index) {
+ return lhs[index];
+ };
- public interface ScopePrefix {
- public final static char scopePrefix[] = {
- 314,476,778,797,465,494,729,745,756,767,
- 548,10,18,420,434,451,512,184,445,568,
- 606,322,786,672,28,149,162,193,213,222,
- 227,232,285,350,507,518,149,640,122,299,
- 426,440,700,169,299,558,149,805,169,372,
- 401,24,40,58,90,90,114,118,130,141,
- 156,203,218,246,156,537,541,624,665,694,
- 721,725,815,819,823,237,134,237,586,602,
- 615,633,652,713,1,256,256,384,472,615,
- 736,752,763,774,362,683,70,82,111,198,
- 198,311,377,64,198,398,417,64,64,198,
- 545,662,669,311,198,838,46,52,64,105,
- 250,523,590,630,52,33,645,198,265,457,
- 523,265,265,484,577,332,484,75,75,96,
- 96,244,96,96,96,96,628,827,834,75,
- 75,100,393,827,834,207,596,292,244,393,
- 244,406
- };
- };
- public final static char scopePrefix[] = ScopePrefix.scopePrefix;
- public final int scopePrefix(int index) { return scopePrefix[index]; }
+ public interface TermCheck {
+ public final static char termCheck[] = { 0, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, 68, 69, 70,
+ 71, 72, 73, 74, 75, 0, 0, 78, 79, 3, 14, 82, 83, 84, 85, 86, 87, 88, 89, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 1, 65, 0, 134, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 0, 68, 69, 70, 73, 0, 1, 74, 75, 76, 77, 0, 12, 80, 81, 82, 83, 12, 85, 0, 87, 0, 0, 90, 91, 92,
+ 93, 94, 95, 0, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 73, 68, 69, 70,
+ 85, 78, 86, 74, 75, 76, 77, 113, 114, 80, 81, 82, 83, 0, 85, 0, 87, 0, 105, 90, 91, 92, 93, 94, 95, 112,
+ 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, 68, 69, 70, 0, 88, 89, 74,
+ 75, 76, 77, 0, 0, 80, 81, 82, 83, 5, 85, 0, 87, 106, 107, 90, 91, 92, 93, 94, 95, 110, 97, 98, 99, 100,
+ 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, 68, 69, 70, 0, 88, 89, 74, 75, 76, 77, 0, 0,
+ 80, 81, 82, 83, 6, 85, 7, 8, 9, 0, 90, 91, 92, 93, 94, 95, 0, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 0, 68, 69, 70, 106, 107, 0, 74, 75, 76, 77, 5, 0, 80, 81, 82, 83, 0, 85, 7,
+ 8, 9, 5, 90, 91, 92, 93, 94, 95, 109, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 0, 68, 69, 70, 106, 107, 0, 74, 75, 76, 77, 5, 0, 80, 81, 82, 83, 0, 85, 7, 8, 9, 5, 90, 91, 92,
+ 93, 94, 95, 0, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 73, 68, 69, 70,
+ 106, 107, 0, 74, 75, 76, 77, 5, 0, 80, 81, 82, 83, 0, 85, 7, 8, 9, 5, 90, 91, 92, 93, 94, 95, 0, 97, 98,
+ 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 73, 68, 69, 70, 0, 78, 0, 74, 75, 76,
+ 77, 0, 0, 80, 81, 82, 83, 6, 85, 7, 8, 9, 0, 90, 91, 92, 93, 94, 95, 0, 97, 98, 99, 100, 101, 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, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, 68, 69, 70, 84, 78, 0, 74, 75, 76, 77, 5, 0, 80, 81, 82, 83,
+ 0, 85, 7, 8, 9, 5, 90, 91, 92, 93, 94, 95, 0, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 73, 68, 69, 70, 0, 0, 108, 74, 75, 76, 77, 6, 0, 80, 81, 82, 83, 13, 85, 7, 8, 9, 0, 90,
+ 91, 92, 93, 94, 95, 0, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 73, 68,
+ 69, 70, 84, 0, 0, 74, 75, 76, 77, 5, 0, 80, 81, 82, 83, 0, 85, 7, 8, 9, 5, 90, 91, 92, 93, 94, 95, 0,
+ 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, 68, 69, 70, 0, 5, 0, 74, 75,
+ 76, 77, 84, 0, 80, 81, 82, 83, 13, 85, 7, 8, 9, 0, 90, 91, 92, 93, 94, 95, 23, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, 68, 69, 70, 0, 0, 0, 74, 75, 76, 77, 5, 0, 80, 81,
+ 82, 83, 0, 85, 7, 8, 9, 5, 90, 91, 92, 93, 94, 95, 109, 97, 98, 99, 100, 101, 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, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 0, 68, 69, 70, 0, 5, 0, 74, 75, 76, 77, 108, 110, 80, 81, 82, 83, 0, 85, 0, 14,
+ 0, 0, 90, 91, 92, 93, 94, 95, 0, 97, 98, 99, 100, 101, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 46, 32, 33, 34, 0, 51, 52, 53, 54, 55, 56, 7, 8, 9, 47, 48, 0, 32, 33, 34, 35, 36, 72, 38, 39, 40, 41,
+ 42, 43, 44, 45, 75, 47, 48, 49, 50, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 65, 0, 1, 2,
+ 3, 4, 71, 72, 73, 0, 75, 10, 11, 78, 79, 6, 7, 8, 9, 84, 85, 86, 87, 88, 89, 0, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 136, 0, 0, 0, 134, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 7, 8, 9, 12, 10, 11, 32, 33, 34, 35, 36, 12, 38, 39,
+ 40, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 32, 33, 34, 35, 36, 135, 38, 39, 40, 41, 42, 43, 44, 45, 65,
+ 0, 1, 2, 3, 4, 71, 72, 73, 0, 75, 10, 0, 78, 79, 84, 7, 8, 9, 84, 85, 86, 87, 88, 89, 0, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 113, 114, 86, 67, 134, 0, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 72, 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, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 0, 66, 0, 68, 69, 70, 6, 5, 0, 74, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 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, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67, 66, 0,
+ 68, 69, 70, 0, 5, 0, 74, 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, 0, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 1, 2, 3, 4, 65, 66, 67, 68, 69, 70, 0, 1, 2, 3, 4, 76, 77, 86,
+ 0, 80, 81, 0, 0, 84, 0, 0, 87, 90, 7, 8, 9, 7, 8, 9, 0, 96, 15, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 33, 38, 39, 40, 41, 42, 43, 44, 45, 0, 46, 84, 131, 132,
+ 133, 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, 0, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 0, 1, 2, 3, 4, 65, 66, 67, 68, 69, 70, 0, 1, 2, 3, 4, 76, 77, 0, 108, 80, 81, 0, 0,
+ 84, 0, 0, 87, 0, 7, 8, 9, 7, 8, 9, 0, 96, 15, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 23, 46, 84, 131, 132, 133, 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, 0, 76, 104, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 65, 66, 67, 68, 69, 70, 0, 1, 2, 3, 4, 76, 77, 0, 0, 80, 81, 32, 33, 34, 35, 36, 87, 38, 39,
+ 40, 41, 42, 43, 44, 45, 96, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 67, 0, 65, 0, 1, 2, 3,
+ 4, 71, 72, 7, 8, 9, 12, 13, 12, 79, 0, 1, 2, 3, 4, 135, 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, 84, 67, 72, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 65, 66, 67, 68,
+ 69, 70, 0, 1, 2, 3, 4, 76, 77, 0, 0, 80, 81, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 96,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 32, 33, 34, 0, 65, 67, 0, 1, 2, 3, 4, 72, 6, 46, 75, 0,
+ 10, 11, 79, 0, 1, 2, 3, 4, 135, 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,
+ 0, 0, 67, 71, 0, 5, 0, 1, 2, 3, 4, 7, 8, 9, 0, 67, 10, 73, 0, 65, 66, 67, 68, 69, 70, 71, 0, 0, 14, 0,
+ 76, 77, 5, 0, 80, 81, 32, 33, 34, 35, 36, 14, 38, 39, 40, 41, 42, 43, 44, 45, 96, 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, 71, 0, 72, 73, 0, 0, 5, 0, 78, 79, 78, 7, 8, 9, 0, 1, 2,
+ 3, 4, 65, 66, 67, 68, 69, 70, 0, 105, 0, 111, 0, 76, 77, 5, 112, 80, 81, 32, 33, 34, 35, 36, 87, 38, 39,
+ 40, 41, 42, 43, 44, 45, 96, 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, 72,
+ 0, 72, 73, 0, 0, 5, 0, 78, 0, 78, 7, 8, 9, 7, 8, 9, 109, 0, 65, 66, 67, 68, 69, 70, 115, 116, 0, 0, 0,
+ 76, 77, 14, 5, 80, 81, 32, 33, 34, 35, 36, 87, 38, 39, 40, 41, 42, 43, 44, 45, 96, 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, 79, 71, 0, 72, 0, 73, 0, 0, 78, 88, 89, 7, 8, 9, 0, 1,
+ 2, 3, 4, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 76, 77, 102, 103, 80, 81, 32, 33, 34, 35, 36, 87, 38,
+ 39, 40, 41, 42, 43, 44, 45, 96, 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,
+ 0, 0, 1, 71, 0, 0, 78, 7, 8, 9, 105, 7, 8, 9, 84, 0, 84, 112, 0, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 14,
+ 76, 77, 5, 32, 80, 81, 32, 33, 34, 35, 36, 14, 38, 39, 40, 41, 42, 43, 44, 45, 96, 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, 71, 0, 72, 73, 0, 87, 0, 0, 78, 79, 0, 7, 8, 9, 13, 0,
+ 88, 89, 110, 65, 66, 67, 68, 69, 70, 0, 105, 0, 0, 14, 76, 77, 5, 112, 80, 81, 32, 33, 34, 35, 36, 14,
+ 38, 39, 40, 41, 42, 43, 44, 45, 96, 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, 72, 0, 72, 0, 0, 87, 5, 0, 5, 79, 0, 7, 8, 9, 0, 84, 0, 104, 108, 65, 66, 67, 68, 69, 70, 0, 0, 0,
+ 12, 0, 76, 77, 5, 0, 80, 81, 32, 33, 34, 35, 36, 14, 38, 39, 40, 41, 42, 43, 44, 45, 96, 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, 71, 88, 89, 71, 0, 88, 89, 71, 0, 79, 0, 7, 8,
+ 9, 104, 5, 88, 89, 10, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 76, 77, 113, 114, 80, 81, 32, 33, 34, 35,
+ 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 96, 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, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 84, 71, 88, 89, 0, 65, 66, 67, 68, 69, 70, 0, 0,
+ 0, 0, 0, 76, 77, 14, 5, 80, 81, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 96, 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, 79, 0, 0, 1, 0, 84, 5, 6, 7, 8, 9, 72, 0, 12, 13, 14,
+ 14, 88, 89, 65, 66, 67, 68, 69, 70, 0, 14, 0, 0, 0, 76, 77, 5, 5, 80, 81, 32, 33, 34, 109, 0, 0, 1, 2,
+ 3, 4, 5, 6, 46, 0, 96, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 72, 73, 0, 35, 65, 37, 78, 79, 79, 0, 1, 2, 3, 4, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 82, 83, 0, 10, 11,
+ 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 67, 110, 0, 111, 37,
+ 6, 7, 8, 9, 47, 48, 12, 13, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 0, 1, 2, 3, 4, 5, 6, 0, 0, 74, 10, 11, 0, 78, 0, 71, 67, 82, 83, 0, 1, 2, 3, 4, 5, 6, 14, 0, 14, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 37, 6, 7,
+ 8, 9, 0, 0, 12, 13, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2,
+ 3, 4, 75, 6, 7, 8, 9, 75, 0, 12, 13, 71, 87, 130, 82, 83, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 130, 35, 78, 37, 0, 1, 2,
+ 3, 4, 84, 6, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 73, 0, 1, 2,
+ 3, 4, 5, 6, 0, 74, 67, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 0, 1, 2, 3, 4, 37, 6, 7, 8, 9, 0, 0, 78, 111, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 86, 0, 1, 2, 3, 4, 5, 6, 0, 74, 75, 10, 11, 0, 1, 2, 3, 4, 5, 6, 78, 0, 87,
+ 10, 11, 12, 13, 6, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4,
+ 37, 6, 7, 8, 9, 47, 48, 12, 13, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 0, 1, 2, 3, 4, 0, 6, 0, 0, 74, 0, 1, 2, 3, 4, 5, 6, 82, 83, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 37, 6, 7, 8, 9, 0, 0, 12, 13, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 23, 0, 1, 2, 3, 4, 5, 6, 78, 74, 75,
+ 10, 11, 12, 13, 71, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4,
+ 37, 0, 7, 8, 9, 66, 67, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 0, 1, 2, 3, 4, 32, 33, 34, 0, 74, 0, 1, 2, 3, 4, 5, 6, 82, 83, 0, 10, 11, 12, 13, 0, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 37, 6, 0, 71, 71, 10, 11, 0, 0, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 0, 73, 82, 83,
+ 74, 0, 1, 2, 3, 4, 5, 6, 82, 83, 14, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 37, 6, 0, 0, 72, 10, 11, 0, 5, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 131, 132, 133, 0, 130, 75, 0, 82, 83, 74, 0, 1, 2, 3, 4, 5, 6,
+ 82, 83, 13, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0,
+ 1, 2, 3, 4, 37, 6, 7, 8, 9, 73, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 72, 0, 1, 2, 3, 4, 5, 6, 0, 74, 75, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 0, 67, 0, 0, 0, 37, 0, 5, 5, 0, 1, 2, 3, 4, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 86, 0, 1, 2, 3, 4, 5, 6, 66, 0, 0, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 37, 6, 7, 8, 9, 67,
+ 73, 72, 111, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 0, 1, 2, 3,
+ 4, 5, 6, 0, 0, 75, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 0, 67, 0, 0, 0, 37, 0, 1, 2, 3, 4, 7, 8, 9, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 0, 0, 1, 2, 3, 4, 5, 6, 130, 0, 0, 10, 11, 12, 13, 6, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 37, 6, 67, 71, 71, 10, 11, 0, 111, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 74, 74, 10, 11,
+ 12, 13, 71, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 88, 89, 67, 0, 0, 37, 0,
+ 1, 2, 3, 4, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1,
+ 2, 3, 4, 5, 6, 72, 0, 0, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 0, 1, 2, 3, 4, 37, 67, 0, 67, 0, 1, 2, 3, 4, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 0, 74, 10, 11, 12, 13, 6, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 88, 89, 67, 0, 0, 37, 0, 1, 2, 3, 4, 67, 36, 71, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 0, 74, 10, 11, 12,
+ 13, 6, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, 37, 0, 6, 67,
+ 71, 6, 5, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3,
+ 4, 5, 6, 102, 103, 74, 10, 11, 12, 13, 71, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 0, 0, 0, 0, 67, 37, 0, 71, 6, 71, 71, 0, 6, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 102, 103, 36, 10, 11, 12, 13, 46, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 67, 0, 37, 0, 5, 71, 71, 0, 5, 0, 0, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 102, 103, 0,
+ 10, 11, 12, 13, 46, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 67, 0,
+ 37, 5, 131, 132, 133, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 88, 89, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 86, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11,
+ 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 86, 0, 37, 0, 0,
+ 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2,
+ 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 0, 84, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 86, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 10, 11, 12, 13, 0, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 23, 84, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 1, 2, 3, 4, 0, 6, 7, 8,
+ 9, 66, 67, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 1, 2, 3, 4, 86, 6, 7, 8, 9,
+ 66, 0, 68, 69, 70, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 66,
+ 0, 68, 69, 70, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 66, 0,
+ 68, 69, 70, 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, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 0, 1, 2, 3, 4, 0, 14, 7, 8, 9, 66, 0, 68,
+ 69, 70, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 0, 38,
+ 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 14, 7, 8, 9, 66, 75, 68,
+ 69, 70, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 0, 38,
+ 39, 40, 41, 42, 43, 44, 45, 0, 0, 1, 0, 0, 5, 0, 0, 73, 0, 10, 65, 12, 13, 79, 14, 0, 14, 14, 73, 66, 0,
+ 68, 69, 70, 0, 0, 0, 0, 0, 86, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 0, 14, 0, 47, 48, 49, 50, 0, 0,
+ 0, 0, 0, 0, 57, 0, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 71, 72, 73, 0, 0, 73, 86,
+ 78, 75, 79, 0, 82, 83, 0, 0, 86, 0, 88, 89, 87, 0, 86, 0, 0, 14, 65, 0, 0, 0, 0, 0, 102, 103, 75, 105,
+ 106, 107, 108, 109, 110, 14, 0, 113, 114, 115, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 0,
+ 0, 129, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 79, 0, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 79, 32, 33, 34, 35, 36, 0, 38, 39, 40,
+ 41, 42, 43, 44, 45, 0, 0, 0, 0, 65, 84, 0, 0, 0, 0, 104, 72, 0, 0, 14, 0, 0, 0, 79, 65, 14, 0, 0, 0, 0,
+ 104, 72, 0, 0, 14, 0, 0, 0, 79, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 14, 14, 12, 13, 0, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 0, 0, 12, 13, 0, 0, 0, 65, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 32, 33, 34, 35, 36,
+ 79, 38, 39, 40, 41, 42, 43, 44, 45, 79, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 72, 73, 12, 13, 79, 0, 78, 0,
+ 1, 2, 3, 4, 5, 6, 72, 73, 0, 10, 11, 0, 78, 0, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 0,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 12, 13, 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 72, 73, 12, 13, 14, 0, 78,
+ 32, 33, 34, 35, 36, 0, 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, 2, 0, 14, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0,
+ 15, 16, 17, 18, 19, 20, 21, 22, 0, 14, 72, 73, 0, 0, 0, 0, 78, 32, 33, 34, 35, 36, 0, 38, 39, 40, 41,
+ 42, 43, 44, 45, 0, 79, 2, 0, 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 22, 79, 0, 0,
+ 104, 0, 0, 65, 0, 0, 32, 33, 34, 35, 36, 73, 38, 39, 40, 41, 42, 43, 44, 45, 0, 1, 2, 3, 4, 5, 6, 86, 0,
+ 0, 10, 11, 0, 0, 14, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 6,
+ 0, 0, 0, 10, 11, 72, 73, 14, 0, 0, 0, 78, 79, 0, 0, 0, 0, 0, 5, 86, 0, 1, 2, 3, 4, 5, 6, 0, 14, 2, 10,
+ 11, 84, 0, 14, 0, 0, 104, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 22, 0, 1, 2, 3, 4, 5, 6, 0, 65, 0, 10,
+ 11, 49, 50, 0, 84, 0, 0, 0, 0, 0, 71, 0, 71, 7, 8, 9, 0, 78, 71, 78, 14, 0, 14, 14, 72, 78, 73, 0, 0, 0,
+ 14, 72, 79, 0, 0, 0, 0, 0, 79, 0, 0, 102, 103, 102, 103, 0, 0, 0, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 72, 0, 0, 0, 0, 127, 128, 127, 128, 0, 65, 0, 0, 127, 128, 0, 0, 0, 73, 0, 129, 73, 75, 0, 0, 134,
+ 0, 79, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 interface ScopeSuffix {
- public final static char scopeSuffix[] = {
- 145,290,94,94,290,290,94,94,94,94,
- 555,16,16,290,44,290,154,190,431,574,
- 612,328,209,678,16,154,167,167,167,201,
- 201,44,290,355,160,160,154,94,127,304,
- 431,241,705,180,307,563,792,810,174,366,
- 366,16,44,62,94,94,94,94,94,145,
- 160,94,201,44,160,44,44,290,16,94,
- 94,94,94,94,16,836,138,241,555,555,
- 555,637,656,705,5,260,274,388,460,619,
- 740,740,740,740,366,687,73,73,94,201,
- 201,94,94,380,382,16,94,62,62,382,
- 44,94,16,94,698,94,49,55,67,108,
- 253,526,593,108,659,36,648,717,260,460,
- 708,268,279,501,580,335,487,80,88,98,
- 147,44,529,531,533,535,44,829,829,77,
- 85,102,395,831,831,209,598,294,357,388,
- 342,408
- };
- };
- public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
- public final int scopeSuffix(int index) { return scopeSuffix[index]; }
+ public final static char termCheck[] = TermCheck.termCheck;
- public interface ScopeLhs {
- public final static char scopeLhs[] = {
- 51,117,18,18,91,117,18,18,18,18,
- 99,95,95,105,52,91,116,89,63,99,
- 98,51,18,20,95,204,3,7,8,196,
- 196,195,115,51,116,116,125,58,28,112,
- 64,52,177,169,112,99,18,18,169,111,
- 71,95,66,88,128,19,19,205,171,102,
- 204,199,196,195,125,222,61,59,181,19,
- 18,18,18,18,18,12,156,195,99,98,
- 98,84,46,177,54,121,121,87,91,98,
- 18,18,18,18,111,20,148,141,17,200,
- 196,224,109,123,73,95,72,189,88,125,
- 100,182,181,215,177,17,66,18,88,97,
- 195,125,135,97,22,40,58,177,121,91,
- 177,121,121,117,99,51,117,148,141,157,
- 237,195,137,132,131,130,94,175,56,148,
- 141,245,87,175,56,199,135,115,51,87,
- 51,71
- };
- };
- public final static char scopeLhs[] = ScopeLhs.scopeLhs;
- public final int scopeLhs(int index) { return scopeLhs[index]; }
+ public final int termCheck(int index) {
+ return termCheck[index];
+ }
- public interface ScopeLa {
- public final static char scopeLa[] = {
- 130,87,79,79,87,87,79,79,79,79,
- 79,111,111,87,65,87,1,78,1,79,
- 136,75,5,79,111,1,78,78,78,1,
- 1,65,87,75,1,1,1,79,79,87,
- 1,1,6,78,73,65,1,1,78,79,
- 79,111,65,1,79,79,79,79,79,130,
- 1,79,1,65,1,65,65,87,111,79,
- 79,79,79,79,111,1,79,1,79,79,
- 79,84,84,6,73,1,1,12,75,79,
- 78,78,78,78,79,5,8,8,79,1,
- 1,79,79,5,1,111,79,1,1,1,
- 65,79,111,79,10,79,1,79,8,84,
- 1,67,86,84,79,3,78,1,1,75,
- 67,1,1,75,90,85,1,1,1,37,
- 1,65,1,68,66,66,65,6,6,1,
- 1,104,13,6,6,5,1,75,1,12,
- 1,5
- };
- };
- public final static char scopeLa[] = ScopeLa.scopeLa;
- public final int scopeLa(int index) { return scopeLa[index]; }
+ public interface TermAction {
+ public final static char termAction[] = { 0, 9900, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841,
+ 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841,
+ 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841,
+ 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841,
+ 8841, 8841, 8841, 8841, 8841, 9900, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 1, 9900, 8841, 8841,
+ 756, 9910, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 1, 8771, 8759, 8763, 8767, 860, 8756, 8790,
+ 8784, 8787, 818, 5597, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841,
+ 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 8841, 9900, 3598,
+ 9909, 9900, 8841, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737, 8737, 8737,
+ 9758, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 115, 1, 1, 1, 748, 9900, 3262, 1, 9911,
+ 2489, 721, 420, 7352, 757, 10108, 1, 1, 3762, 2655, 111, 9907, 1, 35, 3863, 3260, 3389, 3054, 3816,
+ 5147, 9900, 3861, 1108, 3837, 1789, 3826, 10, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761,
+ 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761,
+ 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761,
+ 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761, 9761,
+ 9761, 9761, 9761, 9761, 9761, 9761, 3862, 9761, 9761, 9761, 1983, 8149, 1774, 9761, 9761, 9761, 9761,
+ 7321, 5153, 9761, 9761, 9761, 9761, 129, 9761, 121, 9761, 137, 8080, 9761, 9761, 9761, 9761, 9761, 9761,
+ 8103, 9761, 9761, 9761, 9761, 9761, 8, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782,
+ 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782,
+ 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782,
+ 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782, 9782,
+ 9782, 9782, 9782, 9782, 9900, 9782, 9782, 9782, 9900, 6652, 6683, 9782, 9782, 9782, 9782, 9900, 9900,
+ 9782, 9782, 9782, 9782, 782, 9782, 141, 9782, 5983, 5954, 9782, 9782, 9782, 9782, 9782, 9782, 3331,
+ 9782, 9782, 9782, 9782, 9782, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737,
+ 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 149, 1, 1, 1, 9900, 6652, 6683,
+ 1, 9911, 2489, 721, 39, 333, 757, 10108, 1, 1, 9938, 2655, 1358, 1198, 1227, 135, 3863, 3260, 3389,
+ 3054, 3816, 5147, 9900, 3861, 1108, 3837, 1789, 3826, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730,
+ 8737, 8737, 8737, 8737, 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 130, 1,
+ 1, 1, 1166, 1076, 9900, 1, 9911, 2489, 721, 4215, 665, 757, 10108, 1, 1, 9900, 2655, 1358, 1198, 1227,
+ 1741, 3863, 3260, 3389, 3054, 3816, 5147, 3677, 3861, 1108, 3837, 1789, 3826, 9900, 9619, 8737, 8737,
+ 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737, 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 9623, 1, 150, 1, 1, 1, 5983, 5954, 9900, 1, 9911, 2489, 721, 4252, 348, 757, 10108, 1, 1, 9900,
+ 2655, 1358, 1198, 1227, 1939, 3863, 3260, 3389, 3054, 3816, 5147, 343, 3861, 1108, 3837, 1789, 3826,
+ 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737, 8737, 8737, 9626, 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, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 5871, 1, 1, 1, 1166, 1076, 9900, 1, 9911, 2489, 721, 2193, 662,
+ 757, 10108, 1, 1, 9900, 2655, 9329, 9335, 9332, 5617, 3863, 3260, 3389, 3054, 3816, 5147, 9900, 3861,
+ 1108, 3837, 1789, 3826, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737, 8737,
+ 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 3862, 1, 1, 1, 9900, 4154, 9900, 1,
+ 9911, 2489, 721, 9900, 653, 757, 10108, 1, 1, 1120, 2655, 1358, 1198, 1227, 484, 3863, 3260, 3389, 3054,
+ 3816, 5147, 9900, 3861, 1108, 3837, 1789, 3826, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737,
+ 8737, 8737, 8737, 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 133, 1, 1, 1,
+ 4098, 7934, 9900, 1, 9911, 2489, 721, 1220, 654, 757, 10108, 1, 1, 632, 2655, 1358, 1198, 1227, 3017,
+ 3863, 3260, 3389, 3054, 3816, 5147, 190, 3861, 1108, 3837, 1789, 3826, 9900, 9619, 8737, 8737, 8737,
+ 8737, 8737, 8730, 8737, 8737, 8737, 8737, 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 9623, 1, 9317, 1, 1, 1, 131, 9900, 4608, 1, 9911, 2489, 721, 2213, 431, 757, 10108, 1, 1, 5050, 2655,
+ 1358, 1198, 1227, 1, 3863, 3260, 3389, 3054, 3816, 5147, 629, 3861, 1108, 3837, 1789, 3826, 9900, 9619,
+ 8737, 8737, 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737, 8737, 8737, 9626, 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, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 9623, 1, 1604, 1, 1, 1, 2, 9900, 619, 1, 9911, 2489, 721, 2915, 366, 757, 10108, 1, 1,
+ 91, 2655, 9445, 9451, 9448, 9433, 3863, 3260, 3389, 3054, 3816, 5147, 9900, 3861, 1108, 3837, 1789,
+ 3826, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737, 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 606, 1, 1, 1, 151, 1510, 337, 1, 9911, 2489, 721, 10337,
+ 366, 757, 10108, 1, 1, 5119, 2655, 1358, 1198, 1227, 155, 3863, 3260, 3389, 3054, 3816, 5147, 10236,
+ 3861, 1108, 3837, 1789, 3826, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737, 8737, 8737, 8737,
+ 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 9900, 1, 1, 1, 157, 153, 1, 1,
+ 9911, 2489, 721, 7949, 655, 757, 10108, 1, 1, 271, 2655, 1358, 1198, 1227, 9635, 3863, 3260, 3389, 3054,
+ 3816, 5147, 4531, 3861, 1108, 3837, 1789, 3826, 9900, 9619, 8737, 8737, 8737, 8737, 8737, 8730, 8737,
+ 8737, 8737, 8737, 8737, 8737, 9626, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9623, 1, 353, 1, 1, 1,
+ 9900, 9263, 9900, 1, 9911, 2489, 721, 4703, 4500, 757, 10108, 1, 1, 118, 2655, 9900, 9912, 9900, 9900,
+ 3863, 3260, 3389, 3054, 3816, 5147, 218, 3861, 1108, 3837, 1789, 3826, 9900, 9311, 9311, 9311, 9311,
+ 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9919, 10272, 10273, 1439, 258, 9921, 9922,
+ 9920, 9916, 9917, 9918, 8856, 8850, 8853, 7189, 4159, 9900, 9311, 9311, 9311, 9311, 9311, 1613, 9311,
+ 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9911, 9311, 9311, 9311, 9311, 8865, 8862, 8859, 8883, 8871,
+ 9900, 8889, 8868, 8880, 8847, 8874, 8877, 8886, 8844, 9311, 38, 9248, 9239, 9242, 9245, 9311, 9311,
+ 9311, 431, 9311, 9236, 5597, 9311, 9311, 424, 1358, 1198, 1227, 9311, 9311, 9311, 9311, 9311, 9311, 366,
+ 8750, 8740, 9054, 8747, 860, 849, 1358, 1198, 1227, 818, 5597, 9311, 9311, 9311, 9311, 9311, 9311, 9311,
+ 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311, 9311,
+ 9311, 9311, 9311, 9311, 9897, 9900, 9900, 9900, 9311, 9900, 9436, 9436, 9436, 9436, 9436, 9436, 9436,
+ 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9900, 9900, 117, 9900, 259, 9900, 9914, 10602, 10601, 9915,
+ 9900, 8904, 8898, 8901, 7352, 818, 5597, 9436, 9436, 9436, 9436, 9436, 5769, 9436, 9436, 9436, 9436,
+ 9436, 9436, 9436, 9436, 328, 9436, 9436, 9436, 9436, 8913, 8910, 8907, 8931, 8919, 8729, 8937, 8916,
+ 8928, 8895, 8922, 8925, 8934, 8892, 9436, 37, 9314, 9314, 9314, 9314, 9436, 9436, 9436, 661, 9436, 9314,
+ 355, 9436, 9436, 3436, 1358, 1198, 1227, 9436, 9436, 9436, 9436, 9436, 9436, 662, 8750, 8740, 9054,
+ 8747, 860, 849, 1358, 1198, 1227, 818, 5597, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436,
+ 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436, 9436,
+ 9436, 7321, 5153, 3832, 2335, 9436, 39, 8750, 8740, 8743, 8747, 6776, 849, 1358, 1198, 1227, 7911, 5597,
+ 7819, 7842, 1613, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1193, 10566, 10567, 10206,
+ 10207, 10198, 10573, 10574, 10575, 10272, 10273, 1439, 10190, 10194, 8155, 10188, 10195, 10191, 10167,
+ 10193, 10192, 10189, 10168, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750,
+ 2053, 2205, 2100, 7711, 2147, 2050, 7282, 9900, 10334, 9900, 4893, 10335, 10336, 2393, 3705, 9900, 2006,
+ 39, 8750, 8740, 9054, 8747, 6776, 849, 1358, 1198, 1227, 7911, 5597, 7819, 7842, 9900, 10199, 10197,
+ 10205, 10201, 10202, 10200, 10203, 10204, 1193, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575,
+ 10272, 10273, 1439, 10190, 10194, 8155, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 9919,
+ 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050,
+ 7282, 1725, 10334, 346, 4893, 10335, 10336, 9900, 1130, 227, 2006, 9900, 9357, 9357, 9357, 9357, 263,
+ 9353, 8737, 8737, 8737, 263, 263, 263, 263, 9361, 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, 9900, 8771, 8759, 8763, 8767, 860, 8756, 8790, 8784, 8787, 818,
+ 5597, 9233, 9233, 9900, 9066, 9057, 9060, 9063, 263, 1, 9350, 1, 1, 1, 9900, 9914, 10602, 10601, 9915,
+ 4210, 2202, 1445, 9900, 757, 10348, 257, 631, 263, 453, 626, 452, 9786, 8805, 8799, 8802, 1358, 1198,
+ 1227, 9900, 10436, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 134, 10566, 10567, 10206,
+ 10207, 10198, 10573, 10574, 10575, 8814, 8811, 8808, 8832, 8820, 10525, 8838, 8817, 8829, 8796, 8823,
+ 8826, 8835, 8793, 9900, 2826, 3785, 10371, 10372, 10373, 9900, 9357, 9357, 9357, 9357, 263, 9353, 8737,
+ 8737, 8737, 263, 263, 263, 263, 9533, 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, 9900, 8771, 8759, 8763, 8767, 860, 8756, 8790, 8784, 8787, 818, 5597, 9299,
+ 9299, 9900, 15475, 15384, 15409, 15412, 263, 1, 9350, 1, 1, 1, 48, 9066, 9057, 9060, 9063, 4210, 2202,
+ 393, 4608, 757, 10348, 570, 9900, 263, 657, 9900, 451, 9900, 9674, 9668, 9671, 9817, 9823, 9820, 9900,
+ 10436, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 337, 10566, 10567, 10206, 10207, 10198,
+ 10573, 10574, 10575, 10272, 10273, 1439, 10190, 10194, 9900, 10188, 10195, 10191, 10167, 10193, 10192,
+ 10189, 10168, 10236, 2355, 3785, 10371, 10372, 10373, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730,
+ 8737, 8737, 263, 263, 263, 263, 8781, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410,
+ 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 9900, 836, 10292, 9900, 29, 423, 423, 423, 423, 9641, 423, 423,
+ 423, 423, 423, 423, 9641, 9641, 9641, 263, 1, 8734, 1, 1, 1, 433, 9914, 10602, 10601, 9915, 3256, 721,
+ 9900, 9900, 757, 10145, 423, 423, 423, 423, 423, 253, 423, 423, 423, 423, 423, 423, 423, 423, 10436,
+ 9900, 9900, 9835, 9835, 9835, 9835, 9835, 9835, 9835, 9835, 9835, 9835, 9835, 9835, 9835, 494, 7510,
+ 9900, 9641, 37, 9314, 9314, 9314, 9314, 9257, 9641, 1358, 1198, 1227, 4954, 4910, 366, 9641, 9900,
+ 15475, 15384, 15409, 15412, 253, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737, 8737, 263, 263,
+ 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1, 1, 1, 15539, 1,
+ 15217, 1, 1, 1, 9835, 9936, 9305, 9900, 638, 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, 649,
+ 9867, 9867, 9862, 263, 1, 8734, 1, 1, 1, 327, 9914, 10602, 10601, 9915, 3256, 721, 9900, 711, 757,
+ 10145, 649, 649, 649, 649, 649, 9900, 649, 649, 649, 649, 649, 649, 649, 649, 10436, 344, 8771, 8759,
+ 8763, 8767, 860, 8756, 8790, 8784, 8787, 818, 5597, 9233, 9233, 10272, 10273, 1439, 423, 9867, 7577,
+ 9900, 8750, 8740, 9054, 8747, 649, 849, 2826, 9326, 551, 9442, 5597, 9867, 37, 9314, 9314, 9314, 9314,
+ 254, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737, 8737, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 9900, 9900,
+ 2700, 9051, 260, 8444, 9900, 9914, 10602, 10601, 9915, 8964, 8958, 8961, 9900, 9936, 2237, 1228, 114,
+ 263, 1, 8734, 1, 1, 1, 1786, 490, 1, 9904, 9900, 3256, 721, 4473, 9900, 757, 10145, 8973, 8970, 8967,
+ 8991, 8979, 676, 8997, 8976, 8988, 8955, 8982, 8985, 8994, 8952, 10436, 9900, 8737, 8737, 8737, 8737,
+ 263, 8737, 8730, 8737, 8737, 263, 263, 263, 263, 9464, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 15410, 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 9251, 9900, 1613, 676, 261, 136, 8507, 139,
+ 676, 676, 10448, 9015, 9009, 9012, 36, 9814, 9805, 9808, 9811, 263, 1, 8734, 1, 1, 1, 493, 8080, 1,
+ 9903, 9900, 3256, 721, 4473, 8103, 757, 10145, 9024, 9021, 9018, 9042, 9030, 254, 9048, 9027, 9039,
+ 9006, 9033, 9036, 9045, 9003, 10436, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737, 8737, 263,
+ 263, 263, 263, 9464, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1, 1, 1,
+ 15539, 1, 15217, 1, 1, 1, 9308, 9900, 1613, 576, 650, 9900, 8505, 656, 576, 9900, 3873, 9081, 9075,
+ 9078, 9826, 9832, 9829, 3677, 9900, 263, 1, 8734, 1, 1, 1, 788, 781, 9900, 382, 485, 3256, 721, 9906,
+ 3141, 757, 10145, 9090, 9087, 9084, 9108, 9096, 254, 9114, 9093, 9105, 9072, 9099, 9102, 9111, 9069,
+ 10436, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737, 8737, 263, 263, 263, 263, 9464, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 9905, 6454,
+ 113, 1613, 691, 4147, 9900, 9900, 6508, 6652, 6683, 9479, 9473, 9476, 326, 1378, 1378, 1378, 1378, 263,
+ 1, 8734, 1, 1, 1, 9900, 9900, 9900, 9900, 29, 3256, 721, 6427, 6400, 757, 10145, 9488, 9485, 9482, 9506,
+ 9494, 254, 9512, 9491, 9503, 9470, 9497, 9500, 9509, 9467, 10436, 9900, 8737, 8737, 8737, 8737, 263,
+ 8737, 8730, 8737, 8737, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 15410, 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 454, 608, 10509, 1495, 571, 138, 3876, 1358, 1198,
+ 1227, 8080, 9683, 9677, 9680, 3498, 1, 460, 8103, 112, 263, 1, 8734, 1, 1, 1, 640, 476, 1, 9900, 9439,
+ 3256, 721, 4473, 10510, 757, 10145, 10272, 10273, 1439, 10190, 10194, 376, 10188, 10195, 10191, 10167,
+ 10193, 10192, 10189, 10168, 10436, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737, 8737, 263, 263,
+ 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1, 1, 1, 15539, 1,
+ 15217, 1, 1, 1, 9254, 132, 1613, 376, 572, 9907, 9900, 154, 376, 376, 1, 9692, 9686, 9689, 5050, 9900,
+ 6652, 6683, 3331, 263, 1, 8734, 1, 1, 1, 383, 8080, 1, 464, 9908, 3256, 721, 4473, 8103, 757, 10145,
+ 10272, 10273, 1439, 10190, 10194, 9629, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 10436,
+ 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737, 8737, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 1613, 9900, 1613,
+ 9900, 573, 9907, 8514, 1, 2099, 9632, 639, 9701, 9695, 9698, 125, 1591, 116, 10294, 4703, 263, 1, 8734,
+ 1, 1, 1, 124, 29, 9900, 7352, 9900, 3256, 721, 1137, 9900, 757, 10145, 10272, 10273, 1439, 10190, 10194,
+ 9906, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 10436, 9900, 8737, 8737, 8737, 8737, 263,
+ 8737, 8730, 8737, 8737, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 15410, 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 9257, 6652, 6683, 2343, 574, 6652, 6683, 5329, 9900,
+ 9905, 9900, 9710, 9704, 9707, 4360, 2201, 6652, 6683, 2237, 263, 1, 8734, 1, 1, 1, 123, 9900, 9900,
+ 9900, 9900, 3256, 721, 7321, 5153, 757, 10145, 10272, 10273, 1439, 10190, 10194, 9900, 10188, 10195,
+ 10191, 10167, 10193, 10192, 10189, 10168, 10436, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737,
+ 8737, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1,
+ 1, 1, 15539, 1, 15217, 1, 1, 1, 9900, 8771, 8759, 8763, 8767, 860, 8756, 8790, 8784, 8787, 818, 5597,
+ 9299, 9299, 5219, 6751, 6652, 6683, 9900, 263, 1, 8734, 1, 1, 1, 9900, 122, 156, 9900, 9900, 3256, 721,
+ 9906, 2251, 757, 10145, 380, 8750, 8740, 9054, 8747, 6481, 849, 1358, 1198, 1227, 818, 5597, 366, 366,
+ 10436, 9900, 8737, 8737, 8737, 8737, 263, 8737, 8730, 8737, 8737, 263, 263, 263, 263, 263, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15410, 1, 1, 1, 1, 15539, 1, 15217, 1, 1, 1, 9905, 39,
+ 9900, 3545, 371, 1722, 4473, 9938, 1358, 1198, 1227, 1613, 441, 366, 366, 380, 9906, 6652, 6683, 263, 1,
+ 8734, 1, 1, 1, 9900, 9527, 9900, 9900, 9900, 3256, 721, 2351, 4350, 757, 10145, 9776, 9773, 9770, 4531,
+ 158, 1, 8750, 8740, 9054, 8747, 6776, 849, 3465, 9900, 10436, 7911, 5597, 7376, 7842, 9904, 10199,
+ 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574,
+ 10575, 1613, 380, 9900, 1660, 9530, 6613, 380, 380, 9905, 9900, 9424, 9415, 9418, 9421, 9919, 7796,
+ 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282,
+ 323, 9000, 9000, 9000, 9000, 120, 318, 1358, 1198, 1227, 1, 8771, 8759, 8763, 8767, 2658, 849, 39, 39,
+ 9900, 7911, 5597, 7819, 7842, 47, 9400, 9406, 9382, 9394, 9391, 9397, 9388, 9385, 9364, 9412, 9409,
+ 9379, 9376, 9403, 9373, 9370, 9367, 39, 9936, 4500, 583, 9903, 6613, 9938, 1358, 1198, 1227, 7189, 4159,
+ 366, 366, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100,
+ 7711, 2147, 2050, 7282, 1, 8771, 8759, 8763, 8767, 8753, 8756, 9900, 9900, 2006, 8778, 8775, 8, 552, 1,
+ 7555, 1474, 39, 39, 1, 8771, 8759, 8763, 8767, 9605, 8756, 9894, 9900, 9260, 9566, 8775, 9554, 9557,
+ 9912, 9400, 9406, 9382, 9394, 9391, 9397, 9388, 9385, 9364, 9412, 9409, 9379, 9376, 9403, 9373, 9370,
+ 9367, 480, 9302, 9302, 9302, 9302, 9536, 9302, 9302, 9302, 9302, 9900, 9900, 9302, 9302, 9578, 9551,
+ 9548, 9563, 9560, 9572, 9569, 9575, 9587, 9584, 9581, 9545, 9593, 9602, 9596, 9542, 9599, 9590, 9539,
+ 481, 9656, 9656, 9656, 9656, 9911, 9653, 9644, 9650, 9647, 9911, 397, 9659, 9659, 7579, 9894, 1, 9608,
+ 9608, 39, 8750, 8740, 9054, 8747, 6776, 849, 9900, 37, 9900, 7911, 5597, 7399, 7842, 9904, 10199, 10197,
+ 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575,
+ 9900, 9900, 4113, 3599, 3879, 6613, 9900, 8750, 8740, 9054, 8747, 5291, 9938, 405, 9919, 7796, 7773,
+ 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 4445,
+ 39, 8750, 8740, 9054, 8747, 6776, 849, 9900, 2006, 9936, 7911, 5597, 7819, 7842, 9873, 10199, 10197,
+ 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575,
+ 659, 9278, 9278, 9278, 9278, 6613, 664, 1358, 1198, 1227, 9900, 9900, 3881, 9903, 9919, 7796, 7773,
+ 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 1846, 1,
+ 8771, 8759, 8763, 8767, 860, 8756, 119, 2006, 9326, 818, 5597, 174, 8750, 8740, 9054, 8747, 6776, 849,
+ 10391, 9900, 9907, 7911, 5597, 7819, 7842, 2493, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204,
+ 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 92, 9755, 9755, 9755, 9755, 6613, 9755,
+ 9755, 9755, 9755, 7189, 4159, 9755, 9755, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917,
+ 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 9900, 8750, 8740, 9054, 8747, 9900, 9938, 9900,
+ 9900, 2006, 39, 8750, 8740, 9054, 8747, 6776, 849, 39, 39, 9900, 7911, 5597, 7819, 7842, 9323, 10199,
+ 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574,
+ 10575, 95, 9856, 9856, 9856, 9856, 6613, 9853, 9844, 9850, 9847, 1, 9900, 9859, 9859, 9919, 7796, 7773,
+ 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 9458, 1,
+ 8750, 8740, 9054, 8747, 6776, 849, 10377, 2006, 9326, 7911, 5597, 7819, 7842, 1495, 10199, 10197, 10205,
+ 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 333,
+ 9914, 10602, 10601, 9915, 6613, 371, 1358, 1198, 1227, 9461, 3468, 9900, 9900, 9919, 7796, 7773, 7888,
+ 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 9900, 9914,
+ 10602, 10601, 9915, 10272, 10273, 1439, 320, 2006, 614, 8750, 8740, 9054, 8747, 6776, 849, 39, 39, 475,
+ 7911, 5597, 7819, 7842, 410, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567,
+ 10206, 10207, 10198, 10573, 10574, 10575, 9900, 8750, 8740, 9054, 8747, 6613, 849, 9900, 1786, 3264,
+ 818, 5597, 100, 9900, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053,
+ 2205, 2100, 7711, 2147, 2050, 7282, 9900, 9066, 9057, 9060, 9063, 1, 10219, 8057, 921, 2006, 1, 8771,
+ 8759, 8763, 8767, 2658, 849, 39, 39, 9912, 7911, 5597, 7819, 7842, 9900, 9400, 9406, 9382, 9394, 9391,
+ 9397, 9388, 9385, 9364, 9412, 9409, 9379, 9376, 9403, 9373, 9370, 9367, 9900, 8750, 8740, 9054, 8747,
+ 6613, 849, 9900, 9900, 9779, 818, 5597, 326, 4651, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916,
+ 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 10371, 10372, 10373, 99, 4113, 9911, 152,
+ 8057, 921, 2006, 39, 8750, 8740, 9054, 8747, 6776, 849, 39, 39, 5119, 7911, 5597, 7819, 7842, 9323,
+ 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573,
+ 10574, 10575, 430, 8949, 8949, 8949, 8949, 6613, 318, 8940, 8946, 8943, 13490, 9900, 9900, 403, 9919,
+ 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050,
+ 7282, 9841, 39, 8750, 8740, 9054, 8747, 6776, 849, 9900, 2006, 9326, 7911, 5597, 7819, 7842, 9904,
+ 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573,
+ 10574, 10575, 9900, 318, 103, 9900, 462, 6613, 100, 9838, 3778, 43, 9430, 9430, 9430, 9430, 9919, 7796,
+ 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282,
+ 1896, 39, 8750, 8740, 9054, 8747, 6776, 849, 2685, 9900, 582, 7911, 5597, 7819, 7842, 9323, 10199,
+ 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574,
+ 10575, 660, 9275, 9275, 9275, 9275, 6613, 664, 9266, 9272, 9269, 9427, 2452, 9779, 9903, 9919, 7796,
+ 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282,
+ 9900, 39, 8750, 8740, 9054, 8747, 6776, 849, 9900, 9900, 9326, 7911, 5597, 7819, 7842, 9904, 10199,
+ 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574,
+ 10575, 9900, 664, 9900, 73, 431, 6613, 9900, 15285, 15285, 15285, 15285, 1358, 1198, 1227, 9919, 7796,
+ 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282,
+ 594, 39, 8750, 8740, 9054, 8747, 6776, 849, 4113, 432, 145, 7911, 5597, 7819, 7842, 423, 10199, 10197,
+ 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575,
+ 9900, 8750, 8740, 9054, 8747, 6613, 849, 9936, 9870, 1495, 9442, 5597, 9900, 9903, 9919, 7796, 7773,
+ 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39,
+ 8750, 8740, 9054, 8747, 6776, 849, 9900, 4157, 2006, 7911, 5597, 7819, 7842, 1495, 10199, 10197, 10205,
+ 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 6652,
+ 6683, 2718, 9900, 1, 6613, 45, 9728, 9728, 9728, 9728, 9900, 9900, 9900, 9919, 7796, 7773, 7888, 7865,
+ 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39, 8750, 8740,
+ 9054, 8747, 2658, 849, 1711, 9900, 144, 7911, 5597, 7819, 7842, 9900, 10199, 10197, 10205, 10201, 10202,
+ 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 37, 9314, 9314, 9314,
+ 9314, 6613, 835, 2, 9725, 9900, 9801, 9789, 9793, 9797, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920,
+ 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39, 8750, 8740, 9054, 8747, 2658, 849,
+ 9900, 39, 2006, 7911, 5597, 7819, 7842, 9938, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204,
+ 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 6652, 6683, 2185, 146, 9900, 6613, 9900,
+ 16686, 16577, 16591, 16639, 9936, 1996, 37, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917,
+ 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39, 8750, 8740, 9054, 8747, 6776, 849, 9900, 48,
+ 2006, 7911, 5597, 7819, 7842, 10602, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653,
+ 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 9900, 48, 1, 148, 48, 6613, 9900, 10601, 9936,
+ 6454, 9915, 1537, 9900, 9900, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750,
+ 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39, 8750, 8740, 9054, 8747, 6029, 849, 6427, 6400, 2006, 7911,
+ 5597, 7819, 7842, 10602, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567,
+ 10206, 10207, 10198, 10573, 10574, 10575, 9900, 9900, 48, 147, 874, 6613, 39, 10601, 9914, 6454, 9915,
+ 9900, 9938, 9900, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205,
+ 2100, 7711, 2147, 2050, 7282, 39, 8750, 8740, 9054, 8747, 6971, 849, 6427, 6400, 1610, 7911, 5597, 7819,
+ 7842, 2149, 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207,
+ 10198, 10573, 10574, 10575, 9900, 1, 313, 7644, 9900, 6613, 103, 9891, 9914, 6454, 9900, 9838, 9900,
+ 9900, 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711,
+ 2147, 2050, 7282, 39, 8750, 8740, 9054, 8747, 8336, 849, 6427, 6400, 142, 7911, 5597, 7819, 7842, 877,
+ 10199, 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573,
+ 10574, 10575, 9900, 9900, 9900, 877, 9900, 6613, 7230, 10371, 10372, 10373, 9900, 9900, 9900, 9900,
+ 9919, 7796, 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147,
+ 2050, 7282, 39, 8750, 8740, 9054, 8747, 8363, 849, 9900, 9900, 9900, 7911, 5597, 7819, 7842, 544, 10199,
+ 10197, 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574,
+ 10575, 6652, 6683, 9900, 9900, 9900, 6613, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9919, 7796,
+ 7773, 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282,
+ 39, 8750, 8740, 9054, 8747, 6776, 849, 9900, 9900, 9900, 7911, 5597, 7819, 7842, 542, 10199, 10197,
+ 10205, 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575,
+ 9900, 9900, 9900, 7953, 9900, 6613, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9919, 7796, 7773,
+ 7888, 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39,
+ 8750, 8740, 9054, 8747, 8433, 849, 9900, 9900, 9900, 7911, 5597, 7819, 7842, 9900, 10199, 10197, 10205,
+ 10201, 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 9900,
+ 9900, 9900, 8273, 9900, 6613, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9919, 7796, 7773, 7888,
+ 7865, 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39, 8750,
+ 8740, 9054, 8747, 2658, 849, 9900, 9900, 9900, 7911, 5597, 7819, 7842, 456, 10199, 10197, 10205, 10201,
+ 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 9900, 3894,
+ 9900, 9900, 9900, 6613, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9919, 7796, 7773, 7888, 7865,
+ 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39, 8750, 8740,
+ 9054, 8747, 2658, 849, 9900, 9900, 9900, 7911, 5597, 7819, 7842, 9900, 10199, 10197, 10205, 10201,
+ 10202, 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 9900, 9900,
+ 9900, 3941, 9900, 6613, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9919, 7796, 7773, 7888, 7865,
+ 9921, 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 39, 8750, 8740,
+ 9054, 8747, 6776, 849, 9900, 9900, 1, 7911, 5597, 7819, 7842, 9900, 10199, 10197, 10205, 10201, 10202,
+ 10200, 10203, 10204, 1653, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 9458, 3649, 9900,
+ 9900, 9900, 6613, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9919, 7796, 7773, 7888, 7865, 9921,
+ 9922, 9920, 9916, 9917, 9918, 7750, 2053, 2205, 2100, 7711, 2147, 2050, 7282, 9900, 8750, 8740, 8743,
+ 8747, 9900, 9938, 1358, 1198, 1227, 9461, 3468, 9900, 9900, 9900, 10199, 10197, 10205, 10201, 10202,
+ 10200, 10203, 10204, 1103, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 10272, 10273, 1439,
+ 10190, 10194, 4122, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 5363, 9900, 9900, 275, 9226, 9213, 9217, 9222, 1774, 9230, 9129, 9123, 9126, 10334,
+ 9900, 4893, 10335, 10336, 9198, 9204, 9180, 9192, 9189, 9195, 9186, 9183, 1103, 9210, 9207, 9177, 9174,
+ 9201, 9171, 9168, 9165, 9138, 9135, 9132, 9156, 9144, 4122, 9162, 9141, 9153, 9120, 9147, 9150, 9159,
+ 9117, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 8750, 8740, 9054, 8747, 9900,
+ 9938, 1358, 1198, 1227, 10334, 9900, 4893, 10335, 10336, 10199, 10197, 10205, 10201, 10202, 10200,
+ 10203, 10204, 1103, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 10272, 10273, 1439, 10190,
+ 10194, 4122, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 9900, 9900, 9900, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 275, 9226, 9213, 9454, 9222, 9900, 9230, 9129, 9123, 9126, 10334, 9900, 4893,
+ 10335, 10336, 9198, 9204, 9180, 9192, 9189, 9195, 9186, 9183, 1103, 9210, 9207, 9177, 9174, 9201, 9171,
+ 9168, 9165, 9138, 9135, 9132, 9156, 9144, 4122, 9162, 9141, 9153, 9120, 9147, 9150, 9159, 9117, 9900,
+ 9900, 9900, 9914, 10602, 10601, 9915, 9900, 9900, 9900, 9900, 9914, 10602, 10601, 9915, 9900, 9912,
+ 1358, 1198, 1227, 10334, 9900, 4893, 10335, 10336, 10199, 10197, 10205, 10201, 10202, 10200, 10203,
+ 10204, 1299, 10566, 10567, 10206, 10207, 10198, 10573, 10574, 10575, 10272, 10273, 1439, 10190, 10194,
+ 9900, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 139, 9900, 9900, 9900, 9900, 9906, 9900,
+ 9900, 9900, 9900, 275, 9722, 9713, 9716, 9719, 9900, 9910, 9129, 9123, 9126, 10334, 9911, 4893, 10335,
+ 10336, 9198, 9204, 9180, 9192, 9189, 9195, 9186, 9183, 1299, 9210, 9207, 9177, 9174, 9201, 9171, 9168,
+ 9165, 9138, 9135, 9132, 9156, 9144, 9900, 9162, 9141, 9153, 9120, 9147, 9150, 9159, 9117, 1, 9900, 2903,
+ 9900, 649, 2157, 546, 9900, 1345, 9900, 10405, 9909, 10399, 10403, 9905, 9906, 9900, 9908, 9611, 5871,
+ 10334, 9900, 4893, 10335, 10336, 9900, 9900, 9900, 9900, 638, 2608, 1, 8771, 8759, 8763, 8767, 860,
+ 8756, 8790, 8784, 8787, 818, 5597, 9731, 9900, 344, 9900, 10397, 10398, 10428, 10429, 9900, 9900, 9900,
+ 9900, 9900, 9900, 10406, 9900, 788, 781, 2558, 2508, 2458, 2408, 2358, 2308, 2258, 2208, 2158, 2106,
+ 10408, 793, 10430, 9900, 9900, 1395, 3735, 10409, 9615, 9905, 9900, 2302, 2339, 9900, 9900, 10407, 9900,
+ 10419, 10418, 9907, 9900, 1728, 9900, 9900, 9906, 344, 1, 9900, 9900, 9900, 9900, 10424, 10425, 9735,
+ 10431, 10422, 10423, 10402, 10404, 10426, 398, 9900, 10400, 10401, 10427, 9900, 10412, 10413, 10414,
+ 10410, 10411, 10420, 10421, 10416, 10415, 10417, 9900, 9900, 10432, 32, 424, 424, 424, 424, 9638, 424,
+ 424, 424, 424, 424, 424, 9638, 9638, 9638, 637, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
+ 9767, 9767, 9767, 9905, 9900, 424, 424, 424, 424, 424, 9900, 424, 424, 424, 424, 424, 424, 424, 424,
+ 398, 648, 648, 648, 648, 648, 9900, 648, 648, 648, 648, 648, 648, 648, 648, 1, 9900, 9900, 9900, 9638,
+ 5435, 1, 9900, 9900, 9900, 398, 9638, 9900, 9900, 9910, 1, 9900, 9900, 9638, 9767, 194, 9900, 9900,
+ 9900, 9900, 4003, 648, 9900, 9900, 196, 1, 1, 9900, 9767, 37, 10602, 10602, 10602, 10602, 10602, 10602,
+ 10602, 10602, 10602, 224, 590, 10602, 10602, 37, 10601, 10601, 10601, 10601, 10601, 10601, 10601, 10601,
+ 10601, 9900, 9900, 10601, 10601, 9900, 9900, 9900, 9909, 10602, 10602, 10602, 10602, 10602, 9900, 10602,
+ 10602, 10602, 10602, 10602, 10602, 10602, 10602, 10601, 10601, 10601, 10601, 10601, 194, 10601, 10601,
+ 10601, 10601, 10601, 10601, 10601, 10601, 196, 224, 37, 9915, 9915, 9915, 9915, 9915, 9915, 9915, 9915,
+ 9915, 10602, 10602, 9915, 9915, 590, 9900, 10602, 1, 8771, 8759, 8763, 8767, 860, 8756, 10601, 10601,
+ 9900, 818, 5597, 9900, 10601, 9900, 9915, 9915, 9915, 9915, 9915, 9900, 9915, 9915, 9915, 9915, 9915,
+ 9915, 9915, 9915, 9900, 37, 9914, 9914, 9914, 9914, 9914, 9914, 9914, 9914, 9914, 9900, 9900, 9914,
+ 9914, 9900, 1, 9608, 9608, 9608, 9608, 9900, 9764, 8790, 8784, 8787, 9915, 9915, 366, 366, 398, 9900,
+ 9915, 9914, 9914, 9914, 9914, 9914, 1, 9914, 9914, 9914, 9914, 9914, 9914, 9914, 9914, 9900, 695, 9900,
+ 9347, 9900, 9906, 9900, 9900, 9344, 9338, 9341, 9900, 9900, 9900, 159, 9900, 10583, 10586, 10582, 10588,
+ 10589, 10587, 10584, 10585, 9900, 9910, 9914, 9914, 9900, 9900, 9900, 9900, 9914, 10272, 10273, 1439,
+ 10190, 10194, 9900, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 694, 398, 9524, 9900, 9900,
+ 9900, 9900, 9521, 9515, 9518, 9900, 9900, 9900, 9900, 9900, 10583, 10586, 10582, 10588, 10589, 10587,
+ 10584, 10585, 9905, 9900, 9900, 398, 9900, 9900, 9909, 9900, 9900, 10272, 10273, 1439, 10190, 10194,
+ 6096, 10188, 10195, 10191, 10167, 10193, 10192, 10189, 10168, 1, 8771, 8759, 8763, 8767, 6481, 8756,
+ 3303, 9900, 9900, 818, 5597, 9900, 9900, 402, 1, 8771, 8759, 8763, 8767, 860, 8756, 8790, 8784, 8787,
+ 818, 5597, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 4307, 1999, 3217, 3189, 3103, 3075,
+ 2989, 2961, 2875, 2847, 2761, 2733, 1, 8771, 8759, 8763, 8767, 860, 8756, 8790, 8784, 8787, 818, 5597,
+ 1, 8771, 8759, 8763, 8767, 8753, 8756, 126, 9900, 128, 8778, 8775, 1613, 402, 9910, 127, 9900, 9900,
+ 402, 402, 75, 9900, 9900, 9900, 9900, 9293, 1796, 1, 8771, 8759, 8763, 8767, 6481, 8756, 9900, 9906,
+ 10581, 818, 5597, 3785, 9900, 9629, 9900, 9900, 402, 9900, 9900, 9900, 9900, 10583, 10586, 10582, 10588,
+ 10589, 10587, 10584, 10585, 1, 8771, 8759, 8763, 8767, 6481, 8756, 9900, 9909, 9900, 818, 5597, 9284,
+ 9281, 9900, 3785, 9900, 9900, 9900, 636, 9900, 6326, 9900, 6326, 9876, 9884, 9880, 87, 9320, 6326, 9662,
+ 9888, 9900, 9739, 9906, 9296, 9665, 1956, 9900, 9900, 9900, 9747, 1613, 9905, 9900, 9900, 9900, 9900,
+ 9900, 9632, 9900, 9900, 6251, 5909, 6251, 5909, 9900, 9900, 9900, 9900, 6251, 5909, 9900, 9900, 9900,
+ 9900, 9900, 9900, 9900, 9900, 9900, 9900, 1613, 9900, 9900, 9900, 9900, 4255, 1256, 4255, 1256, 9900,
+ 9888, 9900, 9900, 4255, 1256, 9900, 9900, 9900, 9888, 9900, 9287, 8396, 9743, 9900, 9900, 9290, 9900,
+ 9905, 9900, 9900, 9751 };
+ };
- public interface ScopeStateSet {
- public final static char scopeStateSet[] = {
- 466,376,268,268,478,376,268,268,268,268,
- 111,124,124,522,466,478,376,478,510,111,
- 111,466,268,268,124,43,190,238,238,21,
- 21,490,376,466,376,376,378,61,391,89,
- 510,466,53,46,89,111,268,268,46,128,
- 165,124,510,171,378,268,268,86,1,111,
- 43,50,21,490,378,41,510,99,18,268,
- 268,268,268,268,268,242,8,490,111,111,
- 111,69,336,53,466,376,376,450,478,111,
- 268,268,268,268,128,268,24,182,268,50,
- 21,138,128,130,165,124,165,187,171,378,
- 111,5,18,56,53,268,510,268,171,111,
- 490,378,13,111,273,493,61,53,376,478,
- 53,376,376,376,111,466,376,24,182,380,
- 389,490,380,385,385,385,29,58,140,24,
- 182,374,450,58,140,50,13,376,466,450,
- 466,165
- };
- };
- public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
- public final int scopeStateSet(int index) { return scopeStateSet[index]; }
+ public final static char termAction[] = TermAction.termAction;
- public interface ScopeRhs {
- public final static char scopeRhs[] = {0,
- 184,5,80,0,44,145,140,142,0,186,
- 35,349,142,72,0,139,0,186,349,142,
- 35,72,0,186,35,72,0,186,349,142,
- 72,0,347,142,0,131,281,0,0,300,
- 142,177,0,142,0,142,177,0,220,142,
- 0,217,5,0,140,241,0,180,256,142,
- 0,224,0,256,142,0,272,224,0,285,
- 180,0,272,0,180,0,248,272,0,248,
- 0,225,180,0,198,272,0,198,0,217,
- 5,37,0,140,0,259,0,279,0,251,
- 0,32,172,0,382,92,0,30,194,0,
- 196,5,0,217,5,64,0,378,5,343,
- 0,377,5,5,8,0,140,140,0,376,
- 5,74,0,375,5,130,0,140,195,0,
- 142,196,85,0,239,0,265,0,230,193,
- 141,23,0,151,0,193,141,23,0,150,
- 0,304,142,71,139,0,20,0,338,142,
- 71,67,0,20,58,0,33,147,0,20,
- 58,0,0,338,142,71,67,229,0,20,
- 201,0,304,142,71,147,0,223,141,0,
- 156,0,261,5,337,0,337,0,2,0,
- 140,0,304,142,71,146,0,223,141,270,
- 0,223,141,36,270,0,223,141,370,36,
- 0,143,230,193,141,0,230,193,141,0,
- 149,142,0,190,0,366,142,190,0,142,
- 190,0,246,142,0,193,365,255,0,151,
- 0,0,0,0,365,255,0,152,151,0,
- 0,0,0,150,0,0,0,0,152,150,
- 0,0,0,0,364,142,178,258,0,141,
- 0,258,0,143,0,0,141,0,363,142,
- 178,250,0,141,0,0,44,141,0,0,
- 172,5,0,142,328,327,142,85,326,190,
- 0,327,142,85,326,190,0,238,0,239,
- 0,326,190,0,101,0,0,238,0,239,
- 0,226,101,0,0,238,0,239,0,327,
- 142,326,190,0,238,0,226,0,0,238,
- 0,279,142,5,0,140,0,0,0,0,
- 0,279,142,5,246,0,260,5,0,231,
- 0,161,0,212,193,141,0,10,0,0,
- 0,0,212,0,9,0,0,251,72,0,
- 279,142,5,209,0,209,0,2,0,0,
- 140,0,0,0,0,0,225,5,0,271,
- 142,178,46,40,0,223,141,76,77,0,
- 219,142,0,143,223,141,325,77,0,223,
- 141,325,77,0,223,141,86,138,76,0,
- 271,142,178,299,76,0,299,76,0,143,
- 0,0,141,0,271,142,178,299,275,76,
- 0,299,275,76,0,322,323,142,178,138,
- 360,68,0,360,68,0,144,143,0,0,
- 0,141,0,322,323,142,178,360,68,0,
- 143,0,0,0,141,0,223,141,321,68,
- 0,230,223,141,321,255,0,223,141,321,
- 255,0,193,141,0,98,151,0,215,0,
- 214,0,213,0,212,0,320,142,168,0,
- 320,142,190,0,184,100,0,355,185,357,
- 358,5,97,0,140,194,0,357,358,5,
- 97,0,142,0,140,194,0,184,5,90,
- 233,95,0,140,142,0,233,95,0,113,
- 2,146,140,142,0,272,5,90,0,225,
- 194,0,33,184,0,194,0,198,33,184,
- 0,272,5,101,0,233,169,272,5,99,
- 0,67,194,0,272,5,99,0,140,194,
- 67,194,0,356,142,178,0,184,0,251,
- 92,0,184,116,220,0,30,192,0,163,
- 78,195,5,0,195,5,0,20,176,140,
- 0,184,116,182,0,30,184,0,140,164,
- 0,261,5,0,251,72,318,0,184,72,
- 0,217,5,352,83,141,0,140,0,0,
- 0,0,352,83,141,0,2,160,140,0,
- 0,0,0,217,5,61,0,162,0,140,
- 67,193,141,0,31,162,0,98,151,31,
- 162,0,244,223,141,0,161,31,162,0,
- 217,5,63,0,184,5,63,0,184,5,
- 78,217,71,58,0,217,71,58,0,20,
- 2,146,140,0,184,5,78,217,71,60,
- 0,217,71,60,0,184,5,78,217,71,
- 62,0,217,71,62,0,184,5,78,217,
- 71,59,0,217,71,59,0,261,5,140,
- 230,193,141,23,0,140,230,193,141,23,
- 0,151,2,0,140,0,261,5,139,295,
- 193,141,23,0,295,193,141,23,0,150,
- 2,0,140,0,261,5,150,0,261,5,
- 155,0,184,72,155,0,313,0,31,0,
- 31,154,0,192,0,149,0,184,5,0
- };
- };
- public final static char scopeRhs[] = ScopeRhs.scopeRhs;
- public final int scopeRhs(int index) { return scopeRhs[index]; }
+ public final int termAction(int index) {
+ return termAction[index];
+ }
- public interface ScopeState {
- public final static char scopeState[] = {0,
- 2637,2385,1389,0,1708,1310,0,3709,2096,1745,
- 1450,0,5518,8514,8507,8444,0,3251,2953,0,
- 2452,1591,0,6148,6096,6044,4411,0,5795,5723,
- 5651,5579,5507,5435,5363,5291,5219,5147,4739,4636,
- 8505,0,7048,6013,0,4911,3862,4778,0,4147,
- 4098,0,1364,767,0,921,0,2213,1120,0,
- 4307,4500,4703,4531,1166,1076,5119,2658,3649,1228,
- 3303,3217,3189,3103,3075,2989,2961,2875,2847,2761,
- 2733,1138,1048,958,0,1345,1137,0,1395,4189,
- 1314,3880,3779,3383,6709,910,1445,0,3135,3021,
- 8433,2655,2097,2658,1944,8363,8336,6971,6776,6029,
- 5795,5723,5651,5579,5507,5435,5363,5291,5219,5147,
- 4739,4636,0,2694,2340,1199,1121,4819,6930,6732,
- 6481,6282,4473,3055,2941,2827,0,780,0,7534,
- 7465,6888,6501,6539,6187,6035,6494,5759,5724,6022,
- 5687,5220,5580,5543,5148,5508,4863,3988,3486,5471,
- 5436,5364,3882,0,4819,8216,5228,6912,6874,4745,
- 6732,5370,6148,6096,6044,6481,4411,6282,7150,5016,
- 860,4872,5871,4217,4961,0,8216,4745,0,3137,
- 3027,7534,7465,3023,2535,1643,6888,2485,6501,2335,
- 2237,2185,6539,986,3419,6187,2083,6035,1925,6494,
- 5759,5724,2911,1713,6022,5687,6964,5220,1474,5580,
- 5543,1044,5148,2795,4340,5508,4863,1947,3988,3486,
- 5471,5436,5364,818,6745,3882,4077,1496,1384,1011,
- 849,1728,6732,4872,5370,6148,6096,4819,6044,6481,
- 4411,6282,2718,2700,8216,5228,1364,767,6912,5871,
- 7150,6874,5016,860,4217,4961,4745,8155,7711,7282,
- 6613,4122,3649,6508,7399,8126,1228,4307,3303,3217,
- 3189,3103,3075,2989,2961,2875,2847,2761,2733,4500,
- 4703,4531,1166,1076,5119,6454,6427,6400,6709,2658,
- 7376,788,3331,4608,3677,5983,5954,5050,6683,6652,
- 6326,6299,6251,5909,4255,1256,7352,7321,5153,7189,
- 4159,8103,8080,1138,1048,8057,958,7911,7888,7865,
- 7842,7819,7796,7773,7750,3735,4050,1395,878,4003,
- 3941,3894,1956,1896,1846,3832,3785,3599,3548,1314,
- 3498,3436,1796,1510,1746,1660,2608,2558,2508,2458,
- 2408,2358,2308,2258,2208,2158,2106,2056,716,1613,
- 1445,2006,1563,3389,0,7048,6013,6964,6745,878,
- 716,4340,4077,0,878,716,4340,4077,6013,0,
- 4872,4366,7099,878,6148,6865,4334,6096,6044,6356,
- 5769,7048,8498,8466,8305,7940,6172,6013,4082,6535,
- 4635,4210,7489,7623,3969,5265,5228,6964,4954,4910,
- 4158,716,3142,2793,8297,3859,6084,3464,5871,4340,
- 7150,1924,1691,997,5016,925,913,6745,7538,6769,
- 4893,6180,3249,4784,4375,5837,4961,3256,4077,6757,
- 4819,8271,4406,8454,8265,6930,4411,6136,8402,4767,
- 6912,6874,4563,4217,0,5795,5723,5651,5579,5507,
- 5435,5363,5291,5219,5147,4739,4636,8149,7215,7083,
- 7004,7951,7934,7644,7577,7510,7439,7422,6546,4904,
- 8229,0,8396,7230,8273,7953,8433,7949,2658,7579,
- 7555,6751,5329,5617,8363,8336,6971,6776,6029,5795,
- 5723,5651,5579,5507,5435,5363,5291,5219,5147,4739,
- 4636,8149,7215,7083,7004,7951,7934,7644,7577,7510,
- 7439,7422,6546,0
- };
- };
- public final static char scopeState[] = ScopeState.scopeState;
- public final int scopeState(int index) { return scopeState[index]; }
+ public interface Asb {
+ public final static char asb[] = { 0, 1459, 4, 1566, 321, 1448, 1, 363, 1501, 707, 707, 707, 1400, 67, 878,
+ 1458, 994, 321, 329, 1263, 1566, 649, 245, 1566, 1566, 1566, 221, 261, 156, 261, 875, 261, 1103, 261,
+ 261, 329, 330, 261, 995, 1345, 100, 1501, 321, 642, 261, 261, 1114, 330, 261, 330, 1566, 930, 164, 164,
+ 920, 164, 651, 156, 80, 581, 80, 782, 994, 833, 938, 324, 70, 70, 321, 898, 330, 1264, 1053, 1035, 847,
+ 1396, 579, 159, 877, 8, 875, 152, 329, 1103, 335, 330, 330, 703, 219, 995, 995, 995, 995, 995, 995, 995,
+ 995, 995, 995, 644, 995, 1198, 1566, 930, 930, 930, 930, 329, 1566, 261, 861, 861, 834, 833, 321, 321,
+ 330, 521, 1397, 335, 335, 261, 363, 468, 1397, 261, 261, 930, 261, 330, 701, 1298, 176, 164, 164, 163,
+ 163, 156, 329, 573, 784, 1198, 791, 796, 793, 800, 798, 807, 805, 809, 808, 810, 588, 811, 321, 994,
+ 1218, 321, 261, 330, 525, 898, 898, 330, 1264, 787, 845, 786, 1585, 86, 1396, 1395, 1397, 159, 330, 79,
+ 865, 856, 703, 156, 837, 330, 335, 703, 330, 697, 1198, 1198, 1198, 1517, 362, 701, 261, 1397, 1397,
+ 1397, 954, 1608, 1608, 974, 974, 363, 363, 363, 363, 330, 598, 6, 6, 598, 994, 861, 156, 329, 697, 261,
+ 261, 335, 335, 324, 239, 468, 468, 1264, 1298, 176, 163, 163, 163, 330, 1397, 994, 1397, 995, 995, 995,
+ 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 994, 994, 994,
+ 994, 994, 994, 994, 994, 994, 994, 994, 15, 995, 1397, 842, 156, 321, 1193, 991, 403, 468, 529, 824,
+ 898, 834, 834, 1053, 834, 1514, 579, 1585, 1585, 1621, 1620, 851, 842, 330, 159, 65, 878, 930, 1262,
+ 1568, 159, 79, 857, 861, 79, 861, 703, 837, 837, 330, 920, 365, 1183, 1198, 759, 757, 764, 762, 766,
+ 765, 767, 768, 781, 330, 219, 330, 1397, 1397, 1397, 468, 362, 994, 261, 955, 324, 1294, 1284, 1283,
+ 1353, 267, 267, 329, 644, 995, 1397, 1397, 920, 920, 920, 920, 703, 1397, 1263, 1265, 1263, 1397, 468,
+ 156, 907, 330, 1566, 1196, 261, 920, 920, 261, 1397, 1288, 1271, 1287, 781, 930, 92, 92, 842, 842, 163,
+ 330, 834, 1219, 793, 793, 791, 791, 791, 798, 798, 798, 798, 798, 798, 796, 796, 805, 800, 800, 808,
+ 807, 809, 65, 65, 810, 842, 1218, 403, 468, 417, 524, 333, 1397, 86, 1397, 597, 1397, 1397, 701, 1570,
+ 861, 861, 861, 861, 330, 837, 841, 922, 841, 1154, 1170, 1170, 1170, 1170, 1149, 329, 927, 995, 995,
+ 995, 995, 995, 995, 995, 995, 995, 994, 994, 994, 994, 994, 994, 994, 994, 994, 994, 994, 994, 995, 974,
+ 697, 261, 261, 261, 995, 363, 261, 261, 1397, 954, 65, 995, 65, 834, 953, 1566, 1566, 1566, 955, 1566,
+ 330, 471, 834, 834, 330, 156, 1608, 1397, 1296, 1298, 330, 701, 271, 1198, 1566, 1566, 1566, 1566, 330,
+ 330, 330, 1265, 701, 873, 329, 330, 598, 261, 261, 888, 994, 1285, 1285, 1292, 324, 1058, 176, 164, 176,
+ 780, 780, 842, 834, 994, 994, 1218, 994, 994, 468, 529, 1397, 1621, 1264, 833, 995, 65, 899, 932, 830,
+ 1570, 861, 861, 407, 841, 842, 995, 330, 330, 995, 757, 757, 757, 762, 759, 759, 765, 764, 766, 65, 767,
+ 1397, 261, 324, 944, 955, 65, 1045, 955, 974, 974, 972, 953, 974, 834, 834, 905, 952, 1397, 1298, 703,
+ 1264, 1397, 994, 994, 994, 994, 1566, 1566, 219, 330, 1264, 873, 1397, 261, 709, 888, 994, 994, 1296,
+ 1271, 176, 363, 363, 841, 468, 468, 597, 834, 1570, 995, 995, 830, 830, 1570, 1570, 907, 214, 408, 330,
+ 842, 703, 1048, 994, 261, 261, 261, 994, 261, 955, 995, 955, 1397, 321, 974, 1397, 972, 1501, 1566,
+ 1397, 873, 911, 1397, 330, 719, 1397, 1397, 1397, 1397, 598, 598, 1269, 261, 219, 945, 1566, 261, 891,
+ 781, 261, 105, 830, 830, 407, 330, 329, 329, 330, 330, 261, 598, 995, 468, 955, 905, 955, 834, 1501,
+ 994, 955, 952, 911, 911, 304, 1397, 1397, 1269, 1058, 891, 1343, 261, 261, 330, 330, 330, 261, 1397,
+ 468, 994, 953, 598, 834, 1397, 914, 911, 1397, 1397, 318, 1566, 92, 330, 330, 955, 1397, 834, 914, 914,
+ 156, 156, 320, 1299, 780, 955, 914, 1621, 1263, 363 };
+ };
- public interface InSymb {
- public final static char inSymb[] = {0,
- 0,351,80,177,77,7,142,190,229,42,
- 35,67,40,76,273,5,142,76,325,380,
- 347,266,8,9,7,34,267,258,268,255,
- 269,68,274,139,23,141,294,37,259,326,
- 142,5,6,147,146,11,10,139,141,209,
- 67,67,67,71,67,46,299,275,138,180,
- 184,142,300,278,142,215,209,180,225,141,
- 141,5,3,5,5,5,178,365,321,180,
- 360,321,180,71,141,223,193,192,37,64,
- 61,57,48,47,12,13,50,49,141,10,
- 5,63,58,60,62,59,23,150,155,85,
- 142,320,300,256,180,141,212,225,71,71,
- 194,142,72,5,82,83,139,138,223,193,
- 5,71,78,142,178,178,299,86,73,297,
- 5,160,162,161,171,163,174,173,176,175,
- 179,74,182,73,5,86,256,180,141,72,
- 225,180,223,223,381,46,309,310,5,379,
- 1,46,142,193,282,140,139,141,138,178,
- 141,142,193,67,6,5,5,5,82,83,
- 193,140,217,196,184,178,177,194,142,5,
- 71,71,71,71,141,5,129,134,5,72,
- 142,327,84,193,13,12,142,142,142,259,
- 72,72,230,142,142,142,142,178,141,152,
- 73,217,105,112,48,47,114,113,12,128,
- 127,103,102,78,71,88,89,13,107,106,
- 109,108,110,126,125,124,123,122,121,120,
- 119,118,117,86,116,115,172,178,250,180,
- 193,35,142,251,12,182,180,275,143,84,
- 169,5,73,259,384,377,343,5,364,141,
- 188,270,76,67,77,190,367,140,139,283,
- 180,283,223,178,142,223,304,142,291,5,
- 195,163,211,207,216,213,218,220,307,230,
- 313,230,217,217,217,72,352,5,169,142,
- 142,5,247,246,150,140,139,23,141,37,
- 217,184,217,217,217,217,193,261,67,141,
- 67,261,184,327,336,141,337,212,212,304,
- 304,256,279,280,168,281,338,67,23,66,
- 271,271,142,223,169,169,161,161,160,160,
- 160,163,163,163,163,163,163,162,162,173,
- 171,171,175,174,176,295,184,179,142,178,
- 142,186,349,350,12,1,73,169,5,46,
- 1,193,142,283,283,142,142,230,142,323,
- 138,324,266,267,268,269,374,259,23,195,
- 103,102,71,13,107,106,109,108,110,126,
- 125,124,123,122,121,120,119,118,117,86,
- 116,115,73,6,169,169,169,219,5,353,
- 194,172,356,94,92,1,184,14,101,99,
- 97,95,90,98,100,93,91,76,85,256,
- 260,142,5,141,193,156,5,78,78,78,
- 78,230,295,141,223,193,328,73,223,5,
- 12,142,169,86,260,225,5,142,73,73,
- 78,71,282,282,271,275,84,84,142,349,
- 35,186,12,1,378,230,366,84,287,225,
- 139,285,180,142,142,84,323,322,86,73,
- 141,78,163,163,163,207,195,195,213,211,
- 216,184,218,217,142,142,14,84,382,251,
- 84,5,5,5,233,5,138,184,138,196,
- 279,142,193,67,217,5,5,5,5,140,
- 139,244,10,67,142,261,212,187,142,86,
- 86,142,256,142,86,86,363,186,186,73,
- 143,73,84,86,180,285,180,164,369,270,
- 36,141,322,193,163,84,169,315,318,72,
- 224,84,104,84,272,194,142,272,358,168,
- 90,272,142,169,279,230,169,184,184,184,
- 184,5,5,6,138,140,329,130,142,263,
- 338,243,73,285,180,73,141,36,370,223,
- 230,142,5,72,184,169,225,169,357,142,
- 5,169,329,142,169,140,261,261,6,5,
- 142,78,243,14,223,141,141,315,261,251,
- 86,233,185,320,184,263,142,104,375,194,
- 74,66,223,223,136,355,169,142,263,169,
- 169,142,5,282,169,142,376,86,73
- };
- };
- public final static char inSymb[] = InSymb.inSymb;
- public final int inSymb(int index) { return inSymb[index]; }
+ public final static char asb[] = Asb.asb;
- public interface Name {
- public final static String name[] = {
- "",
- "[",
- "(",
- ".",
- ".*",
- "->",
- "->*",
- "++",
- "--",
- "&",
- "*",
- "+",
- "-",
- "~",
- "!",
- "/",
- "%",
- ">>",
- "<<",
- "<",
- ">",
- "<=",
- ">=",
- "==",
- "!=",
- "^",
- "|",
- "&&",
- "||",
- "?",
- ":",
- "::",
- "...",
- "=",
- "*=",
- "/=",
- "%=",
- "+=",
- "-=",
- ">>=",
- "<<=",
- "&=",
- "^=",
- "|=",
- ",",
- ">?",
- "<?",
- "$empty",
- "_Complex",
- "_Imaginary",
- "restrict",
- "asm",
- "auto",
- "bool",
- "break",
- "case",
- "catch",
- "char",
- "class",
- "const",
- "const_cast",
- "continue",
- "default",
- "delete",
- "do",
- "double",
- "dynamic_cast",
- "else",
- "enum",
- "explicit",
- "export",
- "extern",
- "false",
- "float",
- "for",
- "friend",
- "goto",
- "if",
- "inline",
- "int",
- "long",
- "mutable",
- "namespace",
- "new",
- "operator",
- "private",
- "protected",
- "public",
- "register",
- "reinterpret_cast",
- "return",
- "short",
- "signed",
- "sizeof",
- "static",
- "static_cast",
- "struct",
- "switch",
- "template",
- "this",
- "throw",
- "try",
- "true",
- "typedef",
- "typeid",
- "typename",
- "union",
- "unsigned",
- "using",
- "virtual",
- "void",
- "volatile",
- "wchar_t",
- "while",
- "integer",
- "floating",
- "charconst",
- "stringlit",
- "identifier",
- "Completion",
- "EndOfCompletion",
- "Invalid",
- "RightBracket",
- "RightParen",
- "RightBrace",
- "SemiColon",
- "LeftBrace",
- "typeof",
- "__alignof__",
- "__attribute__",
- "__declspec",
- "vector",
- "pixel",
- "_Decimal32",
- "_Decimal64",
- "_Decimal128",
- "__static_assert",
- "ERROR_TOKEN",
- "EOF_TOKEN",
- "]",
- ")",
- "}",
- ";",
- "{",
- "identifier_token",
- "literal",
- "expression",
- "id_expression",
- "qualified_or_unqualified_name",
- "unqualified_id_name",
- "identifier_name",
- "template_id_name",
- "nested_name_specifier",
- "class_or_namespace_name",
- "nested_name_specifier_with_tem" +
- "plate",
- "class_or_namespace_name_with_t" +
- "emplate",
- "class_name",
- "postfix_expression",
- "simple_type_specifier",
- "pseudo_destructor_name",
- "type_id",
- "type_name",
- "destructor_type_name",
- "unary_expression",
- "cast_expression",
- "new_type_id",
- "expression_list",
- "type_specifier_seq",
- "new_declarator",
- "new_pointer_operators",
- "ptr_operator",
- "new_array_expressions",
- "constant_expression",
- "pm_expression",
- "multiplicative_expression",
- "additive_expression",
- "shift_expression",
- "relational_expression",
- "equality_expression",
- "and_expression",
- "exclusive_or_expression",
- "inclusive_or_expression",
- "logical_and_expression",
- "logical_or_expression",
- "assignment_expression",
- "relational_expression_inTempla" +
- "te",
- "equality_expression_inTemplate",
- "and_expression_inTemplate",
- "exclusive_or_expression_inTemp" +
- "late",
- "inclusive_or_expression_inTemp" +
- "late",
- "logical_and_expression_inTempl" +
- "ate",
- "logical_or_expression_inTempla" +
- "te",
- "assignment_expression_inTempla" +
- "te",
- "expression_list_actual",
- "statement",
- "compound_statement",
- "statement_seq",
- "condition",
- "declarator",
- "for_init_statement",
- "function_definition",
- "declaration",
- "declaration_seq",
- "declaration_specifiers",
- "simple_declaration_specifiers",
- "class_declaration_specifiers",
- "elaborated_declaration_specifi" +
- "ers",
- "enum_declaration_specifiers",
- "type_name_declaration_specifie" +
- "rs",
- "no_type_declaration_specifier",
- "cv_qualifier",
- "no_type_declaration_specifiers",
- "class_specifier",
- "elaborated_type_specifier",
- "enum_specifier",
- "type_name_specifier",
- "class_keyword",
- "enumerator_list",
- "enumerator_definition",
- "namespace_name",
- "init_declarator_list",
- "init_declarator_complete",
- "complete_declarator",
- "initializer",
- "direct_declarator",
- "ptr_operator_seq",
- "function_declarator",
- "basic_direct_declarator",
- "array_direct_declarator",
- "array_modifier",
- "abstract_declarator",
- "direct_abstract_declarator",
- "basic_direct_abstract_declarat" +
- "or",
- "array_direct_abstract_declarat" +
- "or",
- "parameter_declaration_list",
- "parameter_declaration",
- "parameter_init_declarator",
- "parameter_initializer",
- "function_body",
- "handler_seq",
- "initializer_clause",
- "initializer_list",
- "initializer_seq",
- "class_head",
- "access_specifier_keyword",
- "member_declaration",
- "member_declarator_list",
- "member_declaration_list",
- "member_declarator_complete",
- "constant_initializer",
- "bit_field_declarator",
- "base_specifier_list",
- "base_specifier",
- "conversion_function_id",
- "conversion_type_id",
- "conversion_declarator",
- "mem_initializer_list",
- "mem_initializer",
- "mem_initializer_name",
- "operator_id_name",
- "overloadable_operator",
- "template_parameter_list",
- "template_parameter",
- "template_argument_list",
- "template_argument",
- "type_name_specifier_inTemplate",
- "type_name_declaration_specifie" +
- "rs_inTemplate",
- "type_specifier_seq_inTemplate",
- "handler",
- "exception_declaration",
- "type_id_list",
- "attribute_or_decl_specifier",
- "attribute_or_decl_specifier_se" +
- "q",
- "word",
- "extended_decl_modifier_seq",
- "extended_decl_modifier",
- "extended_asm_param",
- "case_range_expression",
- "typeof_declaration_specifiers",
- "typeof_type_specifier",
- "vector_type",
- "vector_type_specifier",
- "all_specifier_qualifiers",
- "all_specifier_qualifier_list",
- "array_modifier_type_qualifiers",
- "type_qualifier_list"
- };
- };
- public final static String name[] = Name.name;
- public final String name(int index) { return name[index]; }
+ public final int asb(int index) {
+ return asb[index];
+ }
- public final static int
- ERROR_SYMBOL = 81,
- SCOPE_UBOUND = 161,
- SCOPE_SIZE = 162,
- MAX_NAME_LENGTH = 43;
+ public interface Asr {
+ public final static char asr[] = { 0, 5, 33, 0, 135, 0, 11, 10, 67, 1, 4, 3, 2, 6, 0, 24, 25, 15, 16, 58, 82,
+ 26, 59, 51, 17, 18, 19, 83, 11, 60, 20, 21, 61, 62, 52, 74, 53, 63, 23, 22, 27, 28, 54, 55, 56, 46, 1,
+ 4, 5, 49, 50, 13, 12, 47, 48, 10, 57, 6, 37, 64, 3, 2, 29, 30, 31, 84, 0, 46, 67, 0, 85, 5, 78, 104, 86,
+ 73, 79, 65, 72, 84, 14, 75, 8, 9, 7, 0, 14, 73, 79, 1, 32, 0, 78, 86, 73, 1, 4, 3, 2, 0, 14, 84, 75, 85,
+ 0, 82, 83, 74, 49, 50, 13, 12, 47, 48, 10, 57, 61, 64, 37, 5, 6, 11, 54, 55, 56, 46, 53, 51, 52, 24, 25,
+ 16, 28, 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31, 23, 59, 62, 60, 58, 63, 87, 1, 4, 3, 2, 75, 14,
+ 0, 131, 132, 133, 84, 87, 11, 14, 5, 13, 12, 10, 65, 81, 76, 96, 77, 80, 24, 25, 34, 7, 38, 15, 16, 66,
+ 32, 26, 68, 39, 40, 17, 41, 42, 18, 19, 43, 44, 20, 21, 35, 69, 67, 45, 23, 70, 22, 27, 33, 28, 37, 8,
+ 9, 29, 30, 31, 1, 4, 3, 2, 36, 6, 0, 58, 82, 59, 51, 83, 60, 61, 62, 52, 74, 53, 63, 54, 55, 56, 46, 57,
+ 64, 37, 23, 68, 66, 69, 70, 16, 28, 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31, 24, 25, 85, 84, 104,
+ 111, 87, 75, 134, 129, 49, 50, 112, 105, 47, 48, 113, 114, 88, 89, 71, 78, 102, 103, 106, 107, 108, 109,
+ 110, 115, 116, 86, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 73, 127, 128, 34, 38, 32, 39, 40,
+ 41, 42, 43, 44, 35, 45, 36, 33, 65, 14, 79, 72, 11, 5, 10, 13, 12, 8, 9, 7, 6, 4, 3, 2, 1, 0, 58, 82,
+ 59, 51, 83, 11, 60, 61, 62, 52, 74, 53, 63, 54, 55, 56, 46, 49, 50, 13, 12, 47, 48, 10, 57, 78, 64, 5,
+ 37, 6, 23, 1, 4, 3, 2, 68, 66, 69, 70, 24, 25, 16, 28, 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31,
+ 38, 44, 35, 40, 43, 42, 36, 39, 7, 9, 8, 41, 45, 32, 33, 34, 0, 36, 1, 4, 6, 3, 2, 131, 132, 133, 0, 82,
+ 83, 5, 23, 59, 62, 60, 58, 63, 16, 28, 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31, 24, 25, 54, 55,
+ 56, 46, 53, 51, 52, 10, 11, 6, 49, 50, 13, 12, 47, 48, 57, 61, 64, 37, 74, 35, 1, 4, 3, 2, 111, 14, 0,
+ 24, 25, 15, 16, 58, 82, 26, 59, 51, 17, 18, 19, 83, 11, 60, 20, 21, 61, 62, 52, 74, 53, 63, 23, 22, 27,
+ 28, 54, 55, 56, 46, 1, 4, 5, 49, 50, 47, 48, 10, 57, 6, 37, 64, 3, 2, 29, 30, 31, 65, 14, 12, 13, 0, 74,
+ 34, 32, 33, 35, 82, 83, 111, 14, 49, 50, 13, 12, 47, 48, 10, 57, 61, 64, 37, 5, 6, 11, 24, 25, 16, 28,
+ 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31, 23, 59, 62, 60, 58, 63, 1, 4, 3, 2, 54, 55, 56, 53, 51,
+ 52, 46, 0, 7, 14, 75, 8, 9, 86, 0, 7, 78, 84, 104, 111, 87, 65, 8, 9, 73, 14, 79, 24, 25, 15, 16, 58,
+ 26, 59, 51, 17, 18, 19, 60, 20, 21, 61, 62, 52, 74, 53, 63, 23, 22, 27, 28, 54, 55, 56, 46, 5, 49, 50,
+ 13, 12, 47, 48, 57, 6, 37, 64, 29, 30, 31, 11, 10, 1, 4, 2, 83, 82, 3, 0, 24, 25, 34, 38, 15, 16, 66,
+ 32, 26, 68, 39, 96, 40, 17, 41, 42, 18, 19, 43, 76, 44, 20, 21, 35, 69, 45, 23, 70, 22, 77, 36, 27, 33,
+ 28, 5, 13, 6, 65, 37, 29, 30, 31, 80, 81, 75, 14, 12, 8, 9, 7, 11, 10, 1, 4, 3, 2, 67, 0, 74, 85, 134,
+ 129, 49, 50, 84, 104, 111, 87, 39, 40, 41, 42, 43, 11, 44, 35, 45, 36, 33, 1, 4, 72, 5, 32, 38, 10, 6,
+ 7, 34, 8, 9, 3, 2, 112, 105, 47, 48, 113, 114, 127, 128, 12, 79, 65, 75, 14, 89, 88, 71, 102, 103, 106,
+ 107, 13, 108, 109, 110, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 86, 78, 73, 0, 111,
+ 65, 73, 79, 14, 84, 0, 112, 105, 12, 113, 114, 47, 48, 89, 88, 71, 102, 103, 127, 128, 106, 107, 13,
+ 108, 109, 110, 78, 79, 86, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 84, 104, 111, 87, 115, 116,
+ 8, 9, 7, 73, 65, 14, 0, 1, 4, 3, 2, 73, 14, 87, 0, 84, 73, 79, 14, 5, 0, 79, 14, 1, 46, 0, 6, 8, 9, 7,
+ 71, 14, 84, 75, 0, 6, 14, 84, 75, 8, 9, 7, 0, 130, 0, 6, 67, 84, 14, 75, 8, 9, 7, 1, 4, 3, 2, 0, 34, 32,
+ 33, 74, 85, 78, 84, 104, 79, 75, 5, 7, 14, 73, 65, 8, 9, 86, 0, 14, 75, 73, 0, 34, 32, 33, 74, 14, 104,
+ 86, 73, 79, 78, 0, 14, 73, 87, 86, 0, 78, 102, 103, 71, 0, 84, 7, 72, 8, 9, 71, 14, 73, 65, 86, 5, 0,
+ 79, 96, 131, 132, 133, 67, 84, 135, 130, 136, 87, 81, 85, 80, 77, 76, 91, 93, 100, 98, 90, 95, 97, 99,
+ 101, 75, 92, 94, 65, 14, 68, 66, 69, 70, 38, 44, 35, 40, 43, 42, 36, 39, 7, 9, 8, 41, 45, 34, 32, 33,
+ 74, 82, 83, 23, 59, 62, 60, 58, 63, 5, 28, 26, 27, 29, 30, 31, 24, 25, 54, 55, 56, 46, 53, 51, 52, 10,
+ 11, 6, 49, 50, 13, 12, 47, 48, 57, 61, 64, 37, 1, 4, 3, 2, 17, 15, 21, 22, 16, 20, 18, 19, 0, 84, 104,
+ 0, 79, 14, 89, 88, 0, 14, 84, 79, 46, 0, 24, 25, 34, 7, 38, 15, 16, 66, 32, 26, 68, 39, 40, 17, 41, 42,
+ 18, 19, 43, 44, 20, 21, 35, 69, 45, 23, 70, 22, 36, 27, 33, 28, 1, 4, 6, 37, 8, 9, 3, 2, 29, 30, 31,
+ 104, 0, 6, 14, 75, 8, 9, 7, 1, 4, 3, 2, 0, 37, 83, 82, 47, 48, 113, 114, 108, 109, 10, 57, 86, 71, 120,
+ 121, 117, 118, 119, 125, 124, 126, 89, 88, 122, 123, 106, 107, 102, 103, 110, 115, 49, 50, 105, 129, 23,
+ 68, 66, 69, 70, 16, 28, 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31, 24, 25, 38, 44, 35, 40, 43, 42,
+ 36, 39, 32, 33, 34, 41, 45, 78, 73, 1, 4, 13, 6, 3, 2, 5, 72, 8, 9, 7, 12, 0, 34, 7, 38, 66, 32, 68, 39,
+ 40, 41, 42, 43, 44, 35, 69, 45, 70, 36, 33, 8, 9, 74, 82, 83, 49, 50, 13, 12, 47, 48, 57, 61, 64, 37, 5,
+ 54, 55, 56, 46, 53, 51, 52, 24, 25, 16, 28, 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31, 59, 62, 60,
+ 58, 63, 75, 14, 23, 6, 11, 1, 4, 3, 2, 10, 0, 7, 13, 12, 8, 9, 11, 10, 6, 1, 4, 3, 2, 5, 72, 78, 86, 73,
+ 14, 79, 104, 0, 10, 11, 5, 72, 12, 13, 104, 24, 25, 34, 7, 38, 15, 16, 32, 26, 68, 39, 40, 17, 41, 42,
+ 18, 19, 43, 44, 20, 21, 35, 69, 45, 23, 70, 22, 36, 27, 33, 28, 1, 4, 6, 37, 8, 9, 3, 2, 29, 30, 31, 79,
+ 14, 66, 0, 78, 73, 37, 23, 68, 66, 69, 70, 24, 25, 34, 7, 38, 15, 16, 32, 26, 39, 40, 17, 41, 42, 18,
+ 19, 43, 11, 44, 20, 21, 35, 45, 22, 36, 27, 33, 28, 4, 72, 13, 12, 10, 6, 65, 8, 9, 3, 2, 29, 30, 31, 5,
+ 1, 79, 14, 0, 32, 26, 68, 39, 17, 41, 18, 19, 43, 44, 20, 21, 69, 45, 70, 22, 36, 27, 33, 28, 66, 16,
+ 15, 37, 38, 34, 25, 24, 29, 30, 31, 14, 5, 13, 12, 65, 80, 77, 96, 40, 35, 42, 81, 71, 8, 9, 7, 67, 11,
+ 1, 4, 10, 6, 3, 2, 23, 76, 0, 87, 24, 25, 34, 38, 15, 16, 66, 32, 26, 68, 39, 17, 41, 18, 19, 43, 44,
+ 20, 21, 69, 45, 23, 70, 22, 36, 27, 33, 28, 37, 29, 30, 31, 135, 81, 76, 40, 35, 42, 96, 77, 80, 67, 7,
+ 14, 13, 65, 8, 9, 10, 11, 4, 3, 2, 6, 5, 1, 12, 0, 82, 83, 49, 50, 13, 12, 47, 48, 10, 57, 61, 64, 37,
+ 6, 11, 54, 55, 56, 46, 53, 51, 52, 24, 25, 16, 28, 15, 20, 18, 19, 21, 22, 17, 26, 27, 29, 30, 31, 23,
+ 59, 62, 60, 58, 63, 72, 1, 4, 3, 2, 5, 0, 65, 14, 5, 11, 10, 84, 13, 12, 6, 1, 4, 3, 2, 8, 9, 7, 0, 11,
+ 10, 17, 15, 21, 22, 16, 20, 18, 19, 38, 44, 35, 40, 43, 42, 36, 39, 32, 33, 34, 41, 45, 78, 7, 1, 4, 13,
+ 12, 6, 8, 9, 3, 2, 72, 5, 79, 14, 73, 0 };
+ };
- public final int getErrorSymbol() { return ERROR_SYMBOL; }
- public final int getScopeUbound() { return SCOPE_UBOUND; }
- public final int getScopeSize() { return SCOPE_SIZE; }
- public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
+ public final static char asr[] = Asr.asr;
- public final static int
- NUM_STATES = 719,
- NT_OFFSET = 137,
- LA_STATE_OFFSET = 10615,
- MAX_LA = 2147483647,
- NUM_RULES = 715,
- NUM_NONTERMINALS = 256,
- NUM_SYMBOLS = 393,
- SEGMENT_SIZE = 8192,
- START_STATE = 6546,
- IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 135,
- EOLT_SYMBOL = 135,
- ACCEPT_ACTION = 8729,
- ERROR_ACTION = 9900;
+ public final int asr(int index) {
+ return asr[index];
+ }
- public final static boolean BACKTRACK = true;
+ public interface Nasb {
+ public final static char nasb[] = { 0, 275, 13, 13, 197, 14, 16, 5, 333, 13, 13, 13, 319, 13, 158, 319, 211,
+ 191, 273, 273, 13, 13, 297, 13, 13, 13, 13, 298, 92, 298, 230, 298, 230, 298, 13, 11, 175, 298, 150,
+ 290, 197, 190, 268, 152, 13, 13, 247, 329, 13, 175, 13, 13, 319, 319, 13, 319, 219, 92, 230, 13, 238,
+ 13, 150, 120, 30, 349, 63, 63, 232, 230, 240, 240, 188, 20, 317, 199, 13, 197, 171, 273, 238, 38, 273,
+ 238, 197, 175, 12, 13, 13, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 175, 325, 258, 13, 13, 13,
+ 13, 13, 273, 13, 13, 197, 36, 120, 13, 224, 232, 175, 13, 317, 197, 197, 124, 5, 116, 317, 13, 13, 13,
+ 13, 12, 72, 197, 197, 319, 319, 197, 197, 92, 273, 18, 13, 258, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 150, 13, 191, 65, 86, 224, 238, 175, 110, 230, 238, 186, 152, 317, 13, 13, 256, 68, 43, 13, 317, 340,
+ 172, 230, 230, 13, 240, 92, 197, 240, 48, 56, 172, 59, 258, 258, 258, 150, 46, 72, 13, 317, 317, 317,
+ 105, 203, 203, 1, 260, 261, 261, 261, 261, 175, 76, 22, 22, 76, 211, 36, 127, 178, 182, 230, 230, 48,
+ 48, 349, 290, 116, 116, 152, 359, 359, 275, 275, 197, 240, 317, 150, 317, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 32, 150, 317, 197, 92, 233, 230, 149, 99, 116, 111, 13, 238, 120, 120, 188,
+ 120, 13, 188, 298, 256, 317, 13, 317, 106, 175, 120, 13, 185, 13, 14, 332, 340, 230, 230, 197, 238, 197,
+ 56, 197, 330, 12, 13, 251, 203, 144, 13, 13, 13, 13, 13, 13, 13, 13, 13, 172, 13, 12, 317, 317, 317,
+ 116, 262, 65, 286, 207, 349, 202, 63, 63, 13, 13, 13, 11, 175, 150, 317, 317, 13, 13, 13, 13, 71, 317,
+ 151, 175, 151, 317, 116, 127, 13, 240, 13, 13, 197, 13, 13, 228, 317, 13, 266, 13, 13, 13, 74, 74, 106,
+ 106, 275, 186, 120, 281, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 106, 197, 99, 116, 111, 122, 13, 317, 68, 317, 150, 317, 317, 72, 190, 197, 197, 41, 41, 172,
+ 330, 28, 13, 13, 297, 298, 298, 298, 298, 306, 11, 13, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 211, 150, 48, 59, 286, 286, 286, 150, 261, 197, 132,
+ 317, 214, 13, 161, 13, 120, 13, 13, 13, 13, 215, 13, 330, 118, 120, 120, 330, 141, 300, 317, 347, 197,
+ 175, 72, 13, 258, 13, 13, 13, 13, 172, 12, 175, 168, 72, 197, 178, 12, 76, 230, 122, 197, 150, 13, 13,
+ 265, 349, 359, 359, 319, 197, 13, 13, 106, 120, 150, 150, 86, 150, 150, 116, 111, 317, 317, 152, 120,
+ 150, 13, 139, 13, 230, 232, 41, 41, 101, 28, 106, 150, 330, 175, 150, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 317, 156, 228, 13, 215, 13, 13, 215, 353, 353, 357, 13, 353, 120, 120, 13, 197, 317, 359,
+ 70, 172, 317, 211, 211, 211, 211, 13, 13, 13, 329, 172, 97, 317, 197, 122, 122, 150, 150, 347, 222, 359,
+ 261, 261, 106, 116, 116, 150, 120, 191, 150, 150, 238, 230, 232, 13, 13, 273, 108, 240, 106, 56, 317,
+ 150, 197, 79, 13, 211, 228, 215, 150, 215, 317, 268, 1, 317, 243, 197, 13, 317, 97, 197, 317, 172, 286,
+ 317, 317, 317, 317, 76, 76, 169, 13, 13, 130, 13, 122, 197, 13, 81, 85, 230, 238, 135, 240, 273, 273,
+ 12, 172, 156, 76, 150, 116, 215, 13, 215, 120, 191, 211, 215, 130, 122, 197, 13, 317, 317, 169, 262, 83,
+ 13, 81, 13, 12, 240, 240, 79, 317, 116, 150, 13, 94, 120, 317, 197, 122, 317, 317, 197, 13, 74, 12, 12,
+ 215, 317, 120, 83, 197, 141, 141, 266, 314, 13, 215, 83, 317, 151, 261 };
+ };
- public final int getNumStates() { return NUM_STATES; }
- public final int getNtOffset() { return NT_OFFSET; }
- public final int getLaStateOffset() { return LA_STATE_OFFSET; }
- public final int getMaxLa() { return MAX_LA; }
- public final int getNumRules() { return NUM_RULES; }
- public final int getNumNonterminals() { return NUM_NONTERMINALS; }
- public final int getNumSymbols() { return NUM_SYMBOLS; }
- public final int getSegmentSize() { return SEGMENT_SIZE; }
- public final int getStartState() { return START_STATE; }
- public final int getStartSymbol() { return lhs[0]; }
- public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
- public final int getEoftSymbol() { return EOFT_SYMBOL; }
- public final int getEoltSymbol() { return EOLT_SYMBOL; }
- public final int getAcceptAction() { return ACCEPT_ACTION; }
- public final int getErrorAction() { return ERROR_ACTION; }
- public final boolean isValidForParser() { return isValidForParser; }
- public final boolean getBacktrack() { return BACKTRACK; }
+ public final static char nasb[] = Nasb.nasb;
- public final int originalState(int state) {
- return -baseCheck[state];
- }
- public final int asi(int state) {
- return asb[originalState(state)];
- }
- public final int nasi(int state) {
- return nasb[originalState(state)];
- }
- public final int inSymbol(int state) {
- return inSymb[originalState(state)];
- }
+ public final int nasb(int index) {
+ return nasb[index];
+ }
- public final int ntAction(int state, int sym) {
- return baseAction[state + sym];
- }
+ public interface Nasr {
+ public final static char nasr[] = { 0, 3, 13, 10, 9, 122, 157, 132, 118, 131, 130, 4, 2, 0, 188, 0, 243, 0, 15,
+ 0, 173, 0, 4, 2, 9, 10, 177, 0, 185, 0, 224, 0, 5, 47, 158, 0, 190, 0, 41, 1, 0, 147, 0, 32, 208, 0,
+ 215, 0, 4, 10, 9, 2, 13, 154, 5, 0, 2, 93, 0, 93, 176, 175, 0, 95, 0, 5, 35, 0, 206, 0, 2, 158, 93, 0,
+ 145, 0, 5, 124, 0, 179, 0, 193, 0, 164, 0, 106, 4, 10, 9, 2, 13, 113, 41, 0, 5, 218, 0, 192, 0, 213, 0,
+ 4, 133, 232, 0, 5, 106, 0, 233, 0, 5, 4, 10, 9, 2, 13, 82, 0, 5, 47, 48, 0, 50, 0, 5, 235, 0, 41, 191,
+ 0, 156, 0, 5, 217, 0, 4, 133, 196, 0, 231, 0, 41, 59, 0, 41, 57, 40, 47, 59, 5, 13, 4, 10, 9, 2, 0, 181,
+ 0, 43, 1, 0, 13, 2, 9, 10, 4, 245, 0, 2, 159, 0, 56, 2, 3, 0, 2, 56, 0, 200, 4, 199, 0, 43, 93, 0, 43,
+ 138, 0, 172, 0, 119, 43, 78, 4, 2, 9, 10, 5, 0, 242, 32, 0, 32, 109, 110, 5, 0, 40, 53, 41, 219, 5, 47,
+ 0, 106, 47, 53, 40, 96, 41, 5, 0, 110, 109, 10, 9, 2, 78, 4, 87, 43, 0, 5, 4, 10, 9, 2, 78, 27, 0, 2,
+ 86, 0, 57, 5, 220, 0, 5, 57, 236, 0, 237, 132, 118, 131, 130, 122, 0, 41, 59, 47, 40, 5, 57, 0, 32, 110,
+ 109, 78, 2, 9, 10, 5, 4, 0, 136, 92, 53, 5, 40, 0, 4, 10, 9, 2, 13, 113, 41, 112, 0, 2, 4, 118, 115,
+ 116, 117, 128, 13, 67, 0, 110, 109, 43, 4, 87, 0, 118, 67, 13, 115, 116, 117, 204, 0, 57, 40, 5, 32, 0,
+ 5, 40, 53, 92, 103, 0, 4, 10, 9, 13, 3, 1, 0, 48, 4, 2, 9, 10, 5, 189, 0, 5, 53, 92, 133, 51, 4, 0, 31,
+ 5, 4, 43, 119, 0, 5, 57, 135, 0, 47, 221, 31, 5, 0 };
+ };
- public final int tAction(int state, int sym) {
- int i = baseAction[state],
- k = i + sym;
- return termAction[termCheck[k] == sym ? k : i];
- }
- public final int lookAhead(int la_state, int sym) {
- int k = la_state + sym;
- return termAction[termCheck[k] == sym ? k : la_state];
- }
+ public final static char nasr[] = Nasr.nasr;
+
+ public final int nasr(int index) {
+ return nasr[index];
+ }
+
+ public interface TerminalIndex {
+ public final static char terminalIndex[] = { 0, 118, 132, 131, 119, 2, 31, 51, 129, 130, 13, 84, 10, 9, 120, 53,
+ 57, 73, 79, 80, 91, 92, 107, 105, 48, 49, 65, 110, 112, 133, 134, 135, 59, 111, 50, 94, 109, 127, 52,
+ 69, 71, 75, 78, 81, 88, 103, 117, 11, 12, 7, 8, 72, 99, 102, 114, 115, 116, 14, 60, 66, 89, 93, 95, 104,
+ 128, 125, 58, 98, 68, 96, 106, 19, 1, 44, 100, 126, 82, 108, 20, 123, 136, 137, 63, 83, 30, 101, 33,
+ 124, 17, 18, 113, 54, 55, 61, 62, 64, 70, 74, 76, 77, 90, 97, 21, 22, 32, 6, 23, 24, 25, 26, 27, 122, 4,
+ 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 5, 56, 85, 86, 87, 3, 138, 67, 121 };
+ };
+
+ public final static char terminalIndex[] = TerminalIndex.terminalIndex;
+
+ public final int terminalIndex(int index) {
+ return terminalIndex[index];
+ }
+
+ public interface NonterminalIndex {
+ public final static char nonterminalIndex[] = { 0, 144, 150, 151, 0, 0, 149, 0, 0, 253, 259, 148, 0, 158, 0,
+ 145, 147, 0, 157, 163, 0, 0, 164, 173, 174, 175, 176, 271, 0, 0, 0, 203, 140, 0, 177, 166, 178, 179,
+ 180, 181, 280, 143, 182, 272, 156, 183, 0, 146, 142, 184, 210, 200, 0, 0, 0, 153, 152, 167, 185, 195, 0,
+ 0, 0, 0, 0, 0, 0, 209, 0, 0, 186, 0, 227, 0, 187, 0, 188, 224, 228, 189, 160, 190, 139, 191, 0, 192, 0,
+ 170, 198, 0, 0, 0, 0, 0, 0, 229, 194, 0, 0, 0, 0, 0, 0, 201, 0, 0, 141, 161, 231, 232, 233, 0, 241, 0,
+ 172, 212, 213, 214, 216, 225, 235, 243, 211, 230, 0, 215, 0, 0, 279, 204, 205, 206, 207, 244, 0, 197,
+ 202, 208, 219, 221, 0, 222, 0, 0, 234, 0, 0, 0, 248, 0, 250, 0, 264, 0, 267, 0, 268, 278, 0, 162, 193,
+ 218, 0, 220, 0, 237, 240, 0, 262, 0, 263, 0, 276, 281, 0, 154, 155, 159, 0, 0, 169, 171, 0, 0, 0, 0, 0,
+ 217, 0, 226, 0, 238, 239, 0, 0, 245, 252, 0, 256, 257, 258, 261, 0, 0, 265, 0, 273, 0, 275, 0, 0, 282,
+ 284, 285, 0, 0, 165, 168, 0, 196, 0, 199, 0, 0, 223, 236, 242, 0, 0, 246, 247, 249, 251, 0, 254, 255,
+ 260, 266, 269, 270, 0, 0, 274, 0, 0, 277, 0, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ };
+
+ public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
+
+ public final int nonterminalIndex(int index) {
+ return nonterminalIndex[index];
+ }
+
+ public interface ScopePrefix {
+ public final static char scopePrefix[] = { 314, 476, 778, 797, 465, 494, 729, 745, 756, 767, 548, 10, 18, 420,
+ 434, 451, 512, 184, 445, 568, 606, 322, 786, 672, 28, 149, 162, 193, 213, 222, 227, 232, 285, 350, 507,
+ 518, 149, 640, 122, 299, 426, 440, 700, 169, 299, 558, 149, 805, 169, 372, 401, 24, 40, 58, 90, 90, 114,
+ 118, 130, 141, 156, 203, 218, 246, 156, 537, 541, 624, 665, 694, 721, 725, 815, 819, 823, 237, 134, 237,
+ 586, 602, 615, 633, 652, 713, 1, 256, 256, 384, 472, 615, 736, 752, 763, 774, 362, 683, 70, 82, 111,
+ 198, 198, 311, 377, 64, 198, 398, 417, 64, 64, 198, 545, 662, 669, 311, 198, 838, 46, 52, 64, 105, 250,
+ 523, 590, 630, 52, 33, 645, 198, 265, 457, 523, 265, 265, 484, 577, 332, 484, 75, 75, 96, 96, 244, 96,
+ 96, 96, 96, 628, 827, 834, 75, 75, 100, 393, 827, 834, 207, 596, 292, 244, 393, 244, 406 };
+ };
+
+ public final static char scopePrefix[] = ScopePrefix.scopePrefix;
+
+ public final int scopePrefix(int index) {
+ return scopePrefix[index];
+ }
+
+ public interface ScopeSuffix {
+ public final static char scopeSuffix[] = { 145, 290, 94, 94, 290, 290, 94, 94, 94, 94, 555, 16, 16, 290, 44,
+ 290, 154, 190, 431, 574, 612, 328, 209, 678, 16, 154, 167, 167, 167, 201, 201, 44, 290, 355, 160, 160,
+ 154, 94, 127, 304, 431, 241, 705, 180, 307, 563, 792, 810, 174, 366, 366, 16, 44, 62, 94, 94, 94, 94,
+ 94, 145, 160, 94, 201, 44, 160, 44, 44, 290, 16, 94, 94, 94, 94, 94, 16, 836, 138, 241, 555, 555, 555,
+ 637, 656, 705, 5, 260, 274, 388, 460, 619, 740, 740, 740, 740, 366, 687, 73, 73, 94, 201, 201, 94, 94,
+ 380, 382, 16, 94, 62, 62, 382, 44, 94, 16, 94, 698, 94, 49, 55, 67, 108, 253, 526, 593, 108, 659, 36,
+ 648, 717, 260, 460, 708, 268, 279, 501, 580, 335, 487, 80, 88, 98, 147, 44, 529, 531, 533, 535, 44, 829,
+ 829, 77, 85, 102, 395, 831, 831, 209, 598, 294, 357, 388, 342, 408 };
+ };
+
+ public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
+
+ public final int scopeSuffix(int index) {
+ return scopeSuffix[index];
+ }
+
+ public interface ScopeLhs {
+ public final static char scopeLhs[] = { 51, 117, 18, 18, 91, 117, 18, 18, 18, 18, 99, 95, 95, 105, 52, 91, 116,
+ 89, 63, 99, 98, 51, 18, 20, 95, 204, 3, 7, 8, 196, 196, 195, 115, 51, 116, 116, 125, 58, 28, 112, 64,
+ 52, 177, 169, 112, 99, 18, 18, 169, 111, 71, 95, 66, 88, 128, 19, 19, 205, 171, 102, 204, 199, 196, 195,
+ 125, 222, 61, 59, 181, 19, 18, 18, 18, 18, 18, 12, 156, 195, 99, 98, 98, 84, 46, 177, 54, 121, 121, 87,
+ 91, 98, 18, 18, 18, 18, 111, 20, 148, 141, 17, 200, 196, 224, 109, 123, 73, 95, 72, 189, 88, 125, 100,
+ 182, 181, 215, 177, 17, 66, 18, 88, 97, 195, 125, 135, 97, 22, 40, 58, 177, 121, 91, 177, 121, 121, 117,
+ 99, 51, 117, 148, 141, 157, 237, 195, 137, 132, 131, 130, 94, 175, 56, 148, 141, 245, 87, 175, 56, 199,
+ 135, 115, 51, 87, 51, 71 };
+ };
+
+ public final static char scopeLhs[] = ScopeLhs.scopeLhs;
+
+ public final int scopeLhs(int index) {
+ return scopeLhs[index];
+ }
+
+ public interface ScopeLa {
+ public final static char scopeLa[] = { 130, 87, 79, 79, 87, 87, 79, 79, 79, 79, 79, 111, 111, 87, 65, 87, 1, 78,
+ 1, 79, 136, 75, 5, 79, 111, 1, 78, 78, 78, 1, 1, 65, 87, 75, 1, 1, 1, 79, 79, 87, 1, 1, 6, 78, 73, 65,
+ 1, 1, 78, 79, 79, 111, 65, 1, 79, 79, 79, 79, 79, 130, 1, 79, 1, 65, 1, 65, 65, 87, 111, 79, 79, 79, 79,
+ 79, 111, 1, 79, 1, 79, 79, 79, 84, 84, 6, 73, 1, 1, 12, 75, 79, 78, 78, 78, 78, 79, 5, 8, 8, 79, 1, 1,
+ 79, 79, 5, 1, 111, 79, 1, 1, 1, 65, 79, 111, 79, 10, 79, 1, 79, 8, 84, 1, 67, 86, 84, 79, 3, 78, 1, 1,
+ 75, 67, 1, 1, 75, 90, 85, 1, 1, 1, 37, 1, 65, 1, 68, 66, 66, 65, 6, 6, 1, 1, 104, 13, 6, 6, 5, 1, 75, 1,
+ 12, 1, 5 };
+ };
+
+ public final static char scopeLa[] = ScopeLa.scopeLa;
+
+ public final int scopeLa(int index) {
+ return scopeLa[index];
+ }
+
+ public interface ScopeStateSet {
+ public final static char scopeStateSet[] = { 466, 376, 268, 268, 478, 376, 268, 268, 268, 268, 111, 124, 124,
+ 522, 466, 478, 376, 478, 510, 111, 111, 466, 268, 268, 124, 43, 190, 238, 238, 21, 21, 490, 376, 466,
+ 376, 376, 378, 61, 391, 89, 510, 466, 53, 46, 89, 111, 268, 268, 46, 128, 165, 124, 510, 171, 378, 268,
+ 268, 86, 1, 111, 43, 50, 21, 490, 378, 41, 510, 99, 18, 268, 268, 268, 268, 268, 268, 242, 8, 490, 111,
+ 111, 111, 69, 336, 53, 466, 376, 376, 450, 478, 111, 268, 268, 268, 268, 128, 268, 24, 182, 268, 50, 21,
+ 138, 128, 130, 165, 124, 165, 187, 171, 378, 111, 5, 18, 56, 53, 268, 510, 268, 171, 111, 490, 378, 13,
+ 111, 273, 493, 61, 53, 376, 478, 53, 376, 376, 376, 111, 466, 376, 24, 182, 380, 389, 490, 380, 385,
+ 385, 385, 29, 58, 140, 24, 182, 374, 450, 58, 140, 50, 13, 376, 466, 450, 466, 165 };
+ };
+
+ public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
+
+ public final int scopeStateSet(int index) {
+ return scopeStateSet[index];
+ }
+
+ public interface ScopeRhs {
+ public final static char scopeRhs[] = { 0, 184, 5, 80, 0, 44, 145, 140, 142, 0, 186, 35, 349, 142, 72, 0, 139,
+ 0, 186, 349, 142, 35, 72, 0, 186, 35, 72, 0, 186, 349, 142, 72, 0, 347, 142, 0, 131, 281, 0, 0, 300,
+ 142, 177, 0, 142, 0, 142, 177, 0, 220, 142, 0, 217, 5, 0, 140, 241, 0, 180, 256, 142, 0, 224, 0, 256,
+ 142, 0, 272, 224, 0, 285, 180, 0, 272, 0, 180, 0, 248, 272, 0, 248, 0, 225, 180, 0, 198, 272, 0, 198, 0,
+ 217, 5, 37, 0, 140, 0, 259, 0, 279, 0, 251, 0, 32, 172, 0, 382, 92, 0, 30, 194, 0, 196, 5, 0, 217, 5,
+ 64, 0, 378, 5, 343, 0, 377, 5, 5, 8, 0, 140, 140, 0, 376, 5, 74, 0, 375, 5, 130, 0, 140, 195, 0, 142,
+ 196, 85, 0, 239, 0, 265, 0, 230, 193, 141, 23, 0, 151, 0, 193, 141, 23, 0, 150, 0, 304, 142, 71, 139, 0,
+ 20, 0, 338, 142, 71, 67, 0, 20, 58, 0, 33, 147, 0, 20, 58, 0, 0, 338, 142, 71, 67, 229, 0, 20, 201, 0,
+ 304, 142, 71, 147, 0, 223, 141, 0, 156, 0, 261, 5, 337, 0, 337, 0, 2, 0, 140, 0, 304, 142, 71, 146, 0,
+ 223, 141, 270, 0, 223, 141, 36, 270, 0, 223, 141, 370, 36, 0, 143, 230, 193, 141, 0, 230, 193, 141, 0,
+ 149, 142, 0, 190, 0, 366, 142, 190, 0, 142, 190, 0, 246, 142, 0, 193, 365, 255, 0, 151, 0, 0, 0, 0, 365,
+ 255, 0, 152, 151, 0, 0, 0, 0, 150, 0, 0, 0, 0, 152, 150, 0, 0, 0, 0, 364, 142, 178, 258, 0, 141, 0, 258,
+ 0, 143, 0, 0, 141, 0, 363, 142, 178, 250, 0, 141, 0, 0, 44, 141, 0, 0, 172, 5, 0, 142, 328, 327, 142,
+ 85, 326, 190, 0, 327, 142, 85, 326, 190, 0, 238, 0, 239, 0, 326, 190, 0, 101, 0, 0, 238, 0, 239, 0, 226,
+ 101, 0, 0, 238, 0, 239, 0, 327, 142, 326, 190, 0, 238, 0, 226, 0, 0, 238, 0, 279, 142, 5, 0, 140, 0, 0,
+ 0, 0, 0, 279, 142, 5, 246, 0, 260, 5, 0, 231, 0, 161, 0, 212, 193, 141, 0, 10, 0, 0, 0, 0, 212, 0, 9, 0,
+ 0, 251, 72, 0, 279, 142, 5, 209, 0, 209, 0, 2, 0, 0, 140, 0, 0, 0, 0, 0, 225, 5, 0, 271, 142, 178, 46,
+ 40, 0, 223, 141, 76, 77, 0, 219, 142, 0, 143, 223, 141, 325, 77, 0, 223, 141, 325, 77, 0, 223, 141, 86,
+ 138, 76, 0, 271, 142, 178, 299, 76, 0, 299, 76, 0, 143, 0, 0, 141, 0, 271, 142, 178, 299, 275, 76, 0,
+ 299, 275, 76, 0, 322, 323, 142, 178, 138, 360, 68, 0, 360, 68, 0, 144, 143, 0, 0, 0, 141, 0, 322, 323,
+ 142, 178, 360, 68, 0, 143, 0, 0, 0, 141, 0, 223, 141, 321, 68, 0, 230, 223, 141, 321, 255, 0, 223, 141,
+ 321, 255, 0, 193, 141, 0, 98, 151, 0, 215, 0, 214, 0, 213, 0, 212, 0, 320, 142, 168, 0, 320, 142, 190,
+ 0, 184, 100, 0, 355, 185, 357, 358, 5, 97, 0, 140, 194, 0, 357, 358, 5, 97, 0, 142, 0, 140, 194, 0, 184,
+ 5, 90, 233, 95, 0, 140, 142, 0, 233, 95, 0, 113, 2, 146, 140, 142, 0, 272, 5, 90, 0, 225, 194, 0, 33,
+ 184, 0, 194, 0, 198, 33, 184, 0, 272, 5, 101, 0, 233, 169, 272, 5, 99, 0, 67, 194, 0, 272, 5, 99, 0,
+ 140, 194, 67, 194, 0, 356, 142, 178, 0, 184, 0, 251, 92, 0, 184, 116, 220, 0, 30, 192, 0, 163, 78, 195,
+ 5, 0, 195, 5, 0, 20, 176, 140, 0, 184, 116, 182, 0, 30, 184, 0, 140, 164, 0, 261, 5, 0, 251, 72, 318, 0,
+ 184, 72, 0, 217, 5, 352, 83, 141, 0, 140, 0, 0, 0, 0, 352, 83, 141, 0, 2, 160, 140, 0, 0, 0, 0, 217, 5,
+ 61, 0, 162, 0, 140, 67, 193, 141, 0, 31, 162, 0, 98, 151, 31, 162, 0, 244, 223, 141, 0, 161, 31, 162, 0,
+ 217, 5, 63, 0, 184, 5, 63, 0, 184, 5, 78, 217, 71, 58, 0, 217, 71, 58, 0, 20, 2, 146, 140, 0, 184, 5,
+ 78, 217, 71, 60, 0, 217, 71, 60, 0, 184, 5, 78, 217, 71, 62, 0, 217, 71, 62, 0, 184, 5, 78, 217, 71, 59,
+ 0, 217, 71, 59, 0, 261, 5, 140, 230, 193, 141, 23, 0, 140, 230, 193, 141, 23, 0, 151, 2, 0, 140, 0, 261,
+ 5, 139, 295, 193, 141, 23, 0, 295, 193, 141, 23, 0, 150, 2, 0, 140, 0, 261, 5, 150, 0, 261, 5, 155, 0,
+ 184, 72, 155, 0, 313, 0, 31, 0, 31, 154, 0, 192, 0, 149, 0, 184, 5, 0 };
+ };
+
+ public final static char scopeRhs[] = ScopeRhs.scopeRhs;
+
+ public final int scopeRhs(int index) {
+ return scopeRhs[index];
+ }
+
+ public interface ScopeState {
+ public final static char scopeState[] = { 0, 2637, 2385, 1389, 0, 1708, 1310, 0, 3709, 2096, 1745, 1450, 0,
+ 5518, 8514, 8507, 8444, 0, 3251, 2953, 0, 2452, 1591, 0, 6148, 6096, 6044, 4411, 0, 5795, 5723, 5651,
+ 5579, 5507, 5435, 5363, 5291, 5219, 5147, 4739, 4636, 8505, 0, 7048, 6013, 0, 4911, 3862, 4778, 0, 4147,
+ 4098, 0, 1364, 767, 0, 921, 0, 2213, 1120, 0, 4307, 4500, 4703, 4531, 1166, 1076, 5119, 2658, 3649,
+ 1228, 3303, 3217, 3189, 3103, 3075, 2989, 2961, 2875, 2847, 2761, 2733, 1138, 1048, 958, 0, 1345, 1137,
+ 0, 1395, 4189, 1314, 3880, 3779, 3383, 6709, 910, 1445, 0, 3135, 3021, 8433, 2655, 2097, 2658, 1944,
+ 8363, 8336, 6971, 6776, 6029, 5795, 5723, 5651, 5579, 5507, 5435, 5363, 5291, 5219, 5147, 4739, 4636, 0,
+ 2694, 2340, 1199, 1121, 4819, 6930, 6732, 6481, 6282, 4473, 3055, 2941, 2827, 0, 780, 0, 7534, 7465,
+ 6888, 6501, 6539, 6187, 6035, 6494, 5759, 5724, 6022, 5687, 5220, 5580, 5543, 5148, 5508, 4863, 3988,
+ 3486, 5471, 5436, 5364, 3882, 0, 4819, 8216, 5228, 6912, 6874, 4745, 6732, 5370, 6148, 6096, 6044, 6481,
+ 4411, 6282, 7150, 5016, 860, 4872, 5871, 4217, 4961, 0, 8216, 4745, 0, 3137, 3027, 7534, 7465, 3023,
+ 2535, 1643, 6888, 2485, 6501, 2335, 2237, 2185, 6539, 986, 3419, 6187, 2083, 6035, 1925, 6494, 5759,
+ 5724, 2911, 1713, 6022, 5687, 6964, 5220, 1474, 5580, 5543, 1044, 5148, 2795, 4340, 5508, 4863, 1947,
+ 3988, 3486, 5471, 5436, 5364, 818, 6745, 3882, 4077, 1496, 1384, 1011, 849, 1728, 6732, 4872, 5370,
+ 6148, 6096, 4819, 6044, 6481, 4411, 6282, 2718, 2700, 8216, 5228, 1364, 767, 6912, 5871, 7150, 6874,
+ 5016, 860, 4217, 4961, 4745, 8155, 7711, 7282, 6613, 4122, 3649, 6508, 7399, 8126, 1228, 4307, 3303,
+ 3217, 3189, 3103, 3075, 2989, 2961, 2875, 2847, 2761, 2733, 4500, 4703, 4531, 1166, 1076, 5119, 6454,
+ 6427, 6400, 6709, 2658, 7376, 788, 3331, 4608, 3677, 5983, 5954, 5050, 6683, 6652, 6326, 6299, 6251,
+ 5909, 4255, 1256, 7352, 7321, 5153, 7189, 4159, 8103, 8080, 1138, 1048, 8057, 958, 7911, 7888, 7865,
+ 7842, 7819, 7796, 7773, 7750, 3735, 4050, 1395, 878, 4003, 3941, 3894, 1956, 1896, 1846, 3832, 3785,
+ 3599, 3548, 1314, 3498, 3436, 1796, 1510, 1746, 1660, 2608, 2558, 2508, 2458, 2408, 2358, 2308, 2258,
+ 2208, 2158, 2106, 2056, 716, 1613, 1445, 2006, 1563, 3389, 0, 7048, 6013, 6964, 6745, 878, 716, 4340,
+ 4077, 0, 878, 716, 4340, 4077, 6013, 0, 4872, 4366, 7099, 878, 6148, 6865, 4334, 6096, 6044, 6356, 5769,
+ 7048, 8498, 8466, 8305, 7940, 6172, 6013, 4082, 6535, 4635, 4210, 7489, 7623, 3969, 5265, 5228, 6964,
+ 4954, 4910, 4158, 716, 3142, 2793, 8297, 3859, 6084, 3464, 5871, 4340, 7150, 1924, 1691, 997, 5016, 925,
+ 913, 6745, 7538, 6769, 4893, 6180, 3249, 4784, 4375, 5837, 4961, 3256, 4077, 6757, 4819, 8271, 4406,
+ 8454, 8265, 6930, 4411, 6136, 8402, 4767, 6912, 6874, 4563, 4217, 0, 5795, 5723, 5651, 5579, 5507, 5435,
+ 5363, 5291, 5219, 5147, 4739, 4636, 8149, 7215, 7083, 7004, 7951, 7934, 7644, 7577, 7510, 7439, 7422,
+ 6546, 4904, 8229, 0, 8396, 7230, 8273, 7953, 8433, 7949, 2658, 7579, 7555, 6751, 5329, 5617, 8363, 8336,
+ 6971, 6776, 6029, 5795, 5723, 5651, 5579, 5507, 5435, 5363, 5291, 5219, 5147, 4739, 4636, 8149, 7215,
+ 7083, 7004, 7951, 7934, 7644, 7577, 7510, 7439, 7422, 6546, 0 };
+ };
+
+ public final static char scopeState[] = ScopeState.scopeState;
+
+ public final int scopeState(int index) {
+ return scopeState[index];
+ }
+
+ public interface InSymb {
+ public final static char inSymb[] = { 0, 0, 351, 80, 177, 77, 7, 142, 190, 229, 42, 35, 67, 40, 76, 273, 5, 142,
+ 76, 325, 380, 347, 266, 8, 9, 7, 34, 267, 258, 268, 255, 269, 68, 274, 139, 23, 141, 294, 37, 259, 326,
+ 142, 5, 6, 147, 146, 11, 10, 139, 141, 209, 67, 67, 67, 71, 67, 46, 299, 275, 138, 180, 184, 142, 300,
+ 278, 142, 215, 209, 180, 225, 141, 141, 5, 3, 5, 5, 5, 178, 365, 321, 180, 360, 321, 180, 71, 141, 223,
+ 193, 192, 37, 64, 61, 57, 48, 47, 12, 13, 50, 49, 141, 10, 5, 63, 58, 60, 62, 59, 23, 150, 155, 85, 142,
+ 320, 300, 256, 180, 141, 212, 225, 71, 71, 194, 142, 72, 5, 82, 83, 139, 138, 223, 193, 5, 71, 78, 142,
+ 178, 178, 299, 86, 73, 297, 5, 160, 162, 161, 171, 163, 174, 173, 176, 175, 179, 74, 182, 73, 5, 86,
+ 256, 180, 141, 72, 225, 180, 223, 223, 381, 46, 309, 310, 5, 379, 1, 46, 142, 193, 282, 140, 139, 141,
+ 138, 178, 141, 142, 193, 67, 6, 5, 5, 5, 82, 83, 193, 140, 217, 196, 184, 178, 177, 194, 142, 5, 71, 71,
+ 71, 71, 141, 5, 129, 134, 5, 72, 142, 327, 84, 193, 13, 12, 142, 142, 142, 259, 72, 72, 230, 142, 142,
+ 142, 142, 178, 141, 152, 73, 217, 105, 112, 48, 47, 114, 113, 12, 128, 127, 103, 102, 78, 71, 88, 89,
+ 13, 107, 106, 109, 108, 110, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 86, 116, 115, 172, 178,
+ 250, 180, 193, 35, 142, 251, 12, 182, 180, 275, 143, 84, 169, 5, 73, 259, 384, 377, 343, 5, 364, 141,
+ 188, 270, 76, 67, 77, 190, 367, 140, 139, 283, 180, 283, 223, 178, 142, 223, 304, 142, 291, 5, 195, 163,
+ 211, 207, 216, 213, 218, 220, 307, 230, 313, 230, 217, 217, 217, 72, 352, 5, 169, 142, 142, 5, 247, 246,
+ 150, 140, 139, 23, 141, 37, 217, 184, 217, 217, 217, 217, 193, 261, 67, 141, 67, 261, 184, 327, 336,
+ 141, 337, 212, 212, 304, 304, 256, 279, 280, 168, 281, 338, 67, 23, 66, 271, 271, 142, 223, 169, 169,
+ 161, 161, 160, 160, 160, 163, 163, 163, 163, 163, 163, 162, 162, 173, 171, 171, 175, 174, 176, 295, 184,
+ 179, 142, 178, 142, 186, 349, 350, 12, 1, 73, 169, 5, 46, 1, 193, 142, 283, 283, 142, 142, 230, 142,
+ 323, 138, 324, 266, 267, 268, 269, 374, 259, 23, 195, 103, 102, 71, 13, 107, 106, 109, 108, 110, 126,
+ 125, 124, 123, 122, 121, 120, 119, 118, 117, 86, 116, 115, 73, 6, 169, 169, 169, 219, 5, 353, 194, 172,
+ 356, 94, 92, 1, 184, 14, 101, 99, 97, 95, 90, 98, 100, 93, 91, 76, 85, 256, 260, 142, 5, 141, 193, 156,
+ 5, 78, 78, 78, 78, 230, 295, 141, 223, 193, 328, 73, 223, 5, 12, 142, 169, 86, 260, 225, 5, 142, 73, 73,
+ 78, 71, 282, 282, 271, 275, 84, 84, 142, 349, 35, 186, 12, 1, 378, 230, 366, 84, 287, 225, 139, 285,
+ 180, 142, 142, 84, 323, 322, 86, 73, 141, 78, 163, 163, 163, 207, 195, 195, 213, 211, 216, 184, 218,
+ 217, 142, 142, 14, 84, 382, 251, 84, 5, 5, 5, 233, 5, 138, 184, 138, 196, 279, 142, 193, 67, 217, 5, 5,
+ 5, 5, 140, 139, 244, 10, 67, 142, 261, 212, 187, 142, 86, 86, 142, 256, 142, 86, 86, 363, 186, 186, 73,
+ 143, 73, 84, 86, 180, 285, 180, 164, 369, 270, 36, 141, 322, 193, 163, 84, 169, 315, 318, 72, 224, 84,
+ 104, 84, 272, 194, 142, 272, 358, 168, 90, 272, 142, 169, 279, 230, 169, 184, 184, 184, 184, 5, 5, 6,
+ 138, 140, 329, 130, 142, 263, 338, 243, 73, 285, 180, 73, 141, 36, 370, 223, 230, 142, 5, 72, 184, 169,
+ 225, 169, 357, 142, 5, 169, 329, 142, 169, 140, 261, 261, 6, 5, 142, 78, 243, 14, 223, 141, 141, 315,
+ 261, 251, 86, 233, 185, 320, 184, 263, 142, 104, 375, 194, 74, 66, 223, 223, 136, 355, 169, 142, 263,
+ 169, 169, 142, 5, 282, 169, 142, 376, 86, 73 };
+ };
+
+ public final static char inSymb[] = InSymb.inSymb;
+
+ public final int inSymb(int index) {
+ return inSymb[index];
+ }
+
+ public interface Name {
+ public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~",
+ "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::",
+ "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", "<?", "$empty",
+ "_Complex", "_Imaginary", "restrict", "asm", "auto", "bool", "break", "case", "catch", "char", "class",
+ "const", "const_cast", "continue", "default", "delete", "do", "double", "dynamic_cast", "else", "enum",
+ "explicit", "export", "extern", "false", "float", "for", "friend", "goto", "if", "inline", "int",
+ "long", "mutable", "namespace", "new", "operator", "private", "protected", "public", "register",
+ "reinterpret_cast", "return", "short", "signed", "sizeof", "static", "static_cast", "struct", "switch",
+ "template", "this", "throw", "try", "true", "typedef", "typeid", "typename", "union", "unsigned",
+ "using", "virtual", "void", "volatile", "wchar_t", "while", "integer", "floating", "charconst",
+ "stringlit", "identifier", "Completion", "EndOfCompletion", "Invalid", "RightBracket", "RightParen",
+ "RightBrace", "SemiColon", "LeftBrace", "typeof", "__alignof__", "__attribute__", "__declspec",
+ "vector", "pixel", "_Decimal32", "_Decimal64", "_Decimal128", "__static_assert", "ERROR_TOKEN",
+ "EOF_TOKEN", "]", ")", "}", ";", "{", "identifier_token", "literal", "expression", "id_expression",
+ "qualified_or_unqualified_name", "unqualified_id_name", "identifier_name", "template_id_name",
+ "nested_name_specifier", "class_or_namespace_name", "nested_name_specifier_with_tem" + "plate",
+ "class_or_namespace_name_with_t" + "emplate", "class_name", "postfix_expression",
+ "simple_type_specifier", "pseudo_destructor_name", "type_id", "type_name", "destructor_type_name",
+ "unary_expression", "cast_expression", "new_type_id", "expression_list", "type_specifier_seq",
+ "new_declarator", "new_pointer_operators", "ptr_operator", "new_array_expressions",
+ "constant_expression", "pm_expression", "multiplicative_expression", "additive_expression",
+ "shift_expression", "relational_expression", "equality_expression", "and_expression",
+ "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression",
+ "assignment_expression", "relational_expression_inTempla" + "te", "equality_expression_inTemplate",
+ "and_expression_inTemplate", "exclusive_or_expression_inTemp" + "late",
+ "inclusive_or_expression_inTemp" + "late", "logical_and_expression_inTempl" + "ate",
+ "logical_or_expression_inTempla" + "te", "assignment_expression_inTempla" + "te",
+ "expression_list_actual", "statement", "compound_statement", "statement_seq", "condition", "declarator",
+ "for_init_statement", "function_definition", "declaration", "declaration_seq", "declaration_specifiers",
+ "simple_declaration_specifiers", "class_declaration_specifiers",
+ "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers",
+ "type_name_declaration_specifie" + "rs", "no_type_declaration_specifier", "cv_qualifier",
+ "no_type_declaration_specifiers", "class_specifier", "elaborated_type_specifier", "enum_specifier",
+ "type_name_specifier", "class_keyword", "enumerator_list", "enumerator_definition", "namespace_name",
+ "init_declarator_list", "init_declarator_complete", "complete_declarator", "initializer",
+ "direct_declarator", "ptr_operator_seq", "function_declarator", "basic_direct_declarator",
+ "array_direct_declarator", "array_modifier", "abstract_declarator", "direct_abstract_declarator",
+ "basic_direct_abstract_declarat" + "or", "array_direct_abstract_declarat" + "or",
+ "parameter_declaration_list", "parameter_declaration", "parameter_init_declarator",
+ "parameter_initializer", "function_body", "handler_seq", "initializer_clause", "initializer_list",
+ "initializer_seq", "class_head", "access_specifier_keyword", "member_declaration",
+ "member_declarator_list", "member_declaration_list", "member_declarator_complete",
+ "constant_initializer", "bit_field_declarator", "base_specifier_list", "base_specifier",
+ "conversion_function_id", "conversion_type_id", "conversion_declarator", "mem_initializer_list",
+ "mem_initializer", "mem_initializer_name", "operator_id_name", "overloadable_operator",
+ "template_parameter_list", "template_parameter", "template_argument_list", "template_argument",
+ "type_name_specifier_inTemplate", "type_name_declaration_specifie" + "rs_inTemplate",
+ "type_specifier_seq_inTemplate", "handler", "exception_declaration", "type_id_list",
+ "attribute_or_decl_specifier", "attribute_or_decl_specifier_se" + "q", "word",
+ "extended_decl_modifier_seq", "extended_decl_modifier", "extended_asm_param", "case_range_expression",
+ "typeof_declaration_specifiers", "typeof_type_specifier", "vector_type", "vector_type_specifier",
+ "all_specifier_qualifiers", "all_specifier_qualifier_list", "array_modifier_type_qualifiers",
+ "type_qualifier_list" };
+ };
+
+ public final static String name[] = Name.name;
+
+ public final String name(int index) {
+ return name[index];
+ }
+
+ public final static int ERROR_SYMBOL = 81, SCOPE_UBOUND = 161, SCOPE_SIZE = 162, MAX_NAME_LENGTH = 43;
+
+ public final int getErrorSymbol() {
+ return ERROR_SYMBOL;
+ }
+
+ public final int getScopeUbound() {
+ return SCOPE_UBOUND;
+ }
+
+ public final int getScopeSize() {
+ return SCOPE_SIZE;
+ }
+
+ public final int getMaxNameLength() {
+ return MAX_NAME_LENGTH;
+ }
+
+ public final static int NUM_STATES = 719, NT_OFFSET = 137, LA_STATE_OFFSET = 10615, MAX_LA = 2147483647,
+ NUM_RULES = 715, NUM_NONTERMINALS = 256, NUM_SYMBOLS = 393, SEGMENT_SIZE = 8192, START_STATE = 6546,
+ IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 135, EOLT_SYMBOL = 135, ACCEPT_ACTION = 8729, ERROR_ACTION = 9900;
+
+ public final static boolean BACKTRACK = true;
+
+ public final int getNumStates() {
+ return NUM_STATES;
+ }
+
+ public final int getNtOffset() {
+ return NT_OFFSET;
+ }
+
+ public final int getLaStateOffset() {
+ return LA_STATE_OFFSET;
+ }
+
+ public final int getMaxLa() {
+ return MAX_LA;
+ }
+
+ public final int getNumRules() {
+ return NUM_RULES;
+ }
+
+ public final int getNumNonterminals() {
+ return NUM_NONTERMINALS;
+ }
+
+ public final int getNumSymbols() {
+ return NUM_SYMBOLS;
+ }
+
+ public final int getSegmentSize() {
+ return SEGMENT_SIZE;
+ }
+
+ public final int getStartState() {
+ return START_STATE;
+ }
+
+ public final int getStartSymbol() {
+ return lhs[0];
+ }
+
+ public final int getIdentifierSymbol() {
+ return IDENTIFIER_SYMBOL;
+ }
+
+ public final int getEoftSymbol() {
+ return EOFT_SYMBOL;
+ }
+
+ public final int getEoltSymbol() {
+ return EOLT_SYMBOL;
+ }
+
+ public final int getAcceptAction() {
+ return ACCEPT_ACTION;
+ }
+
+ public final int getErrorAction() {
+ return ERROR_ACTION;
+ }
+
+ public final boolean isValidForParser() {
+ return isValidForParser;
+ }
+
+ public final boolean getBacktrack() {
+ return BACKTRACK;
+ }
+
+ public final int originalState(int state) {
+ return -baseCheck[state];
+ }
+
+ public final int asi(int state) {
+ return asb[originalState(state)];
+ }
+
+ public final int nasi(int state) {
+ return nasb[originalState(state)];
+ }
+
+ public final int inSymbol(int state) {
+ return inSymb[originalState(state)];
+ }
+
+ public final int ntAction(int state, int sym) {
+ return baseAction[state + sym];
+ }
+
+ public final int tAction(int state, int sym) {
+ int i = baseAction[state], k = i + sym;
+ return termAction[termCheck[k] == sym ? k : i];
+ }
+
+ public final int lookAhead(int la_state, int sym) {
+ int k = la_state + sym;
+ return termAction[termCheck[k] == sym ? k : la_state];
+ }
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java
index 2ed5e8d6d84..c88a6b111d7 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java
@@ -17,285 +17,46 @@
package org.eclipse.cdt.internal.core.lrparser.xlc.cpp;
public interface XlcCPPParsersym {
- public final static int
- TK__Complex = 24,
- TK__Imaginary = 25,
- TK_restrict = 34,
- TK_asm = 7,
- TK_auto = 38,
- TK_bool = 15,
- TK_break = 91,
- TK_case = 92,
- TK_catch = 130,
- TK_char = 16,
- TK_class = 66,
- TK_const = 32,
- TK_const_cast = 58,
- TK_continue = 93,
- TK_default = 94,
- TK_delete = 82,
- TK_do = 95,
- TK_double = 26,
- TK_dynamic_cast = 59,
- TK_else = 136,
- TK_enum = 68,
- TK_explicit = 39,
- TK_export = 96,
- TK_extern = 40,
- TK_false = 51,
- TK_float = 17,
- TK_for = 97,
- TK_friend = 41,
- TK_goto = 98,
- TK_if = 99,
- TK_inline = 42,
- TK_int = 18,
- TK_long = 19,
- TK_mutable = 43,
- TK_namespace = 76,
- TK_new = 83,
- TK_operator = 11,
- TK_private = 131,
- TK_protected = 132,
- TK_public = 133,
- TK_register = 44,
- TK_reinterpret_cast = 60,
- TK_return = 100,
- TK_short = 20,
- TK_signed = 21,
- TK_sizeof = 61,
- TK_static = 35,
- TK_static_cast = 62,
- TK_struct = 69,
- TK_switch = 101,
- TK_template = 67,
- TK_this = 52,
- TK_throw = 74,
- TK_try = 85,
- TK_true = 53,
- TK_typedef = 45,
- TK_typeid = 63,
- TK_typename = 23,
- TK_union = 70,
- TK_unsigned = 22,
- TK_using = 77,
- TK_virtual = 36,
- TK_void = 27,
- TK_volatile = 33,
- TK_wchar_t = 28,
- TK_while = 90,
- TK_integer = 54,
- TK_floating = 55,
- TK_charconst = 56,
- TK_stringlit = 46,
- TK_identifier = 1,
- TK_Completion = 4,
- TK_EndOfCompletion = 14,
- TK_Invalid = 137,
- TK_LeftBracket = 72,
- TK_LeftParen = 5,
- TK_Dot = 134,
- TK_DotStar = 112,
- TK_Arrow = 129,
- TK_ArrowStar = 105,
- TK_PlusPlus = 49,
- TK_MinusMinus = 50,
- TK_And = 13,
- TK_Star = 12,
- TK_Plus = 47,
- TK_Minus = 48,
- TK_Tilde = 10,
- TK_Bang = 57,
- TK_Slash = 113,
- TK_Percent = 114,
- TK_RightShift = 88,
- TK_LeftShift = 89,
- TK_LT = 71,
- TK_GT = 78,
- TK_LE = 102,
- TK_GE = 103,
- TK_EQ = 106,
- TK_NE = 107,
- TK_Caret = 108,
- TK_Or = 109,
- TK_AndAnd = 110,
- TK_OrOr = 115,
- TK_Question = 116,
- TK_Colon = 84,
- TK_ColonColon = 6,
- TK_DotDotDot = 104,
- TK_Assign = 86,
- TK_StarAssign = 117,
- TK_SlashAssign = 118,
- TK_PercentAssign = 119,
- TK_PlusAssign = 120,
- TK_MinusAssign = 121,
- TK_RightShiftAssign = 122,
- TK_LeftShiftAssign = 123,
- TK_AndAssign = 124,
- TK_CaretAssign = 125,
- TK_OrAssign = 126,
- TK_Comma = 73,
- TK_RightBracket = 111,
- TK_RightParen = 79,
- TK_RightBrace = 87,
- TK_SemiColon = 65,
- TK_LeftBrace = 75,
- TK_typeof = 37,
- TK___alignof__ = 64,
- TK___attribute__ = 8,
- TK___declspec = 9,
- TK_MAX = 127,
- TK_MIN = 128,
- TK_vector = 3,
- TK_pixel = 2,
- TK__Decimal32 = 29,
- TK__Decimal64 = 30,
- TK__Decimal128 = 31,
- TK___static_assert = 80,
- TK_ERROR_TOKEN = 81,
- TK_EOF_TOKEN = 135;
+ public final static int TK__Complex = 24, TK__Imaginary = 25, TK_restrict = 34, TK_asm = 7, TK_auto = 38,
+ TK_bool = 15, TK_break = 91, TK_case = 92, TK_catch = 130, TK_char = 16, TK_class = 66, TK_const = 32,
+ TK_const_cast = 58, TK_continue = 93, TK_default = 94, TK_delete = 82, TK_do = 95, TK_double = 26,
+ TK_dynamic_cast = 59, TK_else = 136, TK_enum = 68, TK_explicit = 39, TK_export = 96, TK_extern = 40,
+ TK_false = 51, TK_float = 17, TK_for = 97, TK_friend = 41, TK_goto = 98, TK_if = 99, TK_inline = 42,
+ TK_int = 18, TK_long = 19, TK_mutable = 43, TK_namespace = 76, TK_new = 83, TK_operator = 11,
+ TK_private = 131, TK_protected = 132, TK_public = 133, TK_register = 44, TK_reinterpret_cast = 60,
+ TK_return = 100, TK_short = 20, TK_signed = 21, TK_sizeof = 61, TK_static = 35, TK_static_cast = 62,
+ TK_struct = 69, TK_switch = 101, TK_template = 67, TK_this = 52, TK_throw = 74, TK_try = 85, TK_true = 53,
+ TK_typedef = 45, TK_typeid = 63, TK_typename = 23, TK_union = 70, TK_unsigned = 22, TK_using = 77,
+ TK_virtual = 36, TK_void = 27, TK_volatile = 33, TK_wchar_t = 28, TK_while = 90, TK_integer = 54,
+ TK_floating = 55, TK_charconst = 56, TK_stringlit = 46, TK_identifier = 1, TK_Completion = 4,
+ TK_EndOfCompletion = 14, TK_Invalid = 137, TK_LeftBracket = 72, TK_LeftParen = 5, TK_Dot = 134,
+ TK_DotStar = 112, TK_Arrow = 129, TK_ArrowStar = 105, TK_PlusPlus = 49, TK_MinusMinus = 50, TK_And = 13,
+ TK_Star = 12, TK_Plus = 47, TK_Minus = 48, TK_Tilde = 10, TK_Bang = 57, TK_Slash = 113, TK_Percent = 114,
+ TK_RightShift = 88, TK_LeftShift = 89, TK_LT = 71, TK_GT = 78, TK_LE = 102, TK_GE = 103, TK_EQ = 106,
+ TK_NE = 107, TK_Caret = 108, TK_Or = 109, TK_AndAnd = 110, TK_OrOr = 115, TK_Question = 116, TK_Colon = 84,
+ TK_ColonColon = 6, TK_DotDotDot = 104, TK_Assign = 86, TK_StarAssign = 117, TK_SlashAssign = 118,
+ TK_PercentAssign = 119, TK_PlusAssign = 120, TK_MinusAssign = 121, TK_RightShiftAssign = 122,
+ TK_LeftShiftAssign = 123, TK_AndAssign = 124, TK_CaretAssign = 125, TK_OrAssign = 126, TK_Comma = 73,
+ TK_RightBracket = 111, TK_RightParen = 79, TK_RightBrace = 87, TK_SemiColon = 65, TK_LeftBrace = 75,
+ TK_typeof = 37, TK___alignof__ = 64, TK___attribute__ = 8, TK___declspec = 9, TK_MAX = 127, TK_MIN = 128,
+ TK_vector = 3, TK_pixel = 2, TK__Decimal32 = 29, TK__Decimal64 = 30, TK__Decimal128 = 31,
+ TK___static_assert = 80, TK_ERROR_TOKEN = 81, TK_EOF_TOKEN = 135;
- public final static String orderedTerminalSymbols[] = {
- "",
- "identifier",
- "pixel",
- "vector",
- "Completion",
- "LeftParen",
- "ColonColon",
- "asm",
- "__attribute__",
- "__declspec",
- "Tilde",
- "operator",
- "Star",
- "And",
- "EndOfCompletion",
- "bool",
- "char",
- "float",
- "int",
- "long",
- "short",
- "signed",
- "unsigned",
- "typename",
- "_Complex",
- "_Imaginary",
- "double",
- "void",
- "wchar_t",
- "_Decimal32",
- "_Decimal64",
- "_Decimal128",
- "const",
- "volatile",
- "restrict",
- "static",
- "virtual",
- "typeof",
- "auto",
- "explicit",
- "extern",
- "friend",
- "inline",
- "mutable",
- "register",
- "typedef",
- "stringlit",
- "Plus",
- "Minus",
- "PlusPlus",
- "MinusMinus",
- "false",
- "this",
- "true",
- "integer",
- "floating",
- "charconst",
- "Bang",
- "const_cast",
- "dynamic_cast",
- "reinterpret_cast",
- "sizeof",
- "static_cast",
- "typeid",
- "__alignof__",
- "SemiColon",
- "class",
- "template",
- "enum",
- "struct",
- "union",
- "LT",
- "LeftBracket",
- "Comma",
- "throw",
- "LeftBrace",
- "namespace",
- "using",
- "GT",
- "RightParen",
- "__static_assert",
- "ERROR_TOKEN",
- "delete",
- "new",
- "Colon",
- "try",
- "Assign",
- "RightBrace",
- "RightShift",
- "LeftShift",
- "while",
- "break",
- "case",
- "continue",
- "default",
- "do",
- "export",
- "for",
- "goto",
- "if",
- "return",
- "switch",
- "LE",
- "GE",
- "DotDotDot",
- "ArrowStar",
- "EQ",
- "NE",
- "Caret",
- "Or",
- "AndAnd",
- "RightBracket",
- "DotStar",
- "Slash",
- "Percent",
- "OrOr",
- "Question",
- "StarAssign",
- "SlashAssign",
- "PercentAssign",
- "PlusAssign",
- "MinusAssign",
- "RightShiftAssign",
- "LeftShiftAssign",
- "AndAssign",
- "CaretAssign",
- "OrAssign",
- "MAX",
- "MIN",
- "Arrow",
- "catch",
- "private",
- "protected",
- "public",
- "Dot",
- "EOF_TOKEN",
- "else",
- "Invalid"
- };
+ public final static String orderedTerminalSymbols[] = { "", "identifier", "pixel", "vector", "Completion",
+ "LeftParen", "ColonColon", "asm", "__attribute__", "__declspec", "Tilde", "operator", "Star", "And",
+ "EndOfCompletion", "bool", "char", "float", "int", "long", "short", "signed", "unsigned", "typename",
+ "_Complex", "_Imaginary", "double", "void", "wchar_t", "_Decimal32", "_Decimal64", "_Decimal128", "const",
+ "volatile", "restrict", "static", "virtual", "typeof", "auto", "explicit", "extern", "friend", "inline",
+ "mutable", "register", "typedef", "stringlit", "Plus", "Minus", "PlusPlus", "MinusMinus", "false", "this",
+ "true", "integer", "floating", "charconst", "Bang", "const_cast", "dynamic_cast", "reinterpret_cast",
+ "sizeof", "static_cast", "typeid", "__alignof__", "SemiColon", "class", "template", "enum", "struct",
+ "union", "LT", "LeftBracket", "Comma", "throw", "LeftBrace", "namespace", "using", "GT", "RightParen",
+ "__static_assert", "ERROR_TOKEN", "delete", "new", "Colon", "try", "Assign", "RightBrace", "RightShift",
+ "LeftShift", "while", "break", "case", "continue", "default", "do", "export", "for", "goto", "if", "return",
+ "switch", "LE", "GE", "DotDotDot", "ArrowStar", "EQ", "NE", "Caret", "Or", "AndAnd", "RightBracket",
+ "DotStar", "Slash", "Percent", "OrOr", "Question", "StarAssign", "SlashAssign", "PercentAssign",
+ "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", "CaretAssign", "OrAssign",
+ "MAX", "MIN", "Arrow", "catch", "private", "protected", "public", "Dot", "EOF_TOKEN", "else", "Invalid" };
- public final static boolean isValidForParser = true;
+ public final static boolean isValidForParser = true;
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java
index b293f95fc4d..a886dd26cc5 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java
@@ -19,33 +19,32 @@ import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-
/**
* A simple wrapper for a checkbox.
*
*/
class PrefCheckbox {
-
+
private final XlcPref key;
private final Button button;
-
+
PrefCheckbox(Composite parent, XlcPref prefKey, String label) {
button = ControlFactory.createCheckBox(parent, label);
key = prefKey;
}
-
+
public XlcPref getKey() {
return key;
}
-
+
public void setSelection(boolean selection) {
button.setSelection(selection);
}
-
+
public boolean getSelection() {
return button.getSelection();
}
-
+
public void setDefault() {
setSelection(Boolean.valueOf(XlcLanguagePreferences.getDefaultPreference(key)));
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java
index c1536bbfc74..1b067b463fe 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java
@@ -21,36 +21,32 @@ public class PreferenceMessages extends NLS {
private static final String BUNDLE_NAME = "org.eclipse.cdt.internal.core.lrparser.xlc.ui.preferences.PreferenceMessages"; //$NON-NLS-1$
- private PreferenceMessages() {}
-
+ private PreferenceMessages() {
+ }
+
static {
initializeMessages(BUNDLE_NAME, PreferenceMessages.class);
}
-
+
public static final String PREFIX = "XlcLanguageOptionsPreferencePage_";
-
-
+
public static String getMessage(String suffix) {
try {
Field field = PreferenceMessages.class.getDeclaredField(PREFIX + suffix);
- return (String)field.get(null);
-
+ return (String) field.get(null);
+
} catch (NoSuchFieldException e) {
return null;
} catch (IllegalAccessException e) {
return null;
}
}
-
-
- public static String
- XlcLanguageOptionsPreferencePage_link,
- XlcLanguageOptionsPreferencePage_group,
-
- XlcLanguageOptionsPreferencePage_SUPPORT_VECTOR_TYPES,
- XlcLanguageOptionsPreferencePage_SUPPORT_DECIMAL_FLOATING_POINT_TYPES,
- XlcLanguageOptionsPreferencePage_SUPPORT_COMPLEX_IN_CPP,
- XlcLanguageOptionsPreferencePage_SUPPORT_RESTRICT_IN_CPP,
- XlcLanguageOptionsPreferencePage_SUPPORT_STATIC_ASSERT;
-}
+ public static String XlcLanguageOptionsPreferencePage_link, XlcLanguageOptionsPreferencePage_group,
+
+ XlcLanguageOptionsPreferencePage_SUPPORT_VECTOR_TYPES,
+ XlcLanguageOptionsPreferencePage_SUPPORT_DECIMAL_FLOATING_POINT_TYPES,
+ XlcLanguageOptionsPreferencePage_SUPPORT_COMPLEX_IN_CPP,
+ XlcLanguageOptionsPreferencePage_SUPPORT_RESTRICT_IN_CPP,
+ XlcLanguageOptionsPreferencePage_SUPPORT_STATIC_ASSERT;
+}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java
index 59fda463226..a088097f086 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java
@@ -13,8 +13,6 @@
*******************************************************************************/
package org.eclipse.cdt.internal.core.lrparser.xlc.ui.preferences;
-
-
import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences;
import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
@@ -32,37 +30,35 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.IWorkbenchPropertyPage;
import org.eclipse.ui.dialogs.PreferencesUtil;
-
/**
* TODO trigger reindex?
*
*/
-public class XlcLanguageOptionsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IWorkbenchPropertyPage {
+public class XlcLanguageOptionsPreferencePage extends PreferencePage
+ implements IWorkbenchPreferencePage, IWorkbenchPropertyPage {
private IAdaptable element;
private PrefCheckbox[] checkboxes;
-
-
+
private void initializeCheckboxes(Composite group) {
XlcPref[] prefs = XlcPref.values();
int n = prefs.length;
checkboxes = new PrefCheckbox[n];
IProject project = getProject(); // null for preference page
-
- for(int i = 0; i < n; i++) {
- String message = PreferenceMessages.getMessage(prefs[i].toString());
+
+ for (int i = 0; i < n; i++) {
+ String message = PreferenceMessages.getMessage(prefs[i].toString());
checkboxes[i] = new PrefCheckbox(group, prefs[i], message);
String preference = XlcLanguagePreferences.get(prefs[i], project);
checkboxes[i].setSelection(Boolean.valueOf(preference));
}
}
-
-
+
@Override
protected Control createContents(Composite parent) {
Composite page = ControlFactory.createComposite(parent, 1);
-
- if(isPropertyPage()) {
+
+ if (isPropertyPage()) {
Link link = new Link(page, SWT.NONE);
link.setText(PreferenceMessages.XlcLanguageOptionsPreferencePage_link);
link.addListener(SWT.Selection, new Listener() {
@@ -71,17 +67,17 @@ public class XlcLanguageOptionsPreferencePage extends PreferencePage implements
}
});
}
-
- Composite group = ControlFactory.createGroup(page, PreferenceMessages.XlcLanguageOptionsPreferencePage_group, 1);
+
+ Composite group = ControlFactory.createGroup(page, PreferenceMessages.XlcLanguageOptionsPreferencePage_group,
+ 1);
initializeCheckboxes(group);
-
+
return page;
}
-
@Override
protected void performDefaults() {
- for(PrefCheckbox button : checkboxes) {
+ for (PrefCheckbox button : checkboxes) {
button.setDefault();
}
super.performDefaults();
@@ -90,25 +86,22 @@ public class XlcLanguageOptionsPreferencePage extends PreferencePage implements
@Override
public boolean performOk() {
IProject project = getProject();
- for(PrefCheckbox button : checkboxes) {
+ for (PrefCheckbox button : checkboxes) {
setPreference(button.getKey(), button.getSelection(), project);
}
return true;
}
-
-
+
private static void setPreference(XlcPref key, boolean val, IProject project) {
String s = String.valueOf(val);
- if(project != null)
+ if (project != null)
XlcLanguagePreferences.setProjectPreference(key, s, project);
else
XlcLanguagePreferences.setWorkspacePreference(key, s);
}
-
-
-
+
private IProject getProject() {
- return isPropertyPage() ? (IProject)element.getAdapter(IProject.class) : null;
+ return isPropertyPage() ? (IProject) element.getAdapter(IProject.class) : null;
}
public IAdaptable getElement() {
@@ -122,9 +115,9 @@ public class XlcLanguageOptionsPreferencePage extends PreferencePage implements
public boolean isPropertyPage() {
return element != null;
}
-
+
public void init(IWorkbench workbench) {
// TODO Auto-generated method stub
}
-
+
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCommandOptionNotRecognized.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCommandOptionNotRecognized.java
index 88507abc76d..7904328d1e0 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCommandOptionNotRecognized.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCommandOptionNotRecognized.java
@@ -19,23 +19,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestCommandOptionNotRecognized extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. A warning message generated by
* xlc compiler about command options is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(0));
- assertEquals("command option 9 is not recognized - passed to ld",aix.getMessage(0));
+ assertEquals("command option 9 is not recognized - passed to ld", aix.getMessage(0));
}
- public TestCommandOptionNotRecognized(String name)
- {
+
+ public TestCommandOptionNotRecognized(String name) {
super(name);
err_msg = "/usr/vacpp/bin/xlc: 1501-216 command option 9 is not recognized - passed to ld";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCompatibility.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCompatibility.java
index 489f69ea94c..53ac930ce33 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCompatibility.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCompatibility.java
@@ -19,23 +19,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestCompatibility extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
* xlC compiler without message number or quotes around file name
* which was OK in older version.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp1.c", aix.getFileName(0));
assertEquals(5, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_INFO, aix.getSeverity(0));
- assertEquals("Compatibility test",aix.getMessage(0));
+ assertEquals("Compatibility test", aix.getMessage(0));
}
- public TestCompatibility( String name)
- {
+
+ public TestCompatibility(String name) {
super(name);
err_msg = "temp1.c, line 5.1: (I) Compatibility test";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestError_1.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestError_1.java
index 91ed5cb2a77..adc57131338 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestError_1.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestError_1.java
@@ -18,28 +18,26 @@ import junit.framework.TestCase;
import org.eclipse.cdt.core.IMarkerGenerator;
-
public class TestError_1 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc compiler with medium severity (E) is given as
- * input for testing.
+ * xlc compiler with medium severity (E) is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp8.c", aix.getFileName(0));
assertEquals(9, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Missing argument(s).",aix.getMessage(0));
+ assertEquals("Missing argument(s).", aix.getMessage(0));
}
- public TestError_1( String name)
- {
+
+ public TestError_1(String name) {
super(name);
- err_msg = "\"temp8.c\", line 9.17: 1506-098 (E) "
- + "Missing argument(s).";
+ err_msg = "\"temp8.c\", line 9.17: 1506-098 (E) " + "Missing argument(s).";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_1.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_1.java
index 26a0d2afc76..d27a8a715de 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_1.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_1.java
@@ -18,27 +18,25 @@ import junit.framework.TestCase;
import org.eclipse.cdt.core.IMarkerGenerator;
-
public class TestInformationalMessage_1 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
- * XlcErrorParser class. Informative message generated
- * by the xlc compiler is given as input for testing.
+ * XlcErrorParser class. Informative message generated
+ * by the xlc compiler is given as input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp8.c", aix.getFileName(0));
assertEquals(12, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_INFO, aix.getSeverity(0));
- assertEquals("The then branch of conditional is an empty statement.",aix.getMessage(0));
+ assertEquals("The then branch of conditional is an empty statement.", aix.getMessage(0));
}
- public TestInformationalMessage_1( String name)
- {
+
+ public TestInformationalMessage_1(String name) {
super(name);
- err_msg = "\"temp8.c\", line 12.9: 1506-478 (I) " +
- "The then branch of conditional is an empty statement.";
+ err_msg = "\"temp8.c\", line 12.9: 1506-478 (I) " + "The then branch of conditional is an empty statement.";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_2.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_2.java
index db99e3603b8..5b8796612a0 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_2.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_2.java
@@ -19,23 +19,25 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestInformationalMessage_2 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. A variant of informational message generated by
* xlc compiler with no file or line is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_INFO, aix.getSeverity(0));
- assertEquals("clazz::fun(): Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.",aix.getMessage(0));
+ assertEquals(
+ "clazz::fun(): Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.",
+ aix.getMessage(0));
}
- public TestInformationalMessage_2( String name)
- {
+
+ public TestInformationalMessage_2(String name) {
super(name);
err_msg = " 1500-030: (I) INFORMATION: clazz::fun(): Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_3.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_3.java
index 4ef89cd2c19..8d63f8bce58 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_3.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_3.java
@@ -19,22 +19,22 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestInformationalMessage_3 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. A variant of informational message generated by
* xlc compiler is given as input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_INFO, aix.getSeverity(0));
- assertEquals("Global variable \"__td __td__Q2_3std13runtime_error\" is not used.",aix.getMessage(0));
+ assertEquals("Global variable \"__td __td__Q2_3std13runtime_error\" is not used.", aix.getMessage(0));
}
- public TestInformationalMessage_3( String name)
- {
+
+ public TestInformationalMessage_3(String name) {
super(name);
err_msg = "1540-5336 (I) Global variable \"__td __td__Q2_3std13runtime_error\" is not used.";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerCommandOptionNotRecognized.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerCommandOptionNotRecognized.java
index 9525ca45342..a91f48715f6 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerCommandOptionNotRecognized.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerCommandOptionNotRecognized.java
@@ -20,23 +20,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestLinkerCommandOptionNotRecognized extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. A warning message generated by
* xlc linker about command options is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(0));
- assertEquals("The -9 flag is not recognized.",aix.getMessage(0));
+ assertEquals("The -9 flag is not recognized.", aix.getMessage(0));
}
- public TestLinkerCommandOptionNotRecognized(String name)
- {
+
+ public TestLinkerCommandOptionNotRecognized(String name) {
super(name);
err_msg = "ld: 0706-012 The -9 flag is not recognized.";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerDuplicateSymbol.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerDuplicateSymbol.java
index 91a9d87b531..f89e6384064 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerDuplicateSymbol.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerDuplicateSymbol.java
@@ -20,23 +20,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestLinkerDuplicateSymbol extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc linker with "WARNING" level is given as
- * input for testing.
+ * xlc linker with "WARNING" level is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(0));
- assertEquals("Duplicate symbol: dupefun",aix.getMessage(0));
+ assertEquals("Duplicate symbol: dupefun", aix.getMessage(0));
}
- public TestLinkerDuplicateSymbol( String name)
- {
+
+ public TestLinkerDuplicateSymbol(String name) {
super(name);
err_msg = "ld: 0711-224 WARNING: Duplicate symbol: dupefun";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerErrorWhileReading.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerErrorWhileReading.java
index 1c5ae491bff..af5393f4983 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerErrorWhileReading.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerErrorWhileReading.java
@@ -20,23 +20,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestLinkerErrorWhileReading extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc linker with "ERROR" level is given as
- * input for testing.
+ * xlc linker with "ERROR" level is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Error occurred while reading file",aix.getMessage(0));
+ assertEquals("Error occurred while reading file", aix.getMessage(0));
}
- public TestLinkerErrorWhileReading( String name)
- {
+
+ public TestLinkerErrorWhileReading(String name) {
super(name);
err_msg = "ld: 0711-987 Error occurred while reading file";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerInfo.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerInfo.java
index d8a88ecb3b8..722af545c09 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerInfo.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerInfo.java
@@ -20,23 +20,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestLinkerInfo extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Informational message generated by
- * xlc linker is given as
- * input for testing.
+ * xlc linker is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_INFO, aix.getSeverity(0));
- assertEquals("Use the -bloadmap or -bnoquiet option to obtain more information.",aix.getMessage(0));
+ assertEquals("Use the -bloadmap or -bnoquiet option to obtain more information.", aix.getMessage(0));
}
- public TestLinkerInfo( String name)
- {
+
+ public TestLinkerInfo(String name) {
super(name);
err_msg = "ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerSevereError.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerSevereError.java
index e75376b8b7f..fd7d024a80d 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerSevereError.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerSevereError.java
@@ -20,23 +20,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestLinkerSevereError extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc linker with "SEVERE ERROR" level is given as
- * input for testing.
+ * xlc linker with "SEVERE ERROR" level is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("EXEC binder commands nested too deeply.",aix.getMessage(0));
+ assertEquals("EXEC binder commands nested too deeply.", aix.getMessage(0));
}
- public TestLinkerSevereError( String name)
- {
+
+ public TestLinkerSevereError(String name) {
super(name);
err_msg = "ld: 0711-634 SEVERE ERROR: EXEC binder commands nested too deeply.";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerUndefinedSymbol.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerUndefinedSymbol.java
index 25fa6d2f640..65e49ca4182 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerUndefinedSymbol.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerUndefinedSymbol.java
@@ -20,23 +20,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestLinkerUndefinedSymbol extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc linker with "ERROR" level is given as
- * input for testing.
+ * xlc linker with "ERROR" level is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Undefined symbol: nofun()",aix.getMessage(0));
+ assertEquals("Undefined symbol: nofun()", aix.getMessage(0));
}
- public TestLinkerUndefinedSymbol( String name)
- {
+
+ public TestLinkerUndefinedSymbol(String name) {
super(name);
err_msg = "ld: 0711-317 ERROR: Undefined symbol: nofun()";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedeclaration.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedeclaration.java
index a56b2cf1d40..4b5f3361d86 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedeclaration.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedeclaration.java
@@ -24,26 +24,27 @@ public class TestRedeclaration extends TestCase {
* xlc compiler for symbol redeclaration problem is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
// Redeclaration error generates 2 cross-referencing messages.
String err_msg = "\"src/temp1.c\", line 6.6: 1506-343 (S) Redeclaration of my_fun differs from previous declaration on line 334 of \"include/temp1.h\".";
aix.parseLine(err_msg);
assertEquals(2, aix.getNumberOfMarkers());
-
- assertEquals("Redeclaration of my_fun differs from another declaration on line 6 of \"src/temp1.c\".", aix.getMessage(0));
+
+ assertEquals("Redeclaration of my_fun differs from another declaration on line 6 of \"src/temp1.c\".",
+ aix.getMessage(0));
assertEquals("temp1.h", aix.getFileName(0));
assertEquals(334, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
-
- assertEquals("Redeclaration of my_fun differs from previous declaration on line 334 of \"include/temp1.h\".", aix.getMessage(1));
+
+ assertEquals("Redeclaration of my_fun differs from previous declaration on line 334 of \"include/temp1.h\".",
+ aix.getMessage(1));
assertEquals("temp1.c", aix.getFileName(1));
assertEquals(6, aix.getLineNumber(1));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(1));
}
- public TestRedeclaration( String name)
- {
+
+ public TestRedeclaration(String name) {
super(name);
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedefinition.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedefinition.java
index 13090b71c2e..9ec6f5412cd 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedefinition.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedefinition.java
@@ -24,8 +24,7 @@ public class TestRedefinition extends TestCase {
* xlc compiler for macro/variable redefinition problem is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
// Macro redefinition warning generates 2 messages. First line is ignored.
// Second line is re-parsed to 2 warnings to cross-reference both.
@@ -37,29 +36,29 @@ public class TestRedefinition extends TestCase {
aix.parseLine(err_msg2);
aix.parseLine(err_msg3);
assertEquals(4, aix.getNumberOfMarkers());
-
+
assertEquals("\"TEMP_1\" has been redefined on line 5 of temp1.c", aix.getMessage(0));
assertEquals("temp1.h", aix.getFileName(0));
assertEquals(3, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(0));
-
+
assertEquals("\"TEMP_1\" redefines original definition on line 3 of temp1.h", aix.getMessage(1));
assertEquals("temp1.c", aix.getFileName(1));
assertEquals(5, aix.getLineNumber(1));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(1));
-
+
assertEquals("\"MACRO_2\" has been redefined on line 17 of temp2.c", aix.getMessage(2));
assertEquals("temp2.c", aix.getFileName(2));
assertEquals(10, aix.getLineNumber(2));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(2));
-
+
assertEquals("\"MACRO_2\" redefines original definition on line 10 of temp2.c", aix.getMessage(3));
assertEquals("temp2.c", aix.getFileName(3));
assertEquals(17, aix.getLineNumber(3));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(3));
}
- public TestRedefinition( String name)
- {
+
+ public TestRedefinition(String name) {
super(name);
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_1.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_1.java
index 6bd834725d2..497bb1ef2cf 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_1.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_1.java
@@ -19,25 +19,24 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestSevereError_1 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc compiler with high severity (S) is given as
- * input for testing.
+ * xlc compiler with high severity (S) is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp1.c", aix.getFileName(0));
assertEquals(5, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Syntax error: possible missing ')'?",aix.getMessage(0));
+ assertEquals("Syntax error: possible missing ')'?", aix.getMessage(0));
}
- public TestSevereError_1( String name)
- {
+
+ public TestSevereError_1(String name) {
super(name);
- err_msg = "\"temp1.c\", line 5.1: 1506-276 (S) "
- + "Syntax error: possible missing ')'?";
+ err_msg = "\"temp1.c\", line 5.1: 1506-276 (S) " + "Syntax error: possible missing ')'?";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_2.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_2.java
index 9008fddde6e..b75f9fab4a2 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_2.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_2.java
@@ -20,25 +20,24 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestSevereError_2 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc compiler with high severity (S) is given as
- * input for testing.
+ * xlc compiler with high severity (S) is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp5.c", aix.getFileName(0));
assertEquals(5, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Undeclared identifier y.",aix.getMessage(0));
+ assertEquals("Undeclared identifier y.", aix.getMessage(0));
}
- public TestSevereError_2( String name)
- {
+
+ public TestSevereError_2(String name) {
super(name);
- err_msg = "\"temp5.c\", line 5.9: 1506-045 (S) " +
- "Undeclared identifier y.";
+ err_msg = "\"temp5.c\", line 5.9: 1506-045 (S) " + "Undeclared identifier y.";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_3.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_3.java
index bd6afb64b7c..68a929c5cc8 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_3.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_3.java
@@ -18,29 +18,26 @@ import junit.framework.TestCase;
import org.eclipse.cdt.core.IMarkerGenerator;
-
public class TestSevereError_3 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc compiler with high severity (S) is given as
- * input for testing.
+ * xlc compiler with high severity (S) is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp9.c", aix.getFileName(0));
assertEquals(11, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Floating point constant 10.23.3 is not valid",
- aix.getMessage(0));
+ assertEquals("Floating point constant 10.23.3 is not valid", aix.getMessage(0));
}
- public TestSevereError_3( String name)
- {
+
+ public TestSevereError_3(String name) {
super(name);
- err_msg = "\"temp9.c\", line 11.18: 1506-189 (S) " +
- "Floating point constant 10.23.3 is not valid";
+ err_msg = "\"temp9.c\", line 11.18: 1506-189 (S) " + "Floating point constant 10.23.3 is not valid";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_4.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_4.java
index 8658a500c28..874d3d7ff27 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_4.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_4.java
@@ -20,28 +20,26 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestSevereError_4 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc compiler with high severity (S) is given as
- * input for testing.
+ * xlc compiler with high severity (S) is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp9.c", aix.getFileName(0));
assertEquals(12, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Function argument assignment between types " +
- "\"int\" and \"char*\" is not allowed.",
- aix.getMessage(0));
+ assertEquals("Function argument assignment between types " + "\"int\" and \"char*\" is not allowed.",
+ aix.getMessage(0));
}
- public TestSevereError_4( String name)
- {
+
+ public TestSevereError_4(String name) {
super(name);
- err_msg = "\"temp9.c\", line 12.18: 1506-280 (S) " +
- "Function argument assignment between types " +
- "\"int\" and \"char*\" is not allowed.";
+ err_msg = "\"temp9.c\", line 12.18: 1506-280 (S) " + "Function argument assignment between types "
+ + "\"int\" and \"char*\" is not allowed.";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_5.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_5.java
index 0e0bbd861f9..85c6de53283 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_5.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_5.java
@@ -17,28 +17,26 @@ import junit.framework.TestCase;
import org.eclipse.cdt.core.IMarkerGenerator;
-
public class TestSevereError_5 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
- * xlc compiler with high severity (S) is given as
- * input for testing.
+ * xlc compiler with high severity (S) is given as
+ * input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp9.c", aix.getFileName(0));
assertEquals(13, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("Operand must be a modifiable lvalue.",aix.getMessage(0));
+ assertEquals("Operand must be a modifiable lvalue.", aix.getMessage(0));
}
- public TestSevereError_5( String name)
- {
+
+ public TestSevereError_5(String name) {
super(name);
- err_msg = "\"temp9.c\", line 13.9: 1506-025 (S) " +
- "Operand must be a modifiable lvalue.";
+ err_msg = "\"temp9.c\", line 13.9: 1506-025 (S) " + "Operand must be a modifiable lvalue.";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_1.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_1.java
index 17b8356f7af..30a44c7882a 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_1.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_1.java
@@ -19,25 +19,24 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestUnrecoverableError_1 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Error message generated by
* xlc compiler with unrecoverable severity (U) is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp1.c", aix.getFileName(0));
assertEquals(5, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("INTERNAL COMPILER ERROR",aix.getMessage(0));
+ assertEquals("INTERNAL COMPILER ERROR", aix.getMessage(0));
}
- public TestUnrecoverableError_1( String name)
- {
+
+ public TestUnrecoverableError_1(String name) {
super(name);
- err_msg = "\"temp1.c\", line 5.1: 1506-001 (U) "
- + "INTERNAL COMPILER ERROR";
+ err_msg = "\"temp1.c\", line 5.1: 1506-001 (U) " + "INTERNAL COMPILER ERROR";
}
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_2.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_2.java
index b9f93edf52a..5db28e28afc 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_2.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_2.java
@@ -19,23 +19,24 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestUnrecoverableError_2 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. A variant of error message generated by
* xlc compiler with unrecoverable severity (U) is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("An error occurred during code generation. The code generation return code was 1.",aix.getMessage(0));
+ assertEquals("An error occurred during code generation. The code generation return code was 1.",
+ aix.getMessage(0));
}
- public TestUnrecoverableError_2( String name)
- {
+
+ public TestUnrecoverableError_2(String name) {
super(name);
err_msg = "1586-346 (U) An error occurred during code generation. The code generation return code was 1.";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_3.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_3.java
index b780d577dd5..82635bcfed6 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_3.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_3.java
@@ -19,23 +19,25 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestUnrecoverableError_3 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. A variant of error message generated by
* xlc compiler with unrecoverable severity (U) is given as
* input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("", aix.getFileName(0));
assertEquals(0, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(0));
- assertEquals("INTERNAL COMPILER ERROR while compiling ----. Compilation ended. Contact your Service Representative and provide the following information: Internal abort. For more information visit: http://www.ibm.com/support/docview.wss?uid=swg21110810",aix.getMessage(0));
+ assertEquals(
+ "INTERNAL COMPILER ERROR while compiling ----. Compilation ended. Contact your Service Representative and provide the following information: Internal abort. For more information visit: http://www.ibm.com/support/docview.wss?uid=swg21110810",
+ aix.getMessage(0));
}
- public TestUnrecoverableError_3( String name)
- {
+
+ public TestUnrecoverableError_3(String name) {
super(name);
err_msg = " 1500-004: (U) INTERNAL COMPILER ERROR while compiling ----. Compilation ended. Contact your Service Representative and provide the following information: Internal abort. For more information visit: http://www.ibm.com/support/docview.wss?uid=swg21110810";
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestWarning_1.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestWarning_1.java
index 0373e21c421..7cfa9d55275 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestWarning_1.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestWarning_1.java
@@ -19,24 +19,23 @@ import org.eclipse.cdt.core.IMarkerGenerator;
public class TestWarning_1 extends TestCase {
String err_msg;
+
/**
* This function tests parseLine function of the
* XlcErrorParser class. Warning message generated by
- * xlc compiler (W) is given as input for testing.
+ * xlc compiler (W) is given as input for testing.
*/
- public void testparseLine()
- {
+ public void testparseLine() {
XlcErrorParserTester aix = new XlcErrorParserTester();
aix.parseLine(err_msg);
assertEquals("temp1.c", aix.getFileName(0));
assertEquals(5, aix.getLineNumber(0));
assertEquals(IMarkerGenerator.SEVERITY_WARNING, aix.getSeverity(0));
- assertEquals("No function prototype given for \"printf\".",aix.getMessage(0));
+ assertEquals("No function prototype given for \"printf\".", aix.getMessage(0));
}
- public TestWarning_1( String name)
- {
+
+ public TestWarning_1(String name) {
super(name);
- err_msg = "\"temp1.c\", line 5.9: 1506-304 (W) "
- + "No function prototype given for \"printf\".";
+ err_msg = "\"temp1.c\", line 5.9: 1506-304 (W) " + "No function prototype given for \"printf\".";
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java
index 4bb1592c09a..b3d238b791d 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java
@@ -29,7 +29,7 @@ public class TestsPlugin extends AbstractUIPlugin {
private static TestsPlugin plugin;
//Resource bundle.
private ResourceBundle resourceBundle;
-
+
/**
* The constructor.
*/
@@ -80,7 +80,8 @@ public class TestsPlugin extends AbstractUIPlugin {
public ResourceBundle getResourceBundle() {
try {
if (resourceBundle == null)
- resourceBundle = ResourceBundle.getBundle("org.eclipse.cdt.errorparsers.xlc.tests.TestsPluginResources");
+ resourceBundle = ResourceBundle
+ .getBundle("org.eclipse.cdt.errorparsers.xlc.tests.TestsPluginResources");
} catch (MissingResourceException x) {
resourceBundle = null;
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/XlcErrorParserTester.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/XlcErrorParserTester.java
index 87652c9a7f4..f6a7fdb10e7 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/XlcErrorParserTester.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/XlcErrorParserTester.java
@@ -39,15 +39,16 @@ import org.eclipse.core.runtime.IPath;
public class XlcErrorParserTester {
public static final String XLC_ERROR_PARSER_ID = "org.eclipse.cdt.errorparsers.xlc.XlcErrorParser";
- static private int counter=0;
- IProject fTempProject = ResourcesPlugin.getWorkspace().getRoot().getProject("XlcErrorParserTester.temp." + counter++);
+ static private int counter = 0;
+ IProject fTempProject = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject("XlcErrorParserTester.temp." + counter++);
XlcErrorParserTester() {
try {
fTempProject.create(null);
} catch (CoreException e) {
e.printStackTrace();
- fail("Exception creating temporary project "+fTempProject.getName()+": "+e);
+ fail("Exception creating temporary project " + fTempProject.getName() + ": " + e);
}
}
@@ -57,7 +58,7 @@ public class XlcErrorParserTester {
private int severity;
private String message;
}
-
+
private List<MarkerData> markerDataList = new ArrayList<MarkerData>();
/*
@@ -66,8 +67,7 @@ public class XlcErrorParserTester {
*/
private class MockMarkerGenerator implements IMarkerGenerator {
- public void addMarker(IResource file, int lineNumber, String errorDesc,
- int severity, String errorVar) {
+ public void addMarker(IResource file, int lineNumber, String errorDesc, int severity, String errorVar) {
// dummy
}
@@ -97,7 +97,7 @@ public class XlcErrorParserTester {
*/
@Override
public IFile findFileName(String fileName) {
- if (fileName!=null && fileName.trim().length()>0)
+ if (fileName != null && fileName.trim().length() > 0)
return fTempProject.getFile(fileName);
return null;
}
@@ -106,18 +106,19 @@ public class XlcErrorParserTester {
* Called by ErrorPattern.RecordError() for external problem markers
*/
@Override
- public void generateExternalMarker(IResource rc, int lineNumb, String desc, int sev, String varName, IPath externalPath) {
+ public void generateExternalMarker(IResource rc, int lineNumb, String desc, int sev, String varName,
+ IPath externalPath) {
// if rc is this project it means that file was not found
MarkerData markerData = new MarkerData();
- if (rc!=null && rc!=fTempProject) {
+ if (rc != null && rc != fTempProject) {
markerData.fileName = rc.getName();
} else {
- markerData.fileName="";
+ markerData.fileName = "";
}
markerData.lineNumber = lineNumb;
markerData.message = desc;
markerData.severity = sev;
-
+
markerDataList.add(markerData);
}
}
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/src/org/eclipse/cdt/errorparsers/xlc/Activator.java b/xlc/org.eclipse.cdt.errorparsers.xlc/src/org/eclipse/cdt/errorparsers/xlc/Activator.java
index 59e1cc91bbb..e455e15efe8 100644
--- a/xlc/org.eclipse.cdt.errorparsers.xlc/src/org/eclipse/cdt/errorparsers/xlc/Activator.java
+++ b/xlc/org.eclipse.cdt.errorparsers.xlc/src/org/eclipse/cdt/errorparsers/xlc/Activator.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -27,7 +27,7 @@ public class Activator extends AbstractUIPlugin {
// The shared instance
private static Activator plugin;
-
+
/**
* The constructor
*/
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/activator/Activator.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/activator/Activator.java
index e76e86f2cde..bf0781bbfee 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/activator/Activator.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/activator/Activator.java
@@ -32,7 +32,7 @@ public class Activator extends Plugin {
*/
public Activator() {
super();
- if(fInstance == null) {
+ if (fInstance == null) {
fInstance = this;
}
}
@@ -47,8 +47,7 @@ public class Activator extends Plugin {
public static void log(String message, Throwable e) {
Throwable nestedException;
- if (e instanceof CModelException
- && (nestedException = ((CModelException)e).getException()) != null) {
+ if (e instanceof CModelException && (nestedException = ((CModelException) e).getException()) != null) {
e = nestedException;
}
log(createStatus(message, e));
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/AbstractXLCBuildOutputParser.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/AbstractXLCBuildOutputParser.java
index 842604bd3de..e7ef4adde10 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/AbstractXLCBuildOutputParser.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/AbstractXLCBuildOutputParser.java
@@ -84,8 +84,8 @@ public abstract class AbstractXLCBuildOutputParser implements IScannerInfoConsol
*/
protected String[] computeCompilerCommands() {
if (fProject != null) {
- SCProfileInstance profileInstance = ScannerConfigProfileManager.getInstance().getSCProfileInstance(
- fProject, ScannerConfigProfileManager.NULL_PROFILE_ID);
+ SCProfileInstance profileInstance = ScannerConfigProfileManager.getInstance().getSCProfileInstance(fProject,
+ ScannerConfigProfileManager.NULL_PROFILE_ID);
BuildOutputProvider boProvider = profileInstance.getProfile().getBuildOutputProviderElement();
if (boProvider != null) {
String compilerCommandsString = boProvider.getScannerInfoConsoleParser().getCompilerCommands();
@@ -140,9 +140,9 @@ public abstract class AbstractXLCBuildOutputParser implements IScannerInfoConsol
fSMultiline = ""; //$NON-NLS-1$
}
line = line.trim();
- try{
+ try {
TraceUtil.outputTrace("XLCBuildOutputParser parsing line: [", line, "]"); //$NON-NLS-1$ //$NON-NLS-2$
- }catch(NoClassDefFoundError e){
+ } catch (NoClassDefFoundError e) {
//no problem, as this may be called from a standalone indexer
}
// make\[[0-9]*\]: error_desc
@@ -202,7 +202,7 @@ public abstract class AbstractXLCBuildOutputParser implements IScannerInfoConsol
getUtility().reportProblems();
}
- if(fCollector != null && fCollector instanceof IScannerInfoCollector2) {
+ if (fCollector != null && fCollector instanceof IScannerInfoCollector2) {
IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
try {
collector.updateScannerConfiguration(null);
@@ -386,7 +386,7 @@ public abstract class AbstractXLCBuildOutputParser implements IScannerInfoConsol
abstract protected boolean processCommand(String[] tokens);
- protected List<String> getFileExtensionsList() {
+ protected List<String> getFileExtensionsList() {
IContentTypeManager manager = Platform.getContentTypeManager();
List<String> extensions = new LinkedList<String>();
IContentType cSource = manager.getContentType(CCorePlugin.CONTENT_TYPE_CSOURCE);
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerFileXLCScannerInfoCollector.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerFileXLCScannerInfoCollector.java
index 3774867d42c..5ef88b40059 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerFileXLCScannerInfoCollector.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerFileXLCScannerInfoCollector.java
@@ -98,7 +98,8 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
private boolean fIsDefaultContext;
private List<IResource> fChangedResources;
- public ScannerConfigUpdateJob(InfoContext context, IDiscoveredPathInfo pathInfo, boolean isDefaultContext, List<IResource> changedResources) {
+ public ScannerConfigUpdateJob(InfoContext context, IDiscoveredPathInfo pathInfo, boolean isDefaultContext,
+ List<IResource> changedResources) {
super(Messages.getString("PerFileXLCScannerInfoCollector.0")); //$NON-NLS-1$);
fContext = context;
fPathInfo = pathInfo;
@@ -108,9 +109,9 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
@Override
protected IStatus run(IProgressMonitor monitor) {
- try {
+ try {
- // get the scanner info profile ID
+ // get the scanner info profile ID
IManagedBuildInfo info = ManagedBuildManager.getBuildInfo(project);
IConfiguration config = info.getDefaultConfiguration();
@@ -118,25 +119,28 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
String profileID = config.getToolChain().getScannerConfigDiscoveryProfileId();
IDiscoveredPathManager manager = MakeCorePlugin.getDefault().getDiscoveryManager();
- if(manager instanceof DiscoveredPathManager) {
- ((DiscoveredPathManager)manager).updateDiscoveredInfo(fContext, fPathInfo, fIsDefaultContext, fChangedResources, profileID);
+ if (manager instanceof DiscoveredPathManager) {
+ ((DiscoveredPathManager) manager).updateDiscoveredInfo(fContext, fPathInfo, fIsDefaultContext,
+ fChangedResources, profileID);
}
// reload project description to hopefully get the data to take
ICProjectDescriptionManager descriptionManager = CoreModel.getDefault().getProjectDescriptionManager();
- ICProjectDescription cProjectDescription = descriptionManager.getProjectDescription(project, true /* writable */);
+ ICProjectDescription cProjectDescription = descriptionManager.getProjectDescription(project,
+ true /* writable */);
ICConfigurationDescription configDes = cProjectDescription.getActiveConfiguration();
IToolChain toolchain = config.getToolChain();
- for(ITool tool : toolchain.getTools()) {
- for(IInputType inputType : tool.getInputTypes()) {
+ for (ITool tool : toolchain.getTools()) {
+ for (IInputType inputType : tool.getInputTypes()) {
IContentType contentType = inputType.getSourceContentType();
- if(contentType != null) {
- for(IResource resource : fChangedResources) {
+ if (contentType != null) {
+ for (IResource resource : fChangedResources) {
// get language settings for the resource
- ICLanguageSetting langSetting = configDes.getLanguageSettingForFile(resource.getProjectRelativePath(), false);
+ ICLanguageSetting langSetting = configDes
+ .getLanguageSettingForFile(resource.getProjectRelativePath(), false);
- if(langSetting == null) {
+ if (langSetting == null) {
continue;
}
@@ -145,14 +149,14 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
// if the setting doesn't handle our content type ID, then go to the next resource
boolean found = false;
- for(String id : contentTypeIDs) {
- if(id.equals(contentType.getId())) {
+ for (String id : contentTypeIDs) {
+ if (id.equals(contentType.getId())) {
found = true;
break;
}
}
- if(!found) {
+ if (!found) {
continue;
}
@@ -166,23 +170,22 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- descriptionManager.setProjectDescription(project, cProjectDescription, true /* force */, monitor);
+ descriptionManager.setProjectDescription(project, cProjectDescription, true /* force */, monitor);
} catch (CoreException e) {
Activator.log(e);
return Activator.createStatus(Messages.getString("PerFileXLCScannerInfoCollector.1")); //$NON-NLS-1$
}
- return Status.OK_STATUS;
+ return Status.OK_STATUS;
}
private boolean updateMacroSettings(ICLanguageSetting langSetting) {
ICLanguageSettingEntry[] entries = langSetting.getSettingEntries(ICSettingEntry.MACRO);
List<ICLanguageSettingEntry> newEntries = new LinkedList<ICLanguageSettingEntry>();
- for(ICLanguageSettingEntry entry : entries) {
+ for (ICLanguageSettingEntry entry : entries) {
newEntries.add(entry);
}
-
boolean entriesChanged = false;
// look for settings corresponding to each path we discovered
@@ -198,15 +201,16 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
// if we didn't find the path, add it
- if(!symbolFound) {
+ if (!symbolFound) {
entriesChanged = true;
- CMacroEntry newEntry = CDataUtil.createCMacroEntry(symbol, discSymbols.get(symbol), ICSettingEntry.BUILTIN | ICSettingEntry.READONLY | ICSettingEntry.RESOLVED);
+ CMacroEntry newEntry = CDataUtil.createCMacroEntry(symbol, discSymbols.get(symbol),
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY | ICSettingEntry.RESOLVED);
newEntries.add(newEntry);
}
}
// if we changed the entries, then set the new ones
- if(entriesChanged) {
+ if (entriesChanged) {
langSetting.setSettingEntries(ICSettingEntry.MACRO, newEntries.toArray(new ICLanguageSettingEntry[0]));
}
@@ -216,7 +220,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
private boolean updateIncludeSettings(ICLanguageSetting langSetting) {
ICLanguageSettingEntry[] entries = langSetting.getSettingEntries(ICSettingEntry.INCLUDE_PATH);
List<ICLanguageSettingEntry> newEntries = new LinkedList<ICLanguageSettingEntry>();
- for(ICLanguageSettingEntry entry : entries) {
+ for (ICLanguageSettingEntry entry : entries) {
newEntries.add(entry);
}
@@ -235,16 +239,18 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
// if we didn't find the path, add it
- if(!pathFound) {
+ if (!pathFound) {
entriesChanged = true;
- CIncludePathEntry newEntry = CDataUtil.createCIncludePathEntry(path.toString(), ICSettingEntry.BUILTIN | ICSettingEntry.READONLY | ICSettingEntry.RESOLVED);
+ CIncludePathEntry newEntry = CDataUtil.createCIncludePathEntry(path.toString(),
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY | ICSettingEntry.RESOLVED);
newEntries.add(newEntry);
}
}
// if we changed the entries, then set the new ones
- if(entriesChanged) {
- langSetting.setSettingEntries(ICSettingEntry.INCLUDE_PATH, newEntries.toArray(new ICLanguageSettingEntry[0]));
+ if (entriesChanged) {
+ langSetting.setSettingEntries(ICSettingEntry.INCLUDE_PATH,
+ newEntries.toArray(new ICLanguageSettingEntry[0]));
}
return entriesChanged;
@@ -261,7 +267,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
private IPerFileDiscoveredPathInfo2 getPerFileInfo1() {
- if(fInfo1 instanceof IPerFileDiscoveredPathInfo2) {
+ if (fInfo1 instanceof IPerFileDiscoveredPathInfo2) {
return (IPerFileDiscoveredPathInfo2) fInfo1;
}
@@ -460,176 +466,176 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
/**
- * Per file DPI object
- *
- * @author vhirsl
- */
- protected class PerFileDiscoveredPathInfo implements IPerFileDiscoveredPathInfo2 {
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getIncludeFiles(org.eclipse.core.runtime.IPath)
- */
- @Override
+ * Per file DPI object
+ *
+ * @author vhirsl
+ */
+ protected class PerFileDiscoveredPathInfo implements IPerFileDiscoveredPathInfo2 {
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getIncludeFiles(org.eclipse.core.runtime.IPath)
+ */
+ @Override
public IPath[] getIncludeFiles(IPath path) {
- synchronized (fLock) {
-
- Set<IPath> pathSet = new LinkedHashSet<IPath>();
- // get the command
- CCommandDSC cmd = getCommand(path);
- if (cmd != null) {
- IPath[] paths = stringListToPathArray(cmd.getIncludeFile());
- pathSet.addAll(Arrays.asList(paths));
- }
- // use project scope scanner info
- if (psi == null) {
- generateProjectScannerInfo();
- }
-
- for(IPath path2 : psi.includeFiles) {
- pathSet.add(path2);
- }
-
- return pathSet.toArray(new IPath[0]);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getIncludePaths()
- */
- @Override
+ synchronized (fLock) {
+
+ Set<IPath> pathSet = new LinkedHashSet<IPath>();
+ // get the command
+ CCommandDSC cmd = getCommand(path);
+ if (cmd != null) {
+ IPath[] paths = stringListToPathArray(cmd.getIncludeFile());
+ pathSet.addAll(Arrays.asList(paths));
+ }
+ // use project scope scanner info
+ if (psi == null) {
+ generateProjectScannerInfo();
+ }
+
+ for (IPath path2 : psi.includeFiles) {
+ pathSet.add(path2);
+ }
+
+ return pathSet.toArray(new IPath[0]);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getIncludePaths()
+ */
+ @Override
public IPath[] getIncludePaths() {
- final IPath[] includepaths;
- final IPath[] quotepaths;
- synchronized (fLock) {
-// return new IPath[0];
- includepaths = getAllIncludePaths(INCLUDE_PATH);
- quotepaths = getAllIncludePaths(QUOTE_INCLUDE_PATH);
- }
- if (quotepaths == null || quotepaths.length == 0) {
- return includepaths;
- }
- if (includepaths == null || includepaths.length == 0) {
- return quotepaths;
- }
- ArrayList<IPath> result = new ArrayList<IPath>(includepaths.length + quotepaths.length);
- result.addAll(Arrays.asList(includepaths));
- result.addAll(Arrays.asList(quotepaths));
- return result.toArray(new IPath[result.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getIncludePaths(org.eclipse.core.runtime.IPath)
- */
- @Override
+ final IPath[] includepaths;
+ final IPath[] quotepaths;
+ synchronized (fLock) {
+ // return new IPath[0];
+ includepaths = getAllIncludePaths(INCLUDE_PATH);
+ quotepaths = getAllIncludePaths(QUOTE_INCLUDE_PATH);
+ }
+ if (quotepaths == null || quotepaths.length == 0) {
+ return includepaths;
+ }
+ if (includepaths == null || includepaths.length == 0) {
+ return quotepaths;
+ }
+ ArrayList<IPath> result = new ArrayList<IPath>(includepaths.length + quotepaths.length);
+ result.addAll(Arrays.asList(includepaths));
+ result.addAll(Arrays.asList(quotepaths));
+ return result.toArray(new IPath[result.size()]);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getIncludePaths(org.eclipse.core.runtime.IPath)
+ */
+ @Override
public IPath[] getIncludePaths(IPath path) {
- synchronized (fLock) {
- Set<IPath> pathSet = new LinkedHashSet<IPath>();
- // get the command
- CCommandDSC cmd = getCommand(path);
- if (cmd != null) {
- IPath[] paths = stringListToPathArray(cmd.getIncludes());
- pathSet.addAll(Arrays.asList(paths));
- }
- // use project scope scanner info
- if (psi == null) {
- generateProjectScannerInfo();
- }
-
- for(IPath path2 : psi.includePaths) {
- pathSet.add(path2);
- }
-
- return pathSet.toArray(new IPath[0]);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#getMacroFiles(org.eclipse.core.runtime.IPath)
- */
- @Override
+ synchronized (fLock) {
+ Set<IPath> pathSet = new LinkedHashSet<IPath>();
+ // get the command
+ CCommandDSC cmd = getCommand(path);
+ if (cmd != null) {
+ IPath[] paths = stringListToPathArray(cmd.getIncludes());
+ pathSet.addAll(Arrays.asList(paths));
+ }
+ // use project scope scanner info
+ if (psi == null) {
+ generateProjectScannerInfo();
+ }
+
+ for (IPath path2 : psi.includePaths) {
+ pathSet.add(path2);
+ }
+
+ return pathSet.toArray(new IPath[0]);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#getMacroFiles(org.eclipse.core.runtime.IPath)
+ */
+ @Override
public IPath[] getMacroFiles(IPath path) {
- synchronized (fLock) {
- Set<IPath> pathSet = new LinkedHashSet<IPath>();
- // get the command
- CCommandDSC cmd = getCommand(path);
- if (cmd != null) {
- IPath[] paths = stringListToPathArray(cmd.getImacrosFile());
- pathSet.addAll(Arrays.asList(paths));
- }
- // use project scope scanner info
- if (psi == null) {
- generateProjectScannerInfo();
- }
-
- for(IPath path2 : psi.macrosFiles) {
- pathSet.add(path2);
- }
-
- return pathSet.toArray(new IPath[0]);
- }
- }
-
- @Override
+ synchronized (fLock) {
+ Set<IPath> pathSet = new LinkedHashSet<IPath>();
+ // get the command
+ CCommandDSC cmd = getCommand(path);
+ if (cmd != null) {
+ IPath[] paths = stringListToPathArray(cmd.getImacrosFile());
+ pathSet.addAll(Arrays.asList(paths));
+ }
+ // use project scope scanner info
+ if (psi == null) {
+ generateProjectScannerInfo();
+ }
+
+ for (IPath path2 : psi.macrosFiles) {
+ pathSet.add(path2);
+ }
+
+ return pathSet.toArray(new IPath[0]);
+ }
+ }
+
+ @Override
public Map<IResource, PathInfo> getPathInfoMap() {
- synchronized (fLock) {
+ synchronized (fLock) {
//TODO: do we need to cache this?
return calculatePathInfoMap();
- }
+ }
}
/* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getProject()
- */
- @Override
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getProject()
+ */
+ @Override
public IProject getProject() {
- return project;
- }
+ return project;
+ }
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#getQuoteIncludePaths(org.eclipse.core.runtime.IPath)
- */
- @Override
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#getQuoteIncludePaths(org.eclipse.core.runtime.IPath)
+ */
+ @Override
public IPath[] getQuoteIncludePaths(IPath path) {
- synchronized (fLock) {
- Set<IPath> pathSet = new LinkedHashSet<IPath>();
- // get the command
- CCommandDSC cmd = getCommand(path);
- if (cmd != null) {
- IPath[] paths = stringListToPathArray(cmd.getQuoteIncludes());
- pathSet.addAll(Arrays.asList(paths));
- }
- // use project scope scanner info
- if (psi == null) {
- generateProjectScannerInfo();
- }
-
- for(IPath path2 : psi.quoteIncludePaths) {
- pathSet.add(path2);
- }
-
- return pathSet.toArray(new IPath[0]);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#getSerializable()
- */
- @Override
+ synchronized (fLock) {
+ Set<IPath> pathSet = new LinkedHashSet<IPath>();
+ // get the command
+ CCommandDSC cmd = getCommand(path);
+ if (cmd != null) {
+ IPath[] paths = stringListToPathArray(cmd.getQuoteIncludes());
+ pathSet.addAll(Arrays.asList(paths));
+ }
+ // use project scope scanner info
+ if (psi == null) {
+ generateProjectScannerInfo();
+ }
+
+ for (IPath path2 : psi.quoteIncludePaths) {
+ pathSet.add(path2);
+ }
+
+ return pathSet.toArray(new IPath[0]);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#getSerializable()
+ */
+ @Override
public IDiscoveredScannerInfoSerializable getSerializable() {
- synchronized (fLock) {
- return sid;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getSymbols()
- */
- @Override
+ synchronized (fLock) {
+ return sid;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getSymbols()
+ */
+ @Override
public Map<String, String> getSymbols() {
-// return new HashMap();
- synchronized (fLock) {
- return getAllSymbols();
- }
- }
+ // return new HashMap();
+ synchronized (fLock) {
+ return getAllSymbols();
+ }
+ }
/*
* (non-Javadoc)
@@ -691,198 +697,195 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- }
+ }
public static class ProjectScannerInfo {
- public Map<String, String> definedSymbols;
- public IPath[] includeFiles;
- public IPath[] includePaths;
- public IPath[] macrosFiles;
- public IPath[] quoteIncludePaths;
+ public Map<String, String> definedSymbols;
+ public IPath[] includeFiles;
+ public IPath[] includePaths;
+ public IPath[] macrosFiles;
+ public IPath[] quoteIncludePaths;
+
public boolean isEmpty() {
- return (includePaths.length == 0 &&
- quoteIncludePaths.length == 0 &&
- includeFiles.length == 0 &&
- macrosFiles.length == 0 &&
- definedSymbols.size() == 0);
+ return (includePaths.length == 0 && quoteIncludePaths.length == 0 && includeFiles.length == 0
+ && macrosFiles.length == 0 && definedSymbols.size() == 0);
}
- }
+ }
public class ScannerInfoData implements IDiscoveredScannerInfoSerializable {
- public static final String DEFINED_SYMBOL = "definedSymbol"; //$NON-NLS-1$
- public static final String ID_ATTR = "id"; //$NON-NLS-1$
- public static final String INCLUDE_PATH = "includePath"; //$NON-NLS-1$
+ public static final String DEFINED_SYMBOL = "definedSymbol"; //$NON-NLS-1$
+ public static final String ID_ATTR = "id"; //$NON-NLS-1$
+ public static final String INCLUDE_PATH = "includePath"; //$NON-NLS-1$
- private static final String NAME = "name"; //$NON-NLS-1$
+ private static final String NAME = "name"; //$NON-NLS-1$
- public static final String PATH = "path"; //$NON-NLS-1$
- private static final String PROJECT = "project"; //$NON-NLS-1$
- public static final String REMOVED = "removed"; //$NON-NLS-1$
- public static final String SYMBOL = "symbol"; //$NON-NLS-1$
- public final Map<Integer, CCommandDSC> commandIdCommandMap; // map of all commands
+ public static final String PATH = "path"; //$NON-NLS-1$
+ private static final String PROJECT = "project"; //$NON-NLS-1$
+ public static final String REMOVED = "removed"; //$NON-NLS-1$
+ public static final String SYMBOL = "symbol"; //$NON-NLS-1$
+ public final Map<Integer, CCommandDSC> commandIdCommandMap; // map of all commands
public final Map<Integer, Set<IFile>> commandIdToFilesMap; // command id and set of files it applies to
- public final Map<IFile, Integer> fileToCommandIdMap; // maps each file to the corresponding command id
-
- public ScannerInfoData() {
- commandIdCommandMap = new LinkedHashMap<Integer, CCommandDSC>(); // [commandId, command]
- fileToCommandIdMap = new HashMap<IFile, Integer>(); // [file, commandId]
- commandIdToFilesMap = new HashMap<Integer, Set<IFile>>(); // [commandId, set of files]
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore.IDiscoveredScannerInfoSerializable#deserialize(org.w3c.dom.Element)
- */
- @Override
+ public final Map<IFile, Integer> fileToCommandIdMap; // maps each file to the corresponding command id
+
+ public ScannerInfoData() {
+ commandIdCommandMap = new LinkedHashMap<Integer, CCommandDSC>(); // [commandId, command]
+ fileToCommandIdMap = new HashMap<IFile, Integer>(); // [file, commandId]
+ commandIdToFilesMap = new HashMap<Integer, Set<IFile>>(); // [commandId, set of files]
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore.IDiscoveredScannerInfoSerializable#deserialize(org.w3c.dom.Element)
+ */
+ @Override
public void deserialize(Element collectorElem) {
- synchronized (fLock) {
+ synchronized (fLock) {
- for (Node child = collectorElem.getFirstChild(); child != null; child = child.getNextSibling()) {
- if(child.getNodeName().equals(PROJECT)) {
- Element projectElement = (Element) child;
- String projectName = projectElement.getAttribute(NAME);
+ for (Node child = collectorElem.getFirstChild(); child != null; child = child.getNextSibling()) {
+ if (child.getNodeName().equals(PROJECT)) {
+ Element projectElement = (Element) child;
+ String projectName = projectElement.getAttribute(NAME);
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- Map<ScannerInfoTypes, List<String>> scannerInfo = new HashMap<ScannerInfoTypes, List<String>>();
+ Map<ScannerInfoTypes, List<String>> scannerInfo = new HashMap<ScannerInfoTypes, List<String>>();
- List<String> includes = new LinkedList<String>();
- List<String> symbols = new LinkedList<String>();
+ List<String> includes = new LinkedList<String>();
+ List<String> symbols = new LinkedList<String>();
- // iterate over children
- for(Node projectChild = projectElement.getFirstChild(); projectChild != null; projectChild = projectChild.getNextSibling()) {
- if(projectChild.getNodeName().equals(INCLUDE_PATH)) {
- Element childElem = (Element) projectChild;
- String path = childElem.getAttribute(PATH);
- if(path != null) {
+ // iterate over children
+ for (Node projectChild = projectElement
+ .getFirstChild(); projectChild != null; projectChild = projectChild.getNextSibling()) {
+ if (projectChild.getNodeName().equals(INCLUDE_PATH)) {
+ Element childElem = (Element) projectChild;
+ String path = childElem.getAttribute(PATH);
+ if (path != null) {
includes.add(path);
}
- }
- else if(projectChild.getNodeName().equals(DEFINED_SYMBOL)) {
- Element childElem = (Element) projectChild;
- String symbol = childElem.getAttribute(SYMBOL);
+ } else if (projectChild.getNodeName().equals(DEFINED_SYMBOL)) {
+ Element childElem = (Element) projectChild;
+ String symbol = childElem.getAttribute(SYMBOL);
- if(symbol != null) {
+ if (symbol != null) {
symbols.add(symbol);
}
- }
- }
-
- // add loaded scanner info to project settings for this collector
- scannerInfo.put(ScannerInfoTypes.INCLUDE_PATHS, includes);
- scannerInfo.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, symbols);
- fProjectSettingsMap.put(project, scannerInfo);
- }
-
-
- else if (child.getNodeName().equals(CC_ELEM)) {
- Element cmdElem = (Element) child;
- boolean cppFileType = cmdElem.getAttribute(FILE_TYPE_ATTR).equals("c++"); //$NON-NLS-1$
- XLCCommandDSC command = new XLCCommandDSC(cppFileType, project);
- command.setCommandId(Integer.parseInt(cmdElem.getAttribute(ID_ATTR)));
- // deserialize command
- command.deserialize(cmdElem);
- // get set of files the command applies to
- NodeList appliesList = cmdElem.getElementsByTagName(APPLIES_TO_ATTR);
- if (appliesList.getLength() > 0) {
- Element appliesElem = (Element) appliesList.item(0);
- NodeList fileList = appliesElem.getElementsByTagName(FILE_ELEM);
- for (int i = 0; i < fileList.getLength(); ++i) {
- Element fileElem = (Element) fileList.item(i);
- String fileName = fileElem.getAttribute(PATH_ATTR);
- IFile file = project.getFile(fileName);
- addCompilerCommand(file, command);
- }
+ }
+ }
+
+ // add loaded scanner info to project settings for this collector
+ scannerInfo.put(ScannerInfoTypes.INCLUDE_PATHS, includes);
+ scannerInfo.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, symbols);
+ fProjectSettingsMap.put(project, scannerInfo);
+ }
+
+ else if (child.getNodeName().equals(CC_ELEM)) {
+ Element cmdElem = (Element) child;
+ boolean cppFileType = cmdElem.getAttribute(FILE_TYPE_ATTR).equals("c++"); //$NON-NLS-1$
+ XLCCommandDSC command = new XLCCommandDSC(cppFileType, project);
+ command.setCommandId(Integer.parseInt(cmdElem.getAttribute(ID_ATTR)));
+ // deserialize command
+ command.deserialize(cmdElem);
+ // get set of files the command applies to
+ NodeList appliesList = cmdElem.getElementsByTagName(APPLIES_TO_ATTR);
+ if (appliesList.getLength() > 0) {
+ Element appliesElem = (Element) appliesList.item(0);
+ NodeList fileList = appliesElem.getElementsByTagName(FILE_ELEM);
+ for (int i = 0; i < fileList.getLength(); ++i) {
+ Element fileElem = (Element) fileList.item(i);
+ String fileName = fileElem.getAttribute(PATH_ATTR);
+ IFile file = project.getFile(fileName);
+ addCompilerCommand(file, command);
+ }
applyFileDeltas();
- }
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore.IDiscoveredScannerInfoSerializable#getCollectorId()
- */
- @Override
+ }
+ }
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore.IDiscoveredScannerInfoSerializable#getCollectorId()
+ */
+ @Override
public String getCollectorId() {
- return COLLECTOR_ID;
- }
+ return COLLECTOR_ID;
+ }
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore.IDiscoveredScannerInfoSerializable#serialize(org.w3c.dom.Element)
- */
- @Override
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore.IDiscoveredScannerInfoSerializable#serialize(org.w3c.dom.Element)
+ */
+ @Override
public void serialize(Element collectorElem) {
- try {
- synchronized (fLock) {
- Document doc = collectorElem.getOwnerDocument();
-
- // serialize project level info
- for (IProject project : fProjectSettingsMap.keySet()) {
- // create a project node
- Element projectElement = doc.createElement(PROJECT);
- projectElement.setAttribute(NAME, project.getName());
-
- Map<ScannerInfoTypes, List<String>> scannerInfo = (Map<ScannerInfoTypes, List<String>>) fProjectSettingsMap.get(project);
-
- List<String> includes = scannerInfo.get(ScannerInfoTypes.INCLUDE_PATHS);
- for(String include : includes) {
- Element pathElement = doc.createElement(INCLUDE_PATH);
- pathElement.setAttribute(PATH, include);
- //Boolean removed = (Boolean) includes.contains(include);
- //if (removed != null && removed.booleanValue() == true) {
- // pathElement.setAttribute(REMOVED, "true"); //$NON-NLS-1$
- //}
- pathElement.setAttribute(REMOVED, "false"); //$NON-NLS-1$
- projectElement.appendChild(pathElement);
- }
+ try {
+ synchronized (fLock) {
+ Document doc = collectorElem.getOwnerDocument();
+
+ // serialize project level info
+ for (IProject project : fProjectSettingsMap.keySet()) {
+ // create a project node
+ Element projectElement = doc.createElement(PROJECT);
+ projectElement.setAttribute(NAME, project.getName());
+
+ Map<ScannerInfoTypes, List<String>> scannerInfo = (Map<ScannerInfoTypes, List<String>>) fProjectSettingsMap
+ .get(project);
+
+ List<String> includes = scannerInfo.get(ScannerInfoTypes.INCLUDE_PATHS);
+ for (String include : includes) {
+ Element pathElement = doc.createElement(INCLUDE_PATH);
+ pathElement.setAttribute(PATH, include);
+ //Boolean removed = (Boolean) includes.contains(include);
+ //if (removed != null && removed.booleanValue() == true) {
+ // pathElement.setAttribute(REMOVED, "true"); //$NON-NLS-1$
+ //}
+ pathElement.setAttribute(REMOVED, "false"); //$NON-NLS-1$
+ projectElement.appendChild(pathElement);
+ }
- // Now do the same for the symbols
- List<String> symbols = scannerInfo.get(ScannerInfoTypes.SYMBOL_DEFINITIONS);
+ // Now do the same for the symbols
+ List<String> symbols = scannerInfo.get(ScannerInfoTypes.SYMBOL_DEFINITIONS);
- for(String symbol : symbols) {
+ for (String symbol : symbols) {
Element symbolElement = doc.createElement(DEFINED_SYMBOL);
symbolElement.setAttribute(SYMBOL, symbol);
projectElement.appendChild(symbolElement);
+ }
+ collectorElem.appendChild(projectElement);
+ }
+
+ // serialize file level info
+ List<Integer> commandIds = new ArrayList<Integer>(commandIdCommandMap.keySet());
+ Collections.sort(commandIds);
+ for (Iterator<Integer> i = commandIds.iterator(); i.hasNext();) {
+ Integer commandId = i.next();
+ CCommandDSC command = commandIdCommandMap.get(commandId);
+
+ Element cmdElem = doc.createElement(CC_ELEM);
+ collectorElem.appendChild(cmdElem);
+ cmdElem.setAttribute(ID_ATTR, commandId.toString());
+ cmdElem.setAttribute(FILE_TYPE_ATTR, command.appliesToCPPFileType() ? "c++" : "c"); //$NON-NLS-1$ //$NON-NLS-2$
+ // write command and scanner info
+ command.serialize(cmdElem);
+ // write files command applies to
+ Element filesElem = doc.createElement(APPLIES_TO_ATTR);
+ cmdElem.appendChild(filesElem);
+ Set<IFile> files = commandIdToFilesMap.get(commandId);
+ if (files != null) {
+ for (Iterator<IFile> j = files.iterator(); j.hasNext();) {
+ Element fileElem = doc.createElement(FILE_ELEM);
+ IFile file = j.next();
+ IPath path = file.getProjectRelativePath();
+ fileElem.setAttribute(PATH_ATTR, path.toString());
+ filesElem.appendChild(fileElem);
+ }
+ }
}
- collectorElem.appendChild(projectElement);
}
- // serialize file level info
- List<Integer> commandIds = new ArrayList<Integer>(commandIdCommandMap.keySet());
- Collections.sort(commandIds);
- for (Iterator<Integer> i = commandIds.iterator(); i.hasNext(); ) {
- Integer commandId = i.next();
- CCommandDSC command = commandIdCommandMap.get(commandId);
-
- Element cmdElem = doc.createElement(CC_ELEM);
- collectorElem.appendChild(cmdElem);
- cmdElem.setAttribute(ID_ATTR, commandId.toString());
- cmdElem.setAttribute(FILE_TYPE_ATTR, command.appliesToCPPFileType() ? "c++" : "c"); //$NON-NLS-1$ //$NON-NLS-2$
- // write command and scanner info
- command.serialize(cmdElem);
- // write files command applies to
- Element filesElem = doc.createElement(APPLIES_TO_ATTR);
- cmdElem.appendChild(filesElem);
- Set<IFile> files = commandIdToFilesMap.get(commandId);
- if (files != null) {
- for (Iterator<IFile> j = files.iterator(); j.hasNext(); ) {
- Element fileElem = doc.createElement(FILE_ELEM);
- IFile file = j.next();
- IPath path = file.getProjectRelativePath();
- fileElem.setAttribute(PATH_ATTR, path.toString());
- filesElem.appendChild(fileElem);
- }
- }
- }
- }
-
- }
- catch(Throwable e) {
- e.printStackTrace();
- }
- }
-
- }
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
protected static final String APPLIES_TO_ATTR = "appliesToFiles"; //$NON-NLS-1$
@@ -896,34 +899,33 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
protected static final String ID_ATTR = "id"; //$NON-NLS-1$
- protected static final int INCLUDE_FILE = 3;
+ protected static final int INCLUDE_FILE = 3;
- protected static final int INCLUDE_PATH = 1;
+ protected static final int INCLUDE_PATH = 1;
-
-
- protected static final int MACROS_FILE = 4;
+ protected static final int MACROS_FILE = 4;
protected static final String PATH_ATTR = "path"; //$NON-NLS-1$
protected static final int QUOTE_INCLUDE_PATH = 2;
- protected static PathInfo createFilePathInfo(CCommandDSC cmd){
- IPath[] includes = stringListToPathArray(cmd.getIncludes());
- IPath[] quotedIncludes = stringListToPathArray(cmd.getQuoteIncludes());
- IPath[] incFiles = stringListToPathArray(cmd.getIncludeFile());
- IPath[] macroFiles = stringListToPathArray(cmd.getImacrosFile());
- List symbols = cmd.getSymbols();
- Map<String, String> definedSymbols = new HashMap<String, String>(symbols.size());
- for (Iterator i = symbols.iterator(); i.hasNext(); ) {
- String symbol = (String) i.next();
- String key = ScannerConfigUtil.getSymbolKey(symbol);
- String value = ScannerConfigUtil.getSymbolValue(symbol);
- definedSymbols.put(key, value);
- }
-
- return new PathInfo(includes, quotedIncludes, definedSymbols, incFiles, macroFiles);
- }
+ protected static PathInfo createFilePathInfo(CCommandDSC cmd) {
+ IPath[] includes = stringListToPathArray(cmd.getIncludes());
+ IPath[] quotedIncludes = stringListToPathArray(cmd.getQuoteIncludes());
+ IPath[] incFiles = stringListToPathArray(cmd.getIncludeFile());
+ IPath[] macroFiles = stringListToPathArray(cmd.getImacrosFile());
+ List symbols = cmd.getSymbols();
+ Map<String, String> definedSymbols = new HashMap<String, String>(symbols.size());
+ for (Iterator i = symbols.iterator(); i.hasNext();) {
+ String symbol = (String) i.next();
+ String key = ScannerConfigUtil.getSymbolKey(symbol);
+ String value = ScannerConfigUtil.getSymbolValue(symbol);
+ definedSymbols.put(key, value);
+ }
+
+ return new PathInfo(includes, quotedIncludes, definedSymbols, incFiles, macroFiles);
+ }
+
/**
* @param discovered
* @param allIncludes
@@ -931,48 +933,49 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
*/
protected static IPath[] stringListToPathArray(List<String> discovered) {
List<Path> allIncludes = new ArrayList<Path>(discovered.size());
- for (Iterator<String> j = discovered.iterator(); j.hasNext(); ) {
- String include = j.next();
- if (!allIncludes.contains(include)) {
- allIncludes.add(new Path(include));
- }
+ for (Iterator<String> j = discovered.iterator(); j.hasNext();) {
+ String include = j.next();
+ if (!allIncludes.contains(include)) {
+ allIncludes.add(new Path(include));
+ }
}
return allIncludes.toArray(new IPath[allIncludes.size()]);
}
+
protected int commandIdCounter = 0;
protected InfoContext context;
- /** monitor for data access */
- protected final Object fLock = new Object();
+ /** monitor for data access */
+ protected final Object fLock = new Object();
- private Map<IProject, Map<?, ?>> fProjectSettingsMap = new HashMap<IProject, Map<?, ?>>();
+ private Map<IProject, Map<?, ?>> fProjectSettingsMap = new HashMap<IProject, Map<?, ?>>();
- protected final SortedSet<Integer> freeCommandIdPool; // sorted set of free command ids
+ protected final SortedSet<Integer> freeCommandIdPool; // sorted set of free command ids
protected IProject project;
- protected ProjectScannerInfo psi = null; // sum of all scanner info
- protected final List<Integer> siChangedForCommandIdList; // list of command ids for which scanner info has changed
+ protected ProjectScannerInfo psi = null; // sum of all scanner info
+ protected final List<Integer> siChangedForCommandIdList; // list of command ids for which scanner info has changed
// protected List siChangedForFileList; // list of files for which scanner info has changed
- protected final Map<IResource, Integer> siChangedForFileMap; // (file, comandId) map for deltas
+ protected final Map<IResource, Integer> siChangedForFileMap; // (file, comandId) map for deltas
protected ScannerInfoData sid; // scanner info data
/**
- *
- */
- public PerFileXLCScannerInfoCollector() {
- sid = new ScannerInfoData();
+ *
+ */
+ public PerFileXLCScannerInfoCollector() {
+ sid = new ScannerInfoData();
-// siChangedForFileList = new ArrayList();
+ // siChangedForFileList = new ArrayList();
siChangedForFileMap = new HashMap<IResource, Integer>();
siChangedForCommandIdList = new ArrayList<Integer>();
- freeCommandIdPool = new TreeSet<Integer>();
- }
+ freeCommandIdPool = new TreeSet<Integer>();
+ }
- /**
- * @param file
- * @param object
- */
- protected void addCompilerCommand(IFile file, CCommandDSC cmd) {
+ /**
+ * @param file
+ * @param object
+ */
+ protected void addCompilerCommand(IFile file, CCommandDSC cmd) {
synchronized (fLock) {
List<CCommandDSC> existingCommands = new ArrayList<CCommandDSC>(sid.commandIdCommandMap.values());
int index = existingCommands.indexOf(cmd);
@@ -995,11 +998,11 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /**
- * @param commandId
- * @param scannerInfo
- */
- protected void addScannerInfo(Integer commandId, Map scannerInfo) {
+ /**
+ * @param commandId
+ * @param scannerInfo
+ */
+ protected void addScannerInfo(Integer commandId, Map scannerInfo) {
synchronized (fLock) {
CCommandDSC cmd = sid.commandIdCommandMap.get(commandId);
if (cmd != null) {
@@ -1019,15 +1022,16 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /**
- * @param type
- * @param object
- */
- protected void addScannerInfo(ScannerInfoTypes type, List delta) {
- // TODO Auto-generated method stub
+ /**
+ * @param type
+ * @param object
+ */
+ protected void addScannerInfo(ScannerInfoTypes type, List delta) {
+ // TODO Auto-generated method stub
+
+ }
- }
- /**
+ /**
* @param file
* @param cmd
*/
@@ -1077,7 +1081,6 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
-
protected Map<IResource, PathInfo> calculatePathInfoMap() {
synchronized (fLock) {
Map<IResource, PathInfo> map = new HashMap<IResource, PathInfo>(sid.fileToCommandIdMap.size() + 1);
@@ -1113,19 +1116,18 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
@Override
public void contributeToScannerConfig(Object resource, Map scannerInfo) {
- // check the resource
- String errorMessage = null;
- if (resource == null) {
- errorMessage = "resource is null";//$NON-NLS-1$
- }
- else if (resource instanceof Integer) {
- synchronized (fLock) {
- addScannerInfo(((Integer)resource), scannerInfo);
+ // check the resource
+ String errorMessage = null;
+ if (resource == null) {
+ errorMessage = "resource is null";//$NON-NLS-1$
+ } else if (resource instanceof Integer) {
+ synchronized (fLock) {
+ addScannerInfo(((Integer) resource), scannerInfo);
}
- return;
- }
+ return;
+ }
- if ((resource instanceof IFile)) {
+ if ((resource instanceof IFile)) {
if (((IFile) resource).getProject() == null) {
errorMessage = "project is null";//$NON-NLS-1$
@@ -1154,27 +1156,28 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- else if(resource instanceof IProject) {
- // save to project level settings
- synchronized (fLock) {
- fProjectSettingsMap.put(((IProject) resource), scannerInfo);
- }
- }
+ else if (resource instanceof IProject) {
+ // save to project level settings
+ synchronized (fLock) {
+ fProjectSettingsMap.put(((IProject) resource), scannerInfo);
+ }
+ }
- else { // error
- TraceUtil.outputError("PerFileSICollector.contributeToScannerConfig : ", "Not a project or file."); //$NON-NLS-1$ //$NON-NLS-2$
+ else { // error
+ TraceUtil.outputError("PerFileSICollector.contributeToScannerConfig : ", "Not a project or file."); //$NON-NLS-1$ //$NON-NLS-2$
return;
- }
- }
+ }
+ }
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2#createPathInfoObject()
- */
- @Override
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2#createPathInfoObject()
+ */
+ @Override
public IDiscoveredPathInfo createPathInfoObject() {
- return new PerFileDiscoveredPathInfo();
- }
- /* (non-Javadoc)
+ return new PerFileDiscoveredPathInfo();
+ }
+
+ /* (non-Javadoc)
* @see org.eclipse.cdt.make.internal.core.scannerconfig2.PerFileSICollector#deleteAll(org.eclipse.core.resources.IResource)
*/
public void deleteAll(IResource resource) {
@@ -1185,32 +1188,32 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollectorCleaner#deleteAll(org.eclipse.core.resources.IResource)
- */
- public void deleteAll1(IResource resource) {
- if (resource.equals(project)) {
- synchronized (fLock) {
-// siChangedForFileList = new ArrayList();
- siChangedForFileMap.clear();
- Set<IFile> changedFiles = sid.fileToCommandIdMap.keySet();
- for (Iterator<IFile> i = changedFiles.iterator(); i.hasNext(); ) {
- IFile file = i.next();
-// IPath path = file.getFullPath();
-// siChangedForFileList.add(path);
- siChangedForFileMap.put(file, null);
- }
-
- sid = new ScannerInfoData();
- psi = null;
-
- commandIdCounter = 0;
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollectorCleaner#deleteAll(org.eclipse.core.resources.IResource)
+ */
+ public void deleteAll1(IResource resource) {
+ if (resource.equals(project)) {
+ synchronized (fLock) {
+ // siChangedForFileList = new ArrayList();
+ siChangedForFileMap.clear();
+ Set<IFile> changedFiles = sid.fileToCommandIdMap.keySet();
+ for (Iterator<IFile> i = changedFiles.iterator(); i.hasNext();) {
+ IFile file = i.next();
+ // IPath path = file.getFullPath();
+ // siChangedForFileList.add(path);
+ siChangedForFileMap.put(file, null);
+ }
+
+ sid = new ScannerInfoData();
+ psi = null;
+
+ commandIdCounter = 0;
freeCommandIdPool.clear();
- }
- }
- }
+ }
+ }
+ }
- /*
+ /*
* (non-Javadoc)
*
* @see
@@ -1225,7 +1228,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /*
+ /*
* (non-Javadoc)
*
* @see
@@ -1240,7 +1243,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /*
+ /*
* (non-Javadoc)
*
* @see
@@ -1270,7 +1273,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /**
+ /**
* @param file
* @param cmd
*/
@@ -1289,7 +1292,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- protected void generateProjectScannerInfo() {
+ protected void generateProjectScannerInfo() {
synchronized (fLock) {
psi = new ProjectScannerInfo();
psi.includePaths = getAllIncludePaths(INCLUDE_PATH);
@@ -1300,7 +1303,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /* (non-Javadoc)
+ /* (non-Javadoc)
* @see org.eclipse.cdt.make.internal.core.scannerconfig2.PerFileSICollector#getAllIncludePaths(int)
*/
protected IPath[] getAllIncludePaths(int type) {
@@ -1333,15 +1336,15 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
/**
- * @param type can be one of the following:
- * <li><code>INCLUDE_PATH</code>
- * <li><code>QUOTE_INCLUDE_PATH</code>
- * <li><code>INCLUDE_FILE</code>
- * <li><code>MACROS_FILE</code>
- *
- * @return list of IPath(s).
- */
- protected IPath[] getAllIncludePaths1(int type) {
+ * @param type can be one of the following:
+ * <li><code>INCLUDE_PATH</code>
+ * <li><code>QUOTE_INCLUDE_PATH</code>
+ * <li><code>INCLUDE_FILE</code>
+ * <li><code>MACROS_FILE</code>
+ *
+ * @return list of IPath(s).
+ */
+ protected IPath[] getAllIncludePaths1(int type) {
synchronized (fLock) {
List<String> allIncludes = new ArrayList<String>();
for (Iterator<Integer> i = sid.commandIdCommandMap.keySet().iterator(); i.hasNext();) {
@@ -1404,7 +1407,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
for (String symbol : projectSymbols) {
if (symbol.matches("_Builtin")) //$NON-NLS-1$
- symbols.put(symbol,""); //$NON-NLS-1$
+ symbols.put(symbol, ""); //$NON-NLS-1$
else
symbols.put(symbol, "1"); //$NON-NLS-1$
}
@@ -1419,10 +1422,10 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /**
- * @return
- */
- protected Map<String, String> getAllSymbols1() {
+ /**
+ * @return
+ */
+ protected Map<String, String> getAllSymbols1() {
synchronized (fLock) {
Map<String, String> symbols = new HashMap<String, String>();
for (Iterator<Integer> i = sid.commandIdCommandMap.keySet().iterator(); i.hasNext();) {
@@ -1442,75 +1445,71 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector#getCollectedScannerInfo(java.lang.Object, org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes)
- */
- @Override
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector#getCollectedScannerInfo(java.lang.Object, org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes)
+ */
+ @Override
public List<CCommandDSC> getCollectedScannerInfo(Object resource, ScannerInfoTypes type) {
- List<CCommandDSC> rv = new ArrayList<CCommandDSC>();
- // check the resource
- String errorMessage = null;
- if (resource == null) {
- errorMessage = "resource is null";//$NON-NLS-1$
- }
- else if (!(resource instanceof IResource)) {
- errorMessage = "resource is not an IResource";//$NON-NLS-1$
- }
- else if (((IResource) resource).getProject() == null) {
- errorMessage = "project is null";//$NON-NLS-1$
- }
- else if (((IResource) resource).getProject() != project) {
- errorMessage = "wrong project";//$NON-NLS-1$
- }
-
- if (errorMessage != null) {
- TraceUtil.outputError("PerProjectSICollector.getCollectedScannerInfo : ", errorMessage); //$NON-NLS-1$
- return rv;
- }
- if (project.equals(((IResource)resource).getProject())) {
- if (type.equals(ScannerInfoTypes.COMPILER_COMMAND)) {
- synchronized (fLock) {
- for (Iterator<Integer> i = sid.commandIdCommandMap.keySet().iterator(); i.hasNext(); ) {
- Integer cmdId = i.next();
- Set<IFile> fileSet = sid.commandIdToFilesMap.get(cmdId);
- if (fileSet != null && !fileSet.isEmpty()) {
- rv.add(sid.commandIdCommandMap.get(cmdId));
- }
- }
- }
- }
- else if (type.equals(ScannerInfoTypes.UNDISCOVERED_COMPILER_COMMAND)) {
-// if (!siChangedForFileList.isEmpty()) {
- synchronized (fLock) {
- if (scannerInfoChanged()) {
- if (siChangedForCommandIdList.isEmpty()) {
-// for (Iterator i = siChangedForFileList.iterator(); i.hasNext(); ) {
- for (Iterator<IResource> i = siChangedForFileMap.keySet().iterator(); i.hasNext(); ) {
-// IPath path = (IPath) i.next();
- IFile file = (IFile) i.next();
- Integer cmdId = siChangedForFileMap.get(file);
- if (cmdId != null) {
- if (!siChangedForCommandIdList.contains(cmdId)) {
- siChangedForCommandIdList.add(cmdId);
- }
- }
- }
- }
- Collections.sort(siChangedForCommandIdList);
- for (Iterator<Integer> i = siChangedForCommandIdList.iterator(); i.hasNext(); ) {
- Integer cmdId = i.next();
- CCommandDSC command = sid.commandIdCommandMap.get(cmdId);
- rv.add(command);
- }
- }
- }
- }
- }
- return rv;
- }
-
- protected CCommandDSC getCommand(IFile file) {
+ List<CCommandDSC> rv = new ArrayList<CCommandDSC>();
+ // check the resource
+ String errorMessage = null;
+ if (resource == null) {
+ errorMessage = "resource is null";//$NON-NLS-1$
+ } else if (!(resource instanceof IResource)) {
+ errorMessage = "resource is not an IResource";//$NON-NLS-1$
+ } else if (((IResource) resource).getProject() == null) {
+ errorMessage = "project is null";//$NON-NLS-1$
+ } else if (((IResource) resource).getProject() != project) {
+ errorMessage = "wrong project";//$NON-NLS-1$
+ }
+
+ if (errorMessage != null) {
+ TraceUtil.outputError("PerProjectSICollector.getCollectedScannerInfo : ", errorMessage); //$NON-NLS-1$
+ return rv;
+ }
+ if (project.equals(((IResource) resource).getProject())) {
+ if (type.equals(ScannerInfoTypes.COMPILER_COMMAND)) {
+ synchronized (fLock) {
+ for (Iterator<Integer> i = sid.commandIdCommandMap.keySet().iterator(); i.hasNext();) {
+ Integer cmdId = i.next();
+ Set<IFile> fileSet = sid.commandIdToFilesMap.get(cmdId);
+ if (fileSet != null && !fileSet.isEmpty()) {
+ rv.add(sid.commandIdCommandMap.get(cmdId));
+ }
+ }
+ }
+ } else if (type.equals(ScannerInfoTypes.UNDISCOVERED_COMPILER_COMMAND)) {
+ // if (!siChangedForFileList.isEmpty()) {
+ synchronized (fLock) {
+ if (scannerInfoChanged()) {
+ if (siChangedForCommandIdList.isEmpty()) {
+ // for (Iterator i = siChangedForFileList.iterator(); i.hasNext(); ) {
+ for (Iterator<IResource> i = siChangedForFileMap.keySet().iterator(); i.hasNext();) {
+ // IPath path = (IPath) i.next();
+ IFile file = (IFile) i.next();
+ Integer cmdId = siChangedForFileMap.get(file);
+ if (cmdId != null) {
+ if (!siChangedForCommandIdList.contains(cmdId)) {
+ siChangedForCommandIdList.add(cmdId);
+ }
+ }
+ }
+ }
+ Collections.sort(siChangedForCommandIdList);
+ for (Iterator<Integer> i = siChangedForCommandIdList.iterator(); i.hasNext();) {
+ Integer cmdId = i.next();
+ CCommandDSC command = sid.commandIdCommandMap.get(cmdId);
+ rv.add(command);
+ }
+ }
+ }
+ }
+ }
+ return rv;
+ }
+
+ protected CCommandDSC getCommand(IFile file) {
synchronized (fLock) {
CCommandDSC cmd = null;
if (file != null) {
@@ -1524,11 +1523,11 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /**
- * @param path
- * @return
- */
- protected CCommandDSC getCommand(IPath path) {
+ /**
+ * @param path
+ * @return
+ */
+ protected CCommandDSC getCommand(IPath path) {
synchronized (fLock) {
try {
IFile file = project.getWorkspace().getRoot().getFile(path);
@@ -1539,7 +1538,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /* (non-Javadoc)
+ /* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.scannerconfig.IManagedScannerInfoCollector#getDefinedSymbols()
*/
@Override
@@ -1549,7 +1548,7 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- /* (non-Javadoc)
+ /* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.scannerconfig.IManagedScannerInfoCollector#getIncludePaths()
*/
@Override
@@ -1568,11 +1567,11 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- protected InfoContext getInfoContext() {
+ protected InfoContext getInfoContext() {
return context;
}
- protected void removeUnusedCommands() {
+ protected void removeUnusedCommands() {
synchronized (fLock) {
for (Iterator i = sid.commandIdToFilesMap.entrySet().iterator(); i.hasNext();) {
Entry entry = (Entry) i.next();
@@ -1600,13 +1599,13 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
}
- protected boolean scannerInfoChanged() {
- synchronized (fLock) {
- return (!fProjectSettingsMap.isEmpty()) || !siChangedForFileMap.isEmpty();
- }
+ protected boolean scannerInfoChanged() {
+ synchronized (fLock) {
+ return (!fProjectSettingsMap.isEmpty()) || !siChangedForFileMap.isEmpty();
+ }
}
- @Override
+ @Override
public void setInfoContext(InfoContext context) {
synchronized (fLock) {
this.project = context.getProject();
@@ -1622,83 +1621,79 @@ public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, I
}
/* (non-Javadoc)
- * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2#setProject(org.eclipse.core.resources.IProject)
- */
- @Override
+ * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2#setProject(org.eclipse.core.resources.IProject)
+ */
+ @Override
public void setProject(IProject project) {
- synchronized (fLock) {
+ synchronized (fLock) {
setInfoContext(new InfoContext(project));
}
- }
+ }
- @Override
+ @Override
public void updateScannerConfiguration(IProgressMonitor monitor) throws CoreException {
- if (monitor == null) {
- monitor = new NullProgressMonitor();
- }
- monitor.beginTask(Messages.getString("ScannerInfoCollector.Processing"), 100); //$NON-NLS-1$
- monitor.subTask(Messages.getString("ScannerInfoCollector.Processing")); //$NON-NLS-1$
- ArrayList<IResource> changedResources = new ArrayList<IResource>();
- synchronized (fLock) {
- if (scannerInfoChanged()) {
- applyFileDeltas();
- removeUnusedCommands();
- changedResources.addAll(siChangedForFileMap.keySet());
- siChangedForFileMap.clear();
- }
- siChangedForCommandIdList.clear();
-
- // add in any projects that got project level info (from the specs provider)
- changedResources.addAll(fProjectSettingsMap.keySet());
-
- monitor.worked(50);
- if (!changedResources.isEmpty()) {
- // update outside monitor scope
- try {
- // update scanner configuration
- monitor.subTask(Messages.getString("ScannerInfoCollector.Updating") + project.getName()); //$NON-NLS-1$
- IDiscoveredPathInfo pathInfo = MakeCorePlugin.getDefault().getDiscoveryManager().getDiscoveredInfo(project, context);
- //IDiscoveredPathInfo pathInfo = new PerFileDiscoveredPathInfo();
- if (!(pathInfo instanceof IPerFileDiscoveredPathInfo)) {
- pathInfo = createPathInfoObject();
- }
- else {
- PerFileDiscoveredPathInfo perFilePathInfo = new PerFileDiscoveredPathInfo();
-
- // merge them
- if (!(pathInfo instanceof IPerFileDiscoveredPathInfo)) {
- pathInfo = new MergedPerFileDiscoveredPathInfo(pathInfo, perFilePathInfo);
- }
- else {
- pathInfo = perFilePathInfo;
- }
- }
-
-
- Job job = new ScannerConfigUpdateJob(context, pathInfo, context.isDefaultContext(), changedResources);
- ISchedulingRule rule = ResourcesPlugin.getWorkspace().getRoot();
- job.setRule(rule);
- job.schedule();
-
-
-
-// } finally {
-// manager.endRule(rule);
-// }
-
- } catch (CoreException e) {
- MakeCorePlugin.log(e);
- }
-
- catch (Throwable e) {
- e.printStackTrace();
- }
- }
- }
-
-
- monitor.worked(50);
- monitor.done();
+ if (monitor == null) {
+ monitor = new NullProgressMonitor();
+ }
+ monitor.beginTask(Messages.getString("ScannerInfoCollector.Processing"), 100); //$NON-NLS-1$
+ monitor.subTask(Messages.getString("ScannerInfoCollector.Processing")); //$NON-NLS-1$
+ ArrayList<IResource> changedResources = new ArrayList<IResource>();
+ synchronized (fLock) {
+ if (scannerInfoChanged()) {
+ applyFileDeltas();
+ removeUnusedCommands();
+ changedResources.addAll(siChangedForFileMap.keySet());
+ siChangedForFileMap.clear();
+ }
+ siChangedForCommandIdList.clear();
+
+ // add in any projects that got project level info (from the specs provider)
+ changedResources.addAll(fProjectSettingsMap.keySet());
+
+ monitor.worked(50);
+ if (!changedResources.isEmpty()) {
+ // update outside monitor scope
+ try {
+ // update scanner configuration
+ monitor.subTask(Messages.getString("ScannerInfoCollector.Updating") + project.getName()); //$NON-NLS-1$
+ IDiscoveredPathInfo pathInfo = MakeCorePlugin.getDefault().getDiscoveryManager()
+ .getDiscoveredInfo(project, context);
+ //IDiscoveredPathInfo pathInfo = new PerFileDiscoveredPathInfo();
+ if (!(pathInfo instanceof IPerFileDiscoveredPathInfo)) {
+ pathInfo = createPathInfoObject();
+ } else {
+ PerFileDiscoveredPathInfo perFilePathInfo = new PerFileDiscoveredPathInfo();
+
+ // merge them
+ if (!(pathInfo instanceof IPerFileDiscoveredPathInfo)) {
+ pathInfo = new MergedPerFileDiscoveredPathInfo(pathInfo, perFilePathInfo);
+ } else {
+ pathInfo = perFilePathInfo;
+ }
+ }
+
+ Job job = new ScannerConfigUpdateJob(context, pathInfo, context.isDefaultContext(),
+ changedResources);
+ ISchedulingRule rule = ResourcesPlugin.getWorkspace().getRoot();
+ job.setRule(rule);
+ job.schedule();
+
+ // } finally {
+ // manager.endRule(rule);
+ // }
+
+ } catch (CoreException e) {
+ MakeCorePlugin.log(e);
+ }
+
+ catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ monitor.worked(50);
+ monitor.done();
}
} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCBuildOutputParserUtility.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCBuildOutputParserUtility.java
index 4fc81495911..6e7e3048fe1 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCBuildOutputParserUtility.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCBuildOutputParserUtility.java
@@ -47,49 +47,51 @@ import org.eclipse.core.runtime.Path;
*
*/
public class XLCBuildOutputParserUtility {
- protected class Problem {
- protected String description;
- protected IResource file;
- protected int lineNumber;
- protected int severity;
- protected String variableName;
-
- public Problem(IResource file, int lineNumber, String desciption, int severity, String variableName) {
- this.file = file;
- this.lineNumber = lineNumber;
- this.description = desciption;
- this.severity = severity;
- this.variableName = variableName;
- }
- }
- public static IPath convertCygpath(IPath path) {
- if (path.segmentCount() > 1 && path.segment(0).equals("cygdrive")) { //$NON-NLS-1$
- StringBuilder buf = new StringBuilder(2);
- buf.append(Character.toUpperCase(path.segment(1).charAt(0)));
- buf.append(':');
- path = path.removeFirstSegments(2);
- path = path.setDevice(buf.toString());
- path = path.makeAbsolute();
- }
- return path;
- }
- private List commandsList2;
- private int commandsN = 0;
- private List compiledFileList;
-
- private Map directoryCommandListMap;
-
- private IPath fBaseDirectory;
- private String fDefaultMacroDefinitionValue= "1"; //$NON-NLS-1$
- private Vector<IPath> fDirectoryStack;
- private ArrayList<Problem> fErrors;
- private int filesN = 0;
-
- private IMarkerGenerator fMarkerGenerator;
-
- private IProject project;
-
- private int workingDirsN = 0;
+ protected class Problem {
+ protected String description;
+ protected IResource file;
+ protected int lineNumber;
+ protected int severity;
+ protected String variableName;
+
+ public Problem(IResource file, int lineNumber, String desciption, int severity, String variableName) {
+ this.file = file;
+ this.lineNumber = lineNumber;
+ this.description = desciption;
+ this.severity = severity;
+ this.variableName = variableName;
+ }
+ }
+
+ public static IPath convertCygpath(IPath path) {
+ if (path.segmentCount() > 1 && path.segment(0).equals("cygdrive")) { //$NON-NLS-1$
+ StringBuilder buf = new StringBuilder(2);
+ buf.append(Character.toUpperCase(path.segment(1).charAt(0)));
+ buf.append(':');
+ path = path.removeFirstSegments(2);
+ path = path.setDevice(buf.toString());
+ path = path.makeAbsolute();
+ }
+ return path;
+ }
+
+ private List commandsList2;
+ private int commandsN = 0;
+ private List compiledFileList;
+
+ private Map directoryCommandListMap;
+
+ private IPath fBaseDirectory;
+ private String fDefaultMacroDefinitionValue = "1"; //$NON-NLS-1$
+ private Vector<IPath> fDirectoryStack;
+ private ArrayList<Problem> fErrors;
+ private int filesN = 0;
+
+ private IMarkerGenerator fMarkerGenerator;
+
+ private IProject project;
+
+ private int workingDirsN = 0;
/*
* For tracking the location of files being compiled
@@ -98,28 +100,28 @@ public class XLCBuildOutputParserUtility {
private List<String> fCollectedFiles;
private List<String> fNameConflicts;
- protected XLCBuildOutputParserUtility(IPath baseDirectory, IPath workingDirectory){
+ protected XLCBuildOutputParserUtility(IPath baseDirectory, IPath workingDirectory) {
fDirectoryStack = new Vector<IPath>();
- fErrors = new ArrayList<Problem>();
- this.fBaseDirectory = baseDirectory;
- if (workingDirectory != null) {
- pushDirectory(workingDirectory);
- }
+ fErrors = new ArrayList<Problem>();
+ this.fBaseDirectory = baseDirectory;
+ if (workingDirectory != null) {
+ pushDirectory(workingDirectory);
+ }
}
+
/**
- *
- */
- public XLCBuildOutputParserUtility(IProject project, IPath workingDirectory,
- IMarkerGenerator markerGenerator) {
- fDirectoryStack = new Vector<IPath>();
- fErrors = new ArrayList<Problem>();
- this.project = project;
- fBaseDirectory = getPathForResource(project);
- if (workingDirectory != null) {
- pushDirectory(workingDirectory);
- }
- }
+ *
+ */
+ public XLCBuildOutputParserUtility(IProject project, IPath workingDirectory, IMarkerGenerator markerGenerator) {
+ fDirectoryStack = new Vector<IPath>();
+ fErrors = new ArrayList<Problem>();
+ this.project = project;
+ fBaseDirectory = getPathForResource(project);
+ if (workingDirectory != null) {
+ pushDirectory(workingDirectory);
+ }
+ }
private IPath getPathForResource(IResource resource) {
// TODO: when the file system utility stuff is in, this will have to call it to get the path
@@ -129,354 +131,339 @@ public class XLCBuildOutputParserUtility {
return path;
}
- /**
- * Adds a mapping filename, generic_command
- * @param longFileName
- * @param genericLine
- */
- void addGenericCommandForFile(String longFileName, String genericCommand) {
- // if a file name has already been added once, return
- if (compiledFileList.contains(longFileName))
- return;
- compiledFileList.add(longFileName);
-
- String workingDir = getWorkingDirectory().toString();
- List directoryCommandList = (List) directoryCommandListMap.get(workingDir);
- if (directoryCommandList == null) {
- directoryCommandList = new ArrayList();
- directoryCommandListMap.put(workingDir, directoryCommandList);
- ++workingDirsN;
- }
- Map command21FileListMap = null;
- for (Iterator i = directoryCommandList.iterator(); i.hasNext(); ) {
- command21FileListMap = (Map) i.next();
- List fileList = (List) command21FileListMap.get(genericCommand);
- if (fileList != null) {
- if (!fileList.contains(longFileName)) {
- fileList.add(longFileName);
- ++filesN;
- }
- return;
- }
- }
- command21FileListMap = new HashMap(1);
- directoryCommandList.add(command21FileListMap);
- ++commandsN;
- List fileList = new ArrayList();
- command21FileListMap.put(genericCommand, fileList);
- fileList.add(longFileName);
- ++filesN;
- }
-
- /**
- * Adds a mapping command line -> file, this time without a dir
- * @param longFileName
- * @param genericLine
- */
- void addGenericCommandForFile2(String longFileName, String genericLine) {
- // if a file name has already been added once, return
- if (compiledFileList.contains(longFileName))
- return;
- compiledFileList.add(longFileName);
-
- String[] tokens = genericLine.split("\\s+"); //$NON-NLS-1$
- CCommandDSC command = getNewCCommandDSC(tokens, 0, false); // assume .c file type
- int index = commandsList2.indexOf(command);
- if (index == -1) {
- commandsList2.add(command);
- ++commandsN;
- }
- else {
- command = (CCommandDSC) commandsList2.get(index);
- }
-// // add a file
-// command.addFile(longFileName);
-// ++filesN;
- }
-
- public void changeMakeDirectory(String dir, int dirLevel, boolean enterDir) {
- if (enterDir) {
- /* Sometimes make screws up the output, so
- * "leave" events can't be seen. Double-check level
- * here.
- */
- for (int parseLevel = getDirectoryLevel(); dirLevel < parseLevel; parseLevel = getDirectoryLevel()) {
- popDirectory();
- }
- pushDirectory(new Path(dir));
- } else {
- popDirectory();
- /* Could check to see if they match */
- }
- }
-
- /**
- * Called by the console line parsers to generate a problem marker.
- */
- public void generateMarker(IResource file, int lineNumber, String desc, int severity, String varName) {
- // No need to collect markers if marker generator is not present
- if (fMarkerGenerator != null) {
- Problem problem = new Problem(file, lineNumber, desc, severity, varName);
- fErrors.add(problem);
- }
- }
-
- /**
- *
- */
- void generateReport() {
- TraceUtil.metricsTrace("Stats for directory ", //$NON-NLS-1$
- "Generic command: '", "' applicable for:", //$NON-NLS-1$ //$NON-NLS-2$
- directoryCommandListMap);
- TraceUtil.summaryTrace("Discovery summary", workingDirsN, commandsN, filesN); //$NON-NLS-1$
- }
-
- /**
- * @param filePath : String
- * @return filePath : IPath - not <code>null</code>
- */
- public IPath getAbsolutePath(String filePath) {
- IPath pFilePath;
- if (filePath.startsWith("/")) { //$NON-NLS-1$
- return convertCygpath(new Path(filePath));
- }
- else if (filePath.startsWith("\\") || //$NON-NLS-1$
- (!filePath.startsWith(".") && //$NON-NLS-1$
- filePath.length() > 2 && filePath.charAt(1) == ':' &&
- (filePath.charAt(2) == '\\' || filePath.charAt(2) == '/'))) {
- // absolute path
- pFilePath = new Path(filePath);
- }
- else {
- // relative path
- IPath cwd = getWorkingDirectory();
- if (!cwd.isAbsolute()) {
- cwd = getBaseDirectory().append(cwd);
- }
- if (filePath.startsWith("`pwd`")) { //$NON-NLS-1$
- if (filePath.length() > 5 && (filePath.charAt(5) == '/' || filePath.charAt(5) == '\\')) {
- filePath = filePath.substring(6);
- }
- else {
- filePath = filePath.substring(5);
- }
- }
- pFilePath = cwd.append(filePath);
- }
- return pFilePath;
- }
- /**
- * @return Returns the fBaseDirectory.
- */
- public IPath getBaseDirectory() {
- return fBaseDirectory;
- }
-
- /**
- * Returns all CCommandDSC collected so far.
- * Currently this list is not filled, so it will always return an empty list.
- * @return List of CCommandDSC
- */
- public List getCCommandDSCList() {
- return new ArrayList(commandsList2);
- }
-
- protected int getDirectoryLevel() {
- return fDirectoryStack.size();
- }
- /**
- * @return Returns the fDirectoryStack.
- */
- protected Vector<IPath> getDirectoryStack() {
- return fDirectoryStack;
- }
- /**
- * @return Returns the fErrors.
- */
- protected ArrayList<Problem> getErrors() {
- return fErrors;
- }
/**
- * @return Returns the fMarkerGenerator.
- */
- protected IMarkerGenerator getMarkerGenerator() {
- return fMarkerGenerator;
- }
-
- /**
- * @param genericLine
- * @param cppFileType
- * @return CCommandDSC compile command description
- */
- public CCommandDSC getNewCCommandDSC(String[] tokens, final int idxOfCompilerCommand, boolean cppFileType) {
+ * Adds a mapping filename, generic_command
+ * @param longFileName
+ * @param genericLine
+ */
+ void addGenericCommandForFile(String longFileName, String genericCommand) {
+ // if a file name has already been added once, return
+ if (compiledFileList.contains(longFileName))
+ return;
+ compiledFileList.add(longFileName);
+
+ String workingDir = getWorkingDirectory().toString();
+ List directoryCommandList = (List) directoryCommandListMap.get(workingDir);
+ if (directoryCommandList == null) {
+ directoryCommandList = new ArrayList();
+ directoryCommandListMap.put(workingDir, directoryCommandList);
+ ++workingDirsN;
+ }
+ Map command21FileListMap = null;
+ for (Iterator i = directoryCommandList.iterator(); i.hasNext();) {
+ command21FileListMap = (Map) i.next();
+ List fileList = (List) command21FileListMap.get(genericCommand);
+ if (fileList != null) {
+ if (!fileList.contains(longFileName)) {
+ fileList.add(longFileName);
+ ++filesN;
+ }
+ return;
+ }
+ }
+ command21FileListMap = new HashMap(1);
+ directoryCommandList.add(command21FileListMap);
+ ++commandsN;
+ List fileList = new ArrayList();
+ command21FileListMap.put(genericCommand, fileList);
+ fileList.add(longFileName);
+ ++filesN;
+ }
+
+ /**
+ * Adds a mapping command line -> file, this time without a dir
+ * @param longFileName
+ * @param genericLine
+ */
+ void addGenericCommandForFile2(String longFileName, String genericLine) {
+ // if a file name has already been added once, return
+ if (compiledFileList.contains(longFileName))
+ return;
+ compiledFileList.add(longFileName);
+
+ String[] tokens = genericLine.split("\\s+"); //$NON-NLS-1$
+ CCommandDSC command = getNewCCommandDSC(tokens, 0, false); // assume .c file type
+ int index = commandsList2.indexOf(command);
+ if (index == -1) {
+ commandsList2.add(command);
+ ++commandsN;
+ } else {
+ command = (CCommandDSC) commandsList2.get(index);
+ }
+ // // add a file
+ // command.addFile(longFileName);
+ // ++filesN;
+ }
+
+ public void changeMakeDirectory(String dir, int dirLevel, boolean enterDir) {
+ if (enterDir) {
+ /* Sometimes make screws up the output, so
+ * "leave" events can't be seen. Double-check level
+ * here.
+ */
+ for (int parseLevel = getDirectoryLevel(); dirLevel < parseLevel; parseLevel = getDirectoryLevel()) {
+ popDirectory();
+ }
+ pushDirectory(new Path(dir));
+ } else {
+ popDirectory();
+ /* Could check to see if they match */
+ }
+ }
+
+ /**
+ * Called by the console line parsers to generate a problem marker.
+ */
+ public void generateMarker(IResource file, int lineNumber, String desc, int severity, String varName) {
+ // No need to collect markers if marker generator is not present
+ if (fMarkerGenerator != null) {
+ Problem problem = new Problem(file, lineNumber, desc, severity, varName);
+ fErrors.add(problem);
+ }
+ }
+
+ /**
+ *
+ */
+ void generateReport() {
+ TraceUtil.metricsTrace("Stats for directory ", //$NON-NLS-1$
+ "Generic command: '", "' applicable for:", //$NON-NLS-1$ //$NON-NLS-2$
+ directoryCommandListMap);
+ TraceUtil.summaryTrace("Discovery summary", workingDirsN, commandsN, filesN); //$NON-NLS-1$
+ }
+
+ /**
+ * @param filePath : String
+ * @return filePath : IPath - not <code>null</code>
+ */
+ public IPath getAbsolutePath(String filePath) {
+ IPath pFilePath;
+ if (filePath.startsWith("/")) { //$NON-NLS-1$
+ return convertCygpath(new Path(filePath));
+ } else if (filePath.startsWith("\\") || //$NON-NLS-1$
+ (!filePath.startsWith(".") && //$NON-NLS-1$
+ filePath.length() > 2 && filePath.charAt(1) == ':'
+ && (filePath.charAt(2) == '\\' || filePath.charAt(2) == '/'))) {
+ // absolute path
+ pFilePath = new Path(filePath);
+ } else {
+ // relative path
+ IPath cwd = getWorkingDirectory();
+ if (!cwd.isAbsolute()) {
+ cwd = getBaseDirectory().append(cwd);
+ }
+ if (filePath.startsWith("`pwd`")) { //$NON-NLS-1$
+ if (filePath.length() > 5 && (filePath.charAt(5) == '/' || filePath.charAt(5) == '\\')) {
+ filePath = filePath.substring(6);
+ } else {
+ filePath = filePath.substring(5);
+ }
+ }
+ pFilePath = cwd.append(filePath);
+ }
+ return pFilePath;
+ }
+
+ /**
+ * @return Returns the fBaseDirectory.
+ */
+ public IPath getBaseDirectory() {
+ return fBaseDirectory;
+ }
+
+ /**
+ * Returns all CCommandDSC collected so far.
+ * Currently this list is not filled, so it will always return an empty list.
+ * @return List of CCommandDSC
+ */
+ public List getCCommandDSCList() {
+ return new ArrayList(commandsList2);
+ }
+
+ protected int getDirectoryLevel() {
+ return fDirectoryStack.size();
+ }
+
+ /**
+ * @return Returns the fDirectoryStack.
+ */
+ protected Vector<IPath> getDirectoryStack() {
+ return fDirectoryStack;
+ }
+
+ /**
+ * @return Returns the fErrors.
+ */
+ protected ArrayList<Problem> getErrors() {
+ return fErrors;
+ }
+
+ /**
+ * @return Returns the fMarkerGenerator.
+ */
+ protected IMarkerGenerator getMarkerGenerator() {
+ return fMarkerGenerator;
+ }
+
+ /**
+ * @param genericLine
+ * @param cppFileType
+ * @return CCommandDSC compile command description
+ */
+ public CCommandDSC getNewCCommandDSC(String[] tokens, final int idxOfCompilerCommand, boolean cppFileType) {
ArrayList dirafter = new ArrayList();
ArrayList includes = new ArrayList();
- XLCCommandDSC command = new XLCCommandDSC(cppFileType, getProject());
- command.addSCOption(new KVStringPair(SCDOptionsEnum.COMMAND.toString(), tokens[idxOfCompilerCommand]));
- for (int i = idxOfCompilerCommand+1; i < tokens.length; ++i) {
- String token = tokens[i];
- //Target specific options: see GccScannerInfoConsoleParser
- if (token.startsWith("-m") || //$NON-NLS-1$
- token.equals("-ansi") || //$NON-NLS-1$
- token.equals("-posix") || //$NON-NLS-1$
- token.equals("-pthread") || //$NON-NLS-1$
- token.startsWith("-O") || //$NON-NLS-1$
- token.equals("-fno-inline") || //$NON-NLS-1$
- token.startsWith("-finline") || //$NON-NLS-1$
- token.equals("-fno-exceptions") || //$NON-NLS-1$
- token.equals("-fexceptions") || //$NON-NLS-1$
- token.equals("-fshort-wchar") || //$NON-NLS-1$
- token.equals("-fshort-double") || //$NON-NLS-1$
- token.equals("-fno-signed-char") || //$NON-NLS-1$
- token.equals("-fsigned-char") || //$NON-NLS-1$
- token.startsWith("-fabi-version=") //$NON-NLS-1$
+ XLCCommandDSC command = new XLCCommandDSC(cppFileType, getProject());
+ command.addSCOption(new KVStringPair(SCDOptionsEnum.COMMAND.toString(), tokens[idxOfCompilerCommand]));
+ for (int i = idxOfCompilerCommand + 1; i < tokens.length; ++i) {
+ String token = tokens[i];
+ //Target specific options: see GccScannerInfoConsoleParser
+ if (token.startsWith("-m") || //$NON-NLS-1$
+ token.equals("-ansi") || //$NON-NLS-1$
+ token.equals("-posix") || //$NON-NLS-1$
+ token.equals("-pthread") || //$NON-NLS-1$
+ token.startsWith("-O") || //$NON-NLS-1$
+ token.equals("-fno-inline") || //$NON-NLS-1$
+ token.startsWith("-finline") || //$NON-NLS-1$
+ token.equals("-fno-exceptions") || //$NON-NLS-1$
+ token.equals("-fexceptions") || //$NON-NLS-1$
+ token.equals("-fshort-wchar") || //$NON-NLS-1$
+ token.equals("-fshort-double") || //$NON-NLS-1$
+ token.equals("-fno-signed-char") || //$NON-NLS-1$
+ token.equals("-fsigned-char") || //$NON-NLS-1$
+ token.startsWith("-fabi-version=") //$NON-NLS-1$
) {
- command.addSCOption(new KVStringPair(SCDOptionsEnum.COMMAND.toString(), token));
+ command.addSCOption(new KVStringPair(SCDOptionsEnum.COMMAND.toString(), token));
continue;
- }
- for (int j = SCDOptionsEnum.MIN; j <= SCDOptionsEnum.MAX; ++j) {
- final SCDOptionsEnum optionKind = SCDOptionsEnum.getSCDOptionsEnum(j);
+ }
+ for (int j = SCDOptionsEnum.MIN; j <= SCDOptionsEnum.MAX; ++j) {
+ final SCDOptionsEnum optionKind = SCDOptionsEnum.getSCDOptionsEnum(j);
if (token.startsWith(optionKind.toString())) {
- String option = token.substring(
- optionKind.toString().length()).trim();
- if (option.length() > 0) {
- // ex. -I/dir
- }
- else if (optionKind.equals(SCDOptionsEnum.IDASH)) {
- for (Iterator iter=includes.iterator(); iter.hasNext(); ) {
- option = (String)iter.next();
- KVStringPair pair = new KVStringPair(SCDOptionsEnum.IQUOTE.toString(), option);
- command.addSCOption(pair);
- }
- includes = new ArrayList();
- // -I- has no parameter
- }
- else {
- // ex. -I /dir
- // take a next token
- if (i+1 < tokens.length && !tokens[i+1].startsWith("-")) { //$NON-NLS-1$
- option = tokens[++i];
- }
- else break;
- }
-
- if (option.length() > 0 && (
- optionKind.equals(SCDOptionsEnum.INCLUDE) ||
- optionKind.equals(SCDOptionsEnum.INCLUDE_FILE) ||
- optionKind.equals(SCDOptionsEnum.IMACROS_FILE) ||
- optionKind.equals(SCDOptionsEnum.IDIRAFTER) ||
- optionKind.equals(SCDOptionsEnum.ISYSTEM) ||
- optionKind.equals(SCDOptionsEnum.IQUOTE) )) {
- option = (getAbsolutePath(option)).toString();
- }
-
- if (optionKind.equals(SCDOptionsEnum.IDIRAFTER)) {
- KVStringPair pair = new KVStringPair(SCDOptionsEnum.INCLUDE.toString(), option);
- dirafter.add(pair);
- }
- else if (optionKind.equals(SCDOptionsEnum.INCLUDE)) {
- includes.add(option);
- }
- else { // add the pair
- if (optionKind.equals(SCDOptionsEnum.DEFINE)) {
- if (option.indexOf('=') == -1) {
- option += '='+ fDefaultMacroDefinitionValue;
- }
- }
- KVStringPair pair = new KVStringPair(optionKind.toString(), option);
- command.addSCOption(pair);
- }
- break;
- }
- }
- }
- String option;
- for (Iterator iter=includes.iterator(); iter.hasNext(); ) {
- option = (String)iter.next();
- KVStringPair pair = new KVStringPair(SCDOptionsEnum.INCLUDE.toString(), option);
- command.addSCOption(pair);
- }
- for (Iterator iter=dirafter.iterator(); iter.hasNext(); ) {
- command.addSCOption((KVStringPair)iter.next());
- }
- return command;
- }
-
- /**
- * @return Returns the project.
- */
- protected IProject getProject() {
- return project;
- }
-
- public IPath getWorkingDirectory() {
- if (fDirectoryStack.size() != 0) {
- return fDirectoryStack.lastElement();
- }
- // Fallback to the Project Location
- // FIXME: if the build did not start in the Project ?
- return fBaseDirectory;
- }
-
- protected IPath popDirectory() {
- int i = getDirectoryLevel();
- if (i != 0) {
- IPath dir = fDirectoryStack.lastElement();
- fDirectoryStack.removeElementAt(i - 1);
- return dir;
- }
- return new Path(""); //$NON-NLS-1$
- }
-
- protected void pushDirectory(IPath dir) {
- if (dir != null) {
- IPath pwd = null;
- if (fBaseDirectory != null && fBaseDirectory.isPrefixOf(dir)) {
- pwd = dir.removeFirstSegments(fBaseDirectory.segmentCount());
- } else {
- // check if it is a cygpath
- pwd= convertCygpath(dir);
- }
- fDirectoryStack.addElement(pwd);
- }
- }
+ String option = token.substring(optionKind.toString().length()).trim();
+ if (option.length() > 0) {
+ // ex. -I/dir
+ } else if (optionKind.equals(SCDOptionsEnum.IDASH)) {
+ for (Iterator iter = includes.iterator(); iter.hasNext();) {
+ option = (String) iter.next();
+ KVStringPair pair = new KVStringPair(SCDOptionsEnum.IQUOTE.toString(), option);
+ command.addSCOption(pair);
+ }
+ includes = new ArrayList();
+ // -I- has no parameter
+ } else {
+ // ex. -I /dir
+ // take a next token
+ if (i + 1 < tokens.length && !tokens[i + 1].startsWith("-")) { //$NON-NLS-1$
+ option = tokens[++i];
+ } else
+ break;
+ }
+
+ if (option.length() > 0 && (optionKind.equals(SCDOptionsEnum.INCLUDE)
+ || optionKind.equals(SCDOptionsEnum.INCLUDE_FILE)
+ || optionKind.equals(SCDOptionsEnum.IMACROS_FILE)
+ || optionKind.equals(SCDOptionsEnum.IDIRAFTER) || optionKind.equals(SCDOptionsEnum.ISYSTEM)
+ || optionKind.equals(SCDOptionsEnum.IQUOTE))) {
+ option = (getAbsolutePath(option)).toString();
+ }
+
+ if (optionKind.equals(SCDOptionsEnum.IDIRAFTER)) {
+ KVStringPair pair = new KVStringPair(SCDOptionsEnum.INCLUDE.toString(), option);
+ dirafter.add(pair);
+ } else if (optionKind.equals(SCDOptionsEnum.INCLUDE)) {
+ includes.add(option);
+ } else { // add the pair
+ if (optionKind.equals(SCDOptionsEnum.DEFINE)) {
+ if (option.indexOf('=') == -1) {
+ option += '=' + fDefaultMacroDefinitionValue;
+ }
+ }
+ KVStringPair pair = new KVStringPair(optionKind.toString(), option);
+ command.addSCOption(pair);
+ }
+ break;
+ }
+ }
+ }
+ String option;
+ for (Iterator iter = includes.iterator(); iter.hasNext();) {
+ option = (String) iter.next();
+ KVStringPair pair = new KVStringPair(SCDOptionsEnum.INCLUDE.toString(), option);
+ command.addSCOption(pair);
+ }
+ for (Iterator iter = dirafter.iterator(); iter.hasNext();) {
+ command.addSCOption((KVStringPair) iter.next());
+ }
+ return command;
+ }
+
+ /**
+ * @return Returns the project.
+ */
+ protected IProject getProject() {
+ return project;
+ }
+
+ public IPath getWorkingDirectory() {
+ if (fDirectoryStack.size() != 0) {
+ return fDirectoryStack.lastElement();
+ }
+ // Fallback to the Project Location
+ // FIXME: if the build did not start in the Project ?
+ return fBaseDirectory;
+ }
+
+ protected IPath popDirectory() {
+ int i = getDirectoryLevel();
+ if (i != 0) {
+ IPath dir = fDirectoryStack.lastElement();
+ fDirectoryStack.removeElementAt(i - 1);
+ return dir;
+ }
+ return new Path(""); //$NON-NLS-1$
+ }
+
+ protected void pushDirectory(IPath dir) {
+ if (dir != null) {
+ IPath pwd = null;
+ if (fBaseDirectory != null && fBaseDirectory.isPrefixOf(dir)) {
+ pwd = dir.removeFirstSegments(fBaseDirectory.segmentCount());
+ } else {
+ // check if it is a cygpath
+ pwd = convertCygpath(dir);
+ }
+ fDirectoryStack.addElement(pwd);
+ }
+ }
public boolean reportProblems() {
- boolean reset = false;
- for (Iterator<Problem> iter = fErrors.iterator(); iter.hasNext(); ) {
- Problem problem = iter.next();
- if (problem.severity == IMarkerGenerator.SEVERITY_ERROR_BUILD) {
- reset = true;
- }
- if (problem.file == null) {
- fMarkerGenerator.addMarker(new ProblemMarkerInfo(
- project,
- problem.lineNumber,
- problem.description,
- problem.severity,
- problem.variableName));
- } else {
- fMarkerGenerator.addMarker(new ProblemMarkerInfo(
- problem.file,
- problem.lineNumber,
- problem.description,
- problem.severity,
- problem.variableName));
- }
- }
- fErrors.clear();
- return reset;
- }
-
- public void setDefaultMacroDefinitionValue(String val) {
- if (val != null) {
- fDefaultMacroDefinitionValue= val;
- }
- }
-
- public String getDefaultMacroDefinitionValue() {
- return fDefaultMacroDefinitionValue;
- }
+ boolean reset = false;
+ for (Iterator<Problem> iter = fErrors.iterator(); iter.hasNext();) {
+ Problem problem = iter.next();
+ if (problem.severity == IMarkerGenerator.SEVERITY_ERROR_BUILD) {
+ reset = true;
+ }
+ if (problem.file == null) {
+ fMarkerGenerator.addMarker(new ProblemMarkerInfo(project, problem.lineNumber, problem.description,
+ problem.severity, problem.variableName));
+ } else {
+ fMarkerGenerator.addMarker(new ProblemMarkerInfo(problem.file, problem.lineNumber, problem.description,
+ problem.severity, problem.variableName));
+ }
+ }
+ fErrors.clear();
+ return reset;
+ }
+
+ public void setDefaultMacroDefinitionValue(String val) {
+ if (val != null) {
+ fDefaultMacroDefinitionValue = val;
+ }
+ }
+
+ public String getDefaultMacroDefinitionValue() {
+ return fDefaultMacroDefinitionValue;
+ }
public String normalizePath(String path) {
int column = path.indexOf(':');
@@ -485,25 +472,25 @@ public class XLCBuildOutputParserUtility {
if (Character.isLowerCase(driveLetter)) {
StringBuilder sb = new StringBuilder();
if (column - 1 > 0) {
- sb.append(path.substring(0, column-1));
+ sb.append(path.substring(0, column - 1));
}
sb.append(Character.toUpperCase(driveLetter));
sb.append(path.substring(column));
path = sb.toString();
}
}
- if (path.indexOf('.') == -1 || path.equals(".")) { //$NON-NLS-1$
- return (new Path(path)).toString(); // convert separators to '/'
+ if (path.indexOf('.') == -1 || path.equals(".")) { //$NON-NLS-1$
+ return (new Path(path)).toString(); // convert separators to '/'
}
// lose "./" segments since they confuse the Path normalization
StringBuilder buf = new StringBuilder(path);
int len = buf.length();
StringBuilder newBuf = new StringBuilder(buf.length());
int scp = 0; // starting copy point
- int ssp = 0; // starting search point
+ int ssp = 0; // starting search point
int sdot;
boolean validPrefix;
- while (ssp < len && (sdot = buf.indexOf(".", ssp)) != -1) { //$NON-NLS-1$
+ while (ssp < len && (sdot = buf.indexOf(".", ssp)) != -1) { //$NON-NLS-1$
validPrefix = false;
int ddot = buf.indexOf("..", ssp);//$NON-NLS-1$
if (sdot < ddot || ddot == -1) {
@@ -518,21 +505,18 @@ public class XLCBuildOutputParserUtility {
if (validPrefix && nextChar == '/') {
++ssp;
scp = ssp;
- }
- else if (validPrefix && nextChar == '\\') {
+ } else if (validPrefix && nextChar == '\\') {
++ssp;
if (ssp < len - 1 && buf.charAt(ssp) == '\\') {
++ssp;
}
scp = ssp;
- }
- else {
+ } else {
// no path delimiter, must be '.' inside the path
scp = ssp - 1;
}
}
- }
- else if (sdot == ddot) {
+ } else if (sdot == ddot) {
ssp = sdot + 2;
}
}
@@ -542,7 +526,6 @@ public class XLCBuildOutputParserUtility {
return orgPath.toString();
}
-
/**
* Called by the console line parsers to find a file with a given name.
* @param fileName
@@ -561,7 +544,7 @@ public class XLCBuildOutputParserUtility {
// Create a problem marker
final String error = MakeMessages.getString("ConsoleParser.Ambiguous_Filepath_Error_Message"); //$NON-NLS-1$
TraceUtil.outputError(error, fileName);
- generateMarker(getProject(), -1, error+fileName, IMarkerGenerator.SEVERITY_WARNING, null);
+ generateMarker(getProject(), -1, error + fileName, IMarkerGenerator.SEVERITY_WARNING, null);
}
}
}
@@ -666,10 +649,10 @@ public class XLCBuildOutputParserUtility {
public List translateRelativePaths(IFile file, String fileName, List includes) {
List translatedIncludes = new ArrayList(includes.size());
- for (Iterator i = includes.iterator(); i.hasNext(); ) {
+ for (Iterator i = includes.iterator(); i.hasNext();) {
String include = (String) i.next();
IPath includePath = new Path(include);
- if (!includePath.isAbsolute() && !includePath.isUNC()) { // do not translate UNC paths
+ if (!includePath.isAbsolute() && !includePath.isUNC()) { // do not translate UNC paths
// First try the current working directory
IPath cwd = getWorkingDirectory();
if (!cwd.isAbsolute()) {
@@ -685,22 +668,22 @@ public class XLCBuildOutputParserUtility {
if (!filePath.toString().equalsIgnoreCase(file.getLocation().toString())) {
// must be the cwd is wrong
// check if file name starts with ".."
- if (fileName.startsWith("..")) { //$NON-NLS-1$
+ if (fileName.startsWith("..")) { //$NON-NLS-1$
// probably multiple choices for cwd, hopeless
final String error = MakeMessages.getString("ConsoleParser.Working_Directory_Error_Message"); //$NON-NLS-1$
TraceUtil.outputError(error, fileName);
- generateMarker(file, -1, error, IMarkerGenerator.SEVERITY_WARNING, fileName);
+ generateMarker(file, -1, error, IMarkerGenerator.SEVERITY_WARNING, fileName);
break;
- }
- else {
+ } else {
// remove common segments at the end
IPath tPath = new Path(fileName);
- if (fileName.startsWith(".")) { //$NON-NLS-1$
+ if (fileName.startsWith(".")) { //$NON-NLS-1$
tPath = tPath.removeFirstSegments(1);
}
// get the file path from the file
filePath = file.getLocation();
- IPath lastFileSegment = filePath.removeFirstSegments(filePath.segmentCount() - tPath.segmentCount());
+ IPath lastFileSegment = filePath
+ .removeFirstSegments(filePath.segmentCount() - tPath.segmentCount());
if (lastFileSegment.matchingFirstSegments(tPath) == tPath.segmentCount()) {
cwd = filePath.removeLastSegments(tPath.segmentCount());
}
@@ -713,7 +696,7 @@ public class XLCBuildOutputParserUtility {
if (!dir.exists()) {
final String error = MakeMessages.getString("ConsoleParser.Nonexistent_Include_Path_Error_Message"); //$NON-NLS-1$
TraceUtil.outputError(error, include);
-// generateMarker(file, -1, error+include, IMarkerGenerator.SEVERITY_WARNING, fileName);
+ // generateMarker(file, -1, error+include, IMarkerGenerator.SEVERITY_WARNING, fileName);
}
}
// TODO VMIR for now add unresolved paths as well
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerFileBuildOutputParser.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerFileBuildOutputParser.java
index ebaf2d1d626..9f55f00aeb8 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerFileBuildOutputParser.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerFileBuildOutputParser.java
@@ -41,143 +41,143 @@ public class XLCPerFileBuildOutputParser extends AbstractXLCBuildOutputParser {
protected boolean processCommand(String[] tokens) {
try {
- // GCC C/C++ compiler invocation
- int compilerInvocationIndex = findCompilerInvocation(tokens);
- if (compilerInvocationIndex < 0) {
- return false;
- }
-
- // find a file name
- int extensionsIndex = -1;
- boolean found = false;
- String filePath = null;
-
- // check for automake format first
- // e.g. line will start with
- // source='/some/path/source.cpp'
- int automakeSrcIndex = findAutoMakeSourceIndex(tokens);
- if(automakeSrcIndex != -1) {
- filePath = getAutoMakeSourcePath(tokens[automakeSrcIndex]);
- int k = filePath.lastIndexOf('.');
- if (k != -1 && (filePath.length() - k < 5)) {
- String fileExtension = filePath.substring(k);
- extensionsIndex = getFileExtensionsList().indexOf(fileExtension);
- if (extensionsIndex != -1) {
- found = true;
- }
+ // GCC C/C++ compiler invocation
+ int compilerInvocationIndex = findCompilerInvocation(tokens);
+ if (compilerInvocationIndex < 0) {
+ return false;
}
- }
- if (!found) {
- for (int i = compilerInvocationIndex + 1; i < tokens.length; i++) {
- String token = tokens[i];
- int k = token.lastIndexOf('.');
- if (k != -1 && (token.length() - k < 5)) {
- String fileExtension = token.substring(k);
+ // find a file name
+ int extensionsIndex = -1;
+ boolean found = false;
+ String filePath = null;
+
+ // check for automake format first
+ // e.g. line will start with
+ // source='/some/path/source.cpp'
+ int automakeSrcIndex = findAutoMakeSourceIndex(tokens);
+ if (automakeSrcIndex != -1) {
+ filePath = getAutoMakeSourcePath(tokens[automakeSrcIndex]);
+ int k = filePath.lastIndexOf('.');
+ if (k != -1 && (filePath.length() - k < 5)) {
+ String fileExtension = filePath.substring(k);
extensionsIndex = getFileExtensionsList().indexOf(fileExtension);
if (extensionsIndex != -1) {
- filePath = token;
found = true;
- break;
}
}
}
- }
- if (!found) {
- TraceUtil.outputTrace("Error identifying file name :1", tokens, TraceUtil.EOL); //$NON-NLS-1$
- return false;
- }
- // sanity check
- if (filePath.indexOf(getFileExtensions()[extensionsIndex]) == -1) {
- TraceUtil.outputTrace("Error identifying file name :2", tokens, TraceUtil.EOL); //$NON-NLS-1$
- return false;
- }
- if (getUtility() != null) {
- IPath pFilePath = fUtility.getAbsolutePath(filePath);
- String shortFileName = pFilePath.removeFileExtension().lastSegment();
-
- // generalize occurrences of the file name
- for (int i = compilerInvocationIndex + 1; i < tokens.length; i++) {
- String token = tokens[i];
- if (token.equals("-include")) { //$NON-NLS-1$
- ++i;
- } else if (token.equals("-imacros")) { //$NON-NLS-1$
- ++i;
- } else if (token.equals(filePath)) {
- tokens[i] = "LONG_NAME"; //$NON-NLS-1$
- } else if (token.startsWith(shortFileName)) {
- tokens[i] = token.replaceFirst(shortFileName, "SHORT_NAME"); //$NON-NLS-1$
+ if (!found) {
+ for (int i = compilerInvocationIndex + 1; i < tokens.length; i++) {
+ String token = tokens[i];
+ int k = token.lastIndexOf('.');
+ if (k != -1 && (token.length() - k < 5)) {
+ String fileExtension = token.substring(k);
+ extensionsIndex = getFileExtensionsList().indexOf(fileExtension);
+ if (extensionsIndex != -1) {
+ filePath = token;
+ found = true;
+ break;
+ }
+ }
}
}
- IFile file = null;
- IPath baseDirectory = fUtility.getBaseDirectory();
- if (baseDirectory.isPrefixOf(pFilePath)) {
- IPath relPath = pFilePath.removeFirstSegments(baseDirectory.segmentCount());
- // Note: We add the scanner-config even if the resource doesn't
- // actually
- // exist below this project (which may happen when reading
- // existing
- // build logs, because resources can be created as part of the
- // build
- // and may not exist at the time of analyzing the config but
- // re-built
- // later on.
- // if (getProject().exists(relPath)) {
- file = getProject().getFile(relPath);
- } else {
- file = getUtility().findFileInWorkspace(pFilePath);
+ if (!found) {
+ TraceUtil.outputTrace("Error identifying file name :1", tokens, TraceUtil.EOL); //$NON-NLS-1$
+ return false;
+ }
+ // sanity check
+ if (filePath.indexOf(getFileExtensions()[extensionsIndex]) == -1) {
+ TraceUtil.outputTrace("Error identifying file name :2", tokens, TraceUtil.EOL); //$NON-NLS-1$
+ return false;
}
- if (true /*file != null*/) {
- CCommandDSC cmd = getUtility().getNewCCommandDSC(tokens, compilerInvocationIndex, extensionsIndex > 0);
- List<CCommandDSC> cmdList = new CopyOnWriteArrayList<CCommandDSC>();
- cmdList.add(cmd);
- Map<ScannerInfoTypes, List<CCommandDSC>> sc = new HashMap<ScannerInfoTypes, List<CCommandDSC>>(1);
- sc.put(ScannerInfoTypes.COMPILER_COMMAND, cmdList);
- getCollector().contributeToScannerConfig(file, sc);
- if (fCollector != null && fCollector instanceof IScannerInfoCollector2) {
- IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
- try {
- collector.updateScannerConfiguration(null);
- } catch (CoreException e) {
- // TODO Auto-generated catch block
- Activator.log(e);
+ if (getUtility() != null) {
+ IPath pFilePath = fUtility.getAbsolutePath(filePath);
+ String shortFileName = pFilePath.removeFileExtension().lastSegment();
+
+ // generalize occurrences of the file name
+ for (int i = compilerInvocationIndex + 1; i < tokens.length; i++) {
+ String token = tokens[i];
+ if (token.equals("-include")) { //$NON-NLS-1$
+ ++i;
+ } else if (token.equals("-imacros")) { //$NON-NLS-1$
+ ++i;
+ } else if (token.equals(filePath)) {
+ tokens[i] = "LONG_NAME"; //$NON-NLS-1$
+ } else if (token.startsWith(shortFileName)) {
+ tokens[i] = token.replaceFirst(shortFileName, "SHORT_NAME"); //$NON-NLS-1$
}
}
- } else {
- /*
- //TraceUtil.outputError("Build command for file outside project: " + pFilePath.toString(), tokens); //$NON-NLS-1$
- // put the info on the project
- //CCommandDSC cmd = getUtility().getNewCCommandDSC(tokens, compilerInvocationIndex, extensionsIndex > 0);
- //List<CCommandDSC> cmdList = new ArrayList<CCommandDSC>();
-// cmdList.add(cmd);
- Map<ScannerInfoTypes, List<?>> sc = new HashMap<ScannerInfoTypes, List<?>>();
-// sc.put(ScannerInfoTypes.COMPILER_COMMAND, cmdList);
-
-
- // put in empty info for the other types
- sc.put(ScannerInfoTypes.INCLUDE_PATHS, new LinkedList<String>());
- sc.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, new LinkedList<String>());
-
- getCollector().contributeToScannerConfig(getProject(), sc);
- if (fCollector != null && fCollector instanceof IScannerInfoCollector2) {
- IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
- try {
- collector.updateScannerConfiguration(null);
- } catch (CoreException e) {
- // TODO Auto-generated catch block
- Activator.log(e);
- }
+
+ IFile file = null;
+ IPath baseDirectory = fUtility.getBaseDirectory();
+ if (baseDirectory.isPrefixOf(pFilePath)) {
+ IPath relPath = pFilePath.removeFirstSegments(baseDirectory.segmentCount());
+ // Note: We add the scanner-config even if the resource doesn't
+ // actually
+ // exist below this project (which may happen when reading
+ // existing
+ // build logs, because resources can be created as part of the
+ // build
+ // and may not exist at the time of analyzing the config but
+ // re-built
+ // later on.
+ // if (getProject().exists(relPath)) {
+ file = getProject().getFile(relPath);
+ } else {
+ file = getUtility().findFileInWorkspace(pFilePath);
}
+ if (true /*file != null*/) {
+ CCommandDSC cmd = getUtility().getNewCCommandDSC(tokens, compilerInvocationIndex,
+ extensionsIndex > 0);
+ List<CCommandDSC> cmdList = new CopyOnWriteArrayList<CCommandDSC>();
+ cmdList.add(cmd);
+ Map<ScannerInfoTypes, List<CCommandDSC>> sc = new HashMap<ScannerInfoTypes, List<CCommandDSC>>(1);
+ sc.put(ScannerInfoTypes.COMPILER_COMMAND, cmdList);
+ getCollector().contributeToScannerConfig(file, sc);
+ if (fCollector != null && fCollector instanceof IScannerInfoCollector2) {
+ IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
+ try {
+ collector.updateScannerConfiguration(null);
+ } catch (CoreException e) {
+ // TODO Auto-generated catch block
+ Activator.log(e);
+ }
+ }
+ } else {
+ /*
+ //TraceUtil.outputError("Build command for file outside project: " + pFilePath.toString(), tokens); //$NON-NLS-1$
+ // put the info on the project
+ //CCommandDSC cmd = getUtility().getNewCCommandDSC(tokens, compilerInvocationIndex, extensionsIndex > 0);
+ //List<CCommandDSC> cmdList = new ArrayList<CCommandDSC>();
+ // cmdList.add(cmd);
+ Map<ScannerInfoTypes, List<?>> sc = new HashMap<ScannerInfoTypes, List<?>>();
+ // sc.put(ScannerInfoTypes.COMPILER_COMMAND, cmdList);
+
+
+ // put in empty info for the other types
+ sc.put(ScannerInfoTypes.INCLUDE_PATHS, new LinkedList<String>());
+ sc.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, new LinkedList<String>());
+
+ getCollector().contributeToScannerConfig(getProject(), sc);
+ if (fCollector != null && fCollector instanceof IScannerInfoCollector2) {
+ IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
+ try {
+ collector.updateScannerConfiguration(null);
+ } catch (CoreException e) {
+ // TODO Auto-generated catch block
+ Activator.log(e);
+ }
+ }
- */
+ */
+ }
}
- }
- return true;
+ return true;
- }
- catch(Throwable e) {
+ } catch (Throwable e) {
e.printStackTrace();
return false;
}
@@ -187,13 +187,13 @@ public class XLCPerFileBuildOutputParser extends AbstractXLCBuildOutputParser {
// path may be enclosed in single quotes
int firstQuoteIndex = string.indexOf('\'');
int lastQuoteIndex = string.lastIndexOf('\'');
- if(firstQuoteIndex != -1 && lastQuoteIndex != -1)
+ if (firstQuoteIndex != -1 && lastQuoteIndex != -1)
return string.substring(firstQuoteIndex, lastQuoteIndex);
else {
// just take everything after the equals sign
int equalsIndex = string.indexOf('=');
- if(equalsIndex != -1 && equalsIndex < string.length())
- return string.substring(equalsIndex+1);
+ if (equalsIndex != -1 && equalsIndex < string.length())
+ return string.substring(equalsIndex + 1);
}
return null;
@@ -202,7 +202,7 @@ public class XLCPerFileBuildOutputParser extends AbstractXLCBuildOutputParser {
protected int findAutoMakeSourceIndex(String[] tokens) {
for (int i = 0; i < tokens.length; i++) {
final String token = tokens[i].toLowerCase();
- if(token.indexOf("source=") != -1) //$NON-NLS-1$
+ if (token.indexOf("source=") != -1) //$NON-NLS-1$
return i;
}
return -1;
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerProjectBuildOutputParser.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerProjectBuildOutputParser.java
index 714f041a0f3..04a188f0ef2 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerProjectBuildOutputParser.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerProjectBuildOutputParser.java
@@ -13,7 +13,6 @@
*******************************************************************************/
package org.eclipse.cdt.make.xlc.core.scannerconfig;
-
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,151 +32,142 @@ import org.eclipse.core.runtime.CoreException;
* @author crecoskie
*
*/
-public class XLCPerProjectBuildOutputParser extends
- AbstractXLCBuildOutputParser {
+public class XLCPerProjectBuildOutputParser extends AbstractXLCBuildOutputParser {
/* (non-Javadoc)
* @see org.eclipse.cdt.make.xlc.core.scannerconfig.AbstractXLCBuildOutputParser#processCommand(java.lang.String[])
*/
@Override
- protected boolean processCommand(String[] tokens) {
- int compilerInvocationIdx= findCompilerInvocation(tokens);
- if (compilerInvocationIdx<0) {
- return false;
- }
-
- if (compilerInvocationIdx+1 >= tokens.length) {
- return false;
- }
-
- // Recognized gcc or g++ compiler invocation
- List<String> includes = new CopyOnWriteArrayList<String>();
- List<String> symbols = new CopyOnWriteArrayList<String>();
- List<String> targetSpecificOptions = new CopyOnWriteArrayList<String>();
-
- String fileName = null;
- for (int j= compilerInvocationIdx+1; j < tokens.length; j++) {
+ protected boolean processCommand(String[] tokens) {
+ int compilerInvocationIdx = findCompilerInvocation(tokens);
+ if (compilerInvocationIdx < 0) {
+ return false;
+ }
+
+ if (compilerInvocationIdx + 1 >= tokens.length) {
+ return false;
+ }
+
+ // Recognized gcc or g++ compiler invocation
+ List<String> includes = new CopyOnWriteArrayList<String>();
+ List<String> symbols = new CopyOnWriteArrayList<String>();
+ List<String> targetSpecificOptions = new CopyOnWriteArrayList<String>();
+
+ String fileName = null;
+ for (int j = compilerInvocationIdx + 1; j < tokens.length; j++) {
String token = tokens[j];
if (token.equals(DASHIDASH)) {
- }
- else if (token.startsWith(DASHI)) {
- String candidate= null;
+ } else if (token.startsWith(DASHI)) {
+ String candidate = null;
if (token.length() > 2) {
- candidate= token.substring(2).trim();
- }
- else if (j+1 < tokens.length) {
- candidate= tokens[j+1];
+ candidate = token.substring(2).trim();
+ } else if (j + 1 < tokens.length) {
+ candidate = tokens[j + 1];
if (candidate.startsWith("-")) { //$NON-NLS-1$
- candidate= null;
- }
- else {
+ candidate = null;
+ } else {
j++;
}
}
if (candidate != null && candidate.length() > 0) {
if (getUtility() != null) {
- candidate= getUtility().normalizePath(candidate);
+ candidate = getUtility().normalizePath(candidate);
}
if (!includes.contains(candidate)) {
includes.add(candidate);
}
}
- }
- else if (token.startsWith(DASHD)) {
- String candidate= null;
+ } else if (token.startsWith(DASHD)) {
+ String candidate = null;
if (token.length() > 2) {
- candidate= token.substring(2).trim();
- }
- else if (j+1 < tokens.length) {
- candidate= tokens[j+1];
+ candidate = token.substring(2).trim();
+ } else if (j + 1 < tokens.length) {
+ candidate = tokens[j + 1];
if (candidate.startsWith("-")) { //$NON-NLS-1$
- candidate= null;
- }
- else {
+ candidate = null;
+ } else {
j++;
}
}
- if (candidate != null && candidate.length() > 0) {
- if (candidate.indexOf('=') == -1) {
- candidate+= '='+ getUtility().getDefaultMacroDefinitionValue();
- }
- if (!symbols.contains(candidate)) {
- symbols.add(candidate);
- }
- }
- }
-
- else if (fileName == null) {
- int extIndex = token.lastIndexOf('.');
- String extension=null;
-
- if(extIndex != -1)
- extension = token.substring(extIndex);
+ if (candidate != null && candidate.length() > 0) {
+ if (candidate.indexOf('=') == -1) {
+ candidate += '=' + getUtility().getDefaultMacroDefinitionValue();
+ }
+ if (!symbols.contains(candidate)) {
+ symbols.add(candidate);
+ }
+ }
+ }
- List<String> extensions = getFileExtensionsList();
- if(extension != null && extensions.contains(extension))
- fileName = token;
- }
- }
+ else if (fileName == null) {
+ int extIndex = token.lastIndexOf('.');
+ String extension = null;
- if (fileName == null) {
- return false; // return when no file was given (analogous to GCCPerFileBOPConsoleParser)
- }
+ if (extIndex != -1)
+ extension = token.substring(extIndex);
- IProject project = getProject();
- IFile file = null;
- List<String> translatedIncludes = includes;
- if (includes.size() > 0) {
- if (fileName != null) {
- if (getUtility() != null) {
- file = getUtility().findFile(fileName);
- if (file != null) {
- project = file.getProject();
- translatedIncludes = getUtility().translateRelativePaths(file, fileName, includes);
- }
- }
- }
- else {
- StringBuilder line= new StringBuilder();
- for (int j = 0; j < tokens.length; j++) {
+ List<String> extensions = getFileExtensionsList();
+ if (extension != null && extensions.contains(extension))
+ fileName = token;
+ }
+ }
+
+ if (fileName == null) {
+ return false; // return when no file was given (analogous to GCCPerFileBOPConsoleParser)
+ }
+
+ IProject project = getProject();
+ IFile file = null;
+ List<String> translatedIncludes = includes;
+ if (includes.size() > 0) {
+ if (fileName != null) {
+ if (getUtility() != null) {
+ file = getUtility().findFile(fileName);
+ if (file != null) {
+ project = file.getProject();
+ translatedIncludes = getUtility().translateRelativePaths(file, fileName, includes);
+ }
+ }
+ } else {
+ StringBuilder line = new StringBuilder();
+ for (int j = 0; j < tokens.length; j++) {
line.append(tokens[j]);
line.append(' ');
}
- final String error = MakeMessages.getString("ConsoleParser.Filename_Missing_Error_Message"); //$NON-NLS-1$
- TraceUtil.outputError(error, line.toString());
- if (getUtility() != null) {
- getUtility().generateMarker(getProject(), -1, error + line.toString(), IMarkerGenerator.SEVERITY_WARNING, null);
- }
- }
- if (file == null && getUtility() != null) { // real world case
- // remove include paths since there was no chance to translate them
- translatedIncludes.clear();
- }
- }
- // Contribute discovered includes and symbols to the ScannerInfoCollector
- if (translatedIncludes.size() > 0 || symbols.size() > 0) {
- Map<ScannerInfoTypes, List<String>> scannerInfo = new HashMap<ScannerInfoTypes, List<String>>();
- scannerInfo.put(ScannerInfoTypes.INCLUDE_PATHS, translatedIncludes);
- scannerInfo.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, symbols);
- scannerInfo.put(ScannerInfoTypes.TARGET_SPECIFIC_OPTION, targetSpecificOptions);
- getCollector().contributeToScannerConfig(project, scannerInfo);
- if(fCollector != null && fCollector instanceof IScannerInfoCollector2) {
- IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
- try {
- collector.updateScannerConfiguration(null);
- } catch (CoreException e) {
- // TODO Auto-generated catch block
- Activator.log(e);
- }
- }
+ final String error = MakeMessages.getString("ConsoleParser.Filename_Missing_Error_Message"); //$NON-NLS-1$
+ TraceUtil.outputError(error, line.toString());
+ if (getUtility() != null) {
+ getUtility().generateMarker(getProject(), -1, error + line.toString(),
+ IMarkerGenerator.SEVERITY_WARNING, null);
+ }
+ }
+ if (file == null && getUtility() != null) { // real world case
+ // remove include paths since there was no chance to translate them
+ translatedIncludes.clear();
+ }
+ }
+ // Contribute discovered includes and symbols to the ScannerInfoCollector
+ if (translatedIncludes.size() > 0 || symbols.size() > 0) {
+ Map<ScannerInfoTypes, List<String>> scannerInfo = new HashMap<ScannerInfoTypes, List<String>>();
+ scannerInfo.put(ScannerInfoTypes.INCLUDE_PATHS, translatedIncludes);
+ scannerInfo.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, symbols);
+ scannerInfo.put(ScannerInfoTypes.TARGET_SPECIFIC_OPTION, targetSpecificOptions);
+ getCollector().contributeToScannerConfig(project, scannerInfo);
+ if (fCollector != null && fCollector instanceof IScannerInfoCollector2) {
+ IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
+ try {
+ collector.updateScannerConfiguration(null);
+ } catch (CoreException e) {
+ // TODO Auto-generated catch block
+ Activator.log(e);
+ }
+ }
- TraceUtil.outputTrace("Discovered scanner info for file \'" + fileName + '\'', //$NON-NLS-1$
- "Include paths", includes, translatedIncludes, "Defined symbols", symbols); //$NON-NLS-1$ //$NON-NLS-2$
- }
+ TraceUtil.outputTrace("Discovered scanner info for file \'" + fileName + '\'', //$NON-NLS-1$
+ "Include paths", includes, translatedIncludes, "Defined symbols", symbols); //$NON-NLS-1$ //$NON-NLS-2$
+ }
return true;
-}
-
-
+ }
}
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsConsoleParser.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsConsoleParser.java
index a706896a615..65e96ccdbb9 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsConsoleParser.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsConsoleParser.java
@@ -43,26 +43,23 @@ import org.eclipse.cdt.core.CProjectNature;
public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser {
// pattern for the output line of interest
- final Pattern linePattern = Pattern
- .compile("exec:\\s(?!export)(?:.*)\\((.*)\\)"); //$NON-NLS-1$
+ final Pattern linePattern = Pattern.compile("exec:\\s(?!export)(?:.*)\\((.*)\\)"); //$NON-NLS-1$
// pattern for the symbols arguments
final Pattern symbolPattern = Pattern.compile("-D(.*)"); //$NON-NLS-1$
// pattern for the includes arguments
- final Pattern includePattern = Pattern
- .compile("-(?:qgcc_c_stdinc|qc_stdinc|qgcc_cpp_stdinc|qcpp_stdinc)=(.*)"); //$NON-NLS-1$
+ final Pattern includePattern = Pattern.compile("-(?:qgcc_c_stdinc|qc_stdinc|qgcc_cpp_stdinc|qcpp_stdinc)=(.*)"); //$NON-NLS-1$
final Pattern C_includePattern = Pattern.compile("-(?:qgcc_c_stdinc|qc_stdinc)=(.*)"); //$NON-NLS-1$
final Pattern CXX_includePattern = Pattern.compile("-(?:qgcc_cpp_stdinc|qcpp_stdinc)=(.*)"); //$NON-NLS-1$
-
+
// xlC compiler constants
- protected final static String [] compilerConstants = {
- "_Builtin", //$NON-NLS-1$
+ protected final static String[] compilerConstants = { "_Builtin", //$NON-NLS-1$
"__IBMCPP__", //$NON-NLS-1$
- "__xlC__", //$NON-NLS-1$
- "__IBMC__", //$NON-NLS-1$
- "__xlc__" //$NON-NLS-1$
+ "__xlC__", //$NON-NLS-1$
+ "__IBMC__", //$NON-NLS-1$
+ "__xlc__" //$NON-NLS-1$
};
private IProject fProject = null;
@@ -71,11 +68,12 @@ public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser {
protected List<String> symbols = new ArrayList<String>();
- protected List<String> includes = new ArrayList<String>();
+ protected List<String> includes = new ArrayList<String>();
protected List<String> c_includes = new ArrayList<String>();
protected List<String> cpp_includes = new ArrayList<String>();
-
- boolean c_lang; // if language is C only search for the C include paths from the XL Compiler, otherwise get the C++ ones.
+
+ boolean c_lang; // if language is C only search for the C include paths from the XL Compiler, otherwise get the C++ ones.
+
public boolean isC_lang() {
return c_lang;
}
@@ -94,20 +92,19 @@ public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser {
* @since 1.0
*/
@Override
- public void startup(IProject project, IPath workingDirectory,
- IScannerInfoCollector collector, IMarkerGenerator markerGenerator) {
+ public void startup(IProject project, IPath workingDirectory, IScannerInfoCollector collector,
+ IMarkerGenerator markerGenerator) {
this.fProject = project;
this.fCollector = collector;
-
+
try {
if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
// use C++ pattern
c_lang = false;
- }
- else {
+ } else {
// use C pattern
c_lang = true;
- }
+ }
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -129,10 +126,9 @@ public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser {
@Override
public boolean processLine(String line) {
boolean rc = false;
- TraceUtil.outputTrace(
- "XLCSpecsConsoleParser parsing line: [", line, "]"); //$NON-NLS-1$ //$NON-NLS-2$
+ TraceUtil.outputTrace("XLCSpecsConsoleParser parsing line: [", line, "]"); //$NON-NLS-1$ //$NON-NLS-2$
- line= line.trim();
+ line = line.trim();
if (line.length() == 0) {
return false;
}
@@ -147,18 +143,17 @@ public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser {
for (int i = 0; i < args.length; i++) {
// getting the arguments of interest
Matcher symbolMatcher = symbolPattern.matcher(args[i]);
- if (symbolMatcher.matches()
- && !symbols.contains(symbolMatcher.group(1))) {
+ if (symbolMatcher.matches() && !symbols.contains(symbolMatcher.group(1))) {
// if it is a symbol and it was not yet added
symbols.add(symbolMatcher.group(1));
} else {
// if it is not a symbol, check to see if it is an
// include
- Matcher includeMatcher = c_lang ? C_includePattern.matcher(args[i]) : CXX_includePattern.matcher(args[i]);
+ Matcher includeMatcher = c_lang ? C_includePattern.matcher(args[i])
+ : CXX_includePattern.matcher(args[i]);
if (includeMatcher.matches()) {
// if it is a set of include paths, split it
- String[] includePaths = includeMatcher.group(1).split(
- ":"); //$NON-NLS-1$
+ String[] includePaths = includeMatcher.group(1).split(":"); //$NON-NLS-1$
for (int j = 0; j < includePaths.length; j++) {
if (!includes.contains(includePaths[j])) {
// if the include path was not yet added
@@ -193,7 +188,7 @@ public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser {
scannerInfo.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, symbols);
fCollector.contributeToScannerConfig(fProject, scannerInfo);
- if(fCollector != null && fCollector instanceof IScannerInfoCollector2) {
+ if (fCollector != null && fCollector instanceof IScannerInfoCollector2) {
IScannerInfoCollector2 collector = (IScannerInfoCollector2) fCollector;
try {
collector.updateScannerConfiguration(null);
@@ -202,9 +197,8 @@ public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser {
Activator.log(e);
}
}
- TraceUtil.outputTrace(
- "Scanner info from \'specs\' file", //$NON-NLS-1$
- "Include paths", includes, new ArrayList<String>(), "Defined symbols", symbols); //$NON-NLS-1$ //$NON-NLS-2$
+ TraceUtil.outputTrace("Scanner info from \'specs\' file", //$NON-NLS-1$
+ "Include paths", includes, new ArrayList<String>(), "Defined symbols", symbols); //$NON-NLS-1$ //$NON-NLS-2$
}
}
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsRunSIProvider.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsRunSIProvider.java
index df734de312e..453bf8f3afe 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsRunSIProvider.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsRunSIProvider.java
@@ -39,15 +39,9 @@ public class XlCSpecsRunSIProvider extends GCCSpecsRunSIProvider {
if (rc) {
try {
- this.fCompileCommand = new Path(ManagedBuildManager.getBuildMacroProvider()
- .resolveValue(
- this.fCompileCommand.toString(),
- EMPTY_STRING,
- null,
- IBuildMacroProvider.CONTEXT_CONFIGURATION,
- ManagedBuildManager.getBuildInfo(
- this.resource.getProject())
- .getDefaultConfiguration()));
+ this.fCompileCommand = new Path(ManagedBuildManager.getBuildMacroProvider().resolveValue(
+ this.fCompileCommand.toString(), EMPTY_STRING, null, IBuildMacroProvider.CONTEXT_CONFIGURATION,
+ ManagedBuildManager.getBuildInfo(this.resource.getProject()).getDefaultConfiguration()));
} catch (BuildMacroException e) {
e.printStackTrace();
return false;
diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/util/XLCCommandDSC.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/util/XLCCommandDSC.java
index 1b029974410..cd4b6ad7262 100644
--- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/util/XLCCommandDSC.java
+++ b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/util/XLCCommandDSC.java
@@ -38,13 +38,11 @@ public class XLCCommandDSC extends CCommandDSC {
*/
@Override
public void addSCOption(KVStringPair option) {
- if (project != null &&
- (option.getKey().equals(SCDOptionsEnum.INCLUDE_FILE.toString()) ||
- option.getKey().equals(SCDOptionsEnum.INCLUDE.toString()) ||
- option.getKey().equals(SCDOptionsEnum.ISYSTEM.toString()) ||
- option.getKey().equals(SCDOptionsEnum.IMACROS_FILE.toString()) ||
- option.getKey().equals(SCDOptionsEnum.IQUOTE.toString())))
- {
+ if (project != null && (option.getKey().equals(SCDOptionsEnum.INCLUDE_FILE.toString())
+ || option.getKey().equals(SCDOptionsEnum.INCLUDE.toString())
+ || option.getKey().equals(SCDOptionsEnum.ISYSTEM.toString())
+ || option.getKey().equals(SCDOptionsEnum.IMACROS_FILE.toString())
+ || option.getKey().equals(SCDOptionsEnum.IQUOTE.toString()))) {
String value = option.getValue();
value = makeRelative(project, new Path(value)).toOSString();
option = new KVStringPair(option.getKey(), value);
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XlcBuiltinSpecsDetector.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XlcBuiltinSpecsDetector.java
index 64ee9ef9caa..cadfcf72135 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XlcBuiltinSpecsDetector.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XlcBuiltinSpecsDetector.java
@@ -26,11 +26,13 @@ import org.eclipse.cdt.managedbuilder.language.settings.providers.ToolchainBuilt
/**
* Language settings provider to detect built-in compiler settings for IBM XLC compiler.
*/
-public class XlcBuiltinSpecsDetector extends ToolchainBuiltinSpecsDetector implements ILanguageSettingsEditableProvider {
+public class XlcBuiltinSpecsDetector extends ToolchainBuiltinSpecsDetector
+ implements ILanguageSettingsEditableProvider {
// must match the toolchain definition in org.eclipse.cdt.managedbuilder.core.buildDefinitions extension point
- private static final String XLC_TOOLCHAIN_ID = "cdt.managedbuild.toolchain.xlc.exe.debug"; //$NON-NLS-1$
+ private static final String XLC_TOOLCHAIN_ID = "cdt.managedbuild.toolchain.xlc.exe.debug"; //$NON-NLS-1$
- private static final Pattern OPTIONS_PATTERN = Pattern.compile("-[^\\s\"']*(\\s*((\".*?\")|('.*?')|([^-\\s][^\\s]+)))?"); //$NON-NLS-1$
+ private static final Pattern OPTIONS_PATTERN = Pattern
+ .compile("-[^\\s\"']*(\\s*((\".*?\")|('.*?')|([^-\\s][^\\s]+)))?"); //$NON-NLS-1$
private static final int OPTION_GROUP = 0;
/* Sample output:
@@ -44,14 +46,19 @@ public class XlcBuiltinSpecsDetector extends ToolchainBuiltinSpecsDetector imple
*/
@SuppressWarnings("nls")
private static final AbstractOptionParser[] optionParsers = {
- new IncludePathOptionParser("-I\\s*([\"'])(.*)\\1", "$2", ICSettingEntry.BUILTIN | ICSettingEntry.READONLY | ICSettingEntry.LOCAL),
+ new IncludePathOptionParser("-I\\s*([\"'])(.*)\\1", "$2",
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY | ICSettingEntry.LOCAL),
new IncludePathOptionParser("-I\\s*([^\\s\"']*)", "$1", ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
- new IncludePathOptionParser("-qc\\+\\+=\\s*([^\\s\"']*)", "$1", ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
- new MacroOptionParser("-D\\s*([\"'])([^=]*)(=(.*))?\\1", "$2", "$4", ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
- new MacroOptionParser("-D\\s*([^\\s=\"']*)=(\\\\([\"']))(.*?)\\2", "$1", "$3$4$3", ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
- new MacroOptionParser("-D\\s*([^\\s=\"']*)=([\"'])(.*?)\\2", "$1", "$3", ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
- new MacroOptionParser("-D\\s*([^\\s=\"']*)(=([^\\s\"']*))?", "$1", "$3", ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
- };
+ new IncludePathOptionParser("-qc\\+\\+=\\s*([^\\s\"']*)", "$1",
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
+ new MacroOptionParser("-D\\s*([\"'])([^=]*)(=(.*))?\\1", "$2", "$4",
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
+ new MacroOptionParser("-D\\s*([^\\s=\"']*)=(\\\\([\"']))(.*?)\\2", "$1", "$3$4$3",
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
+ new MacroOptionParser("-D\\s*([^\\s=\"']*)=([\"'])(.*?)\\2", "$1", "$3",
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY),
+ new MacroOptionParser("-D\\s*([^\\s=\"']*)(=([^\\s\"']*))?", "$1", "$3",
+ ICSettingEntry.BUILTIN | ICSettingEntry.READONLY), };
@Override
public String getToolchainId() {
@@ -69,7 +76,7 @@ public class XlcBuiltinSpecsDetector extends ToolchainBuiltinSpecsDetector imple
Matcher optionMatcher = OPTIONS_PATTERN.matcher(line);
while (optionMatcher.find()) {
String option = optionMatcher.group(OPTION_GROUP);
- if (option!=null) {
+ if (option != null) {
options.add(option);
}
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixConfigurationEnvironmentSupplier.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixConfigurationEnvironmentSupplier.java
index a7ae73b0148..d65417ddc94 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixConfigurationEnvironmentSupplier.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixConfigurationEnvironmentSupplier.java
@@ -20,37 +20,39 @@ import org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSu
import org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider;
import org.eclipse.cdt.managedbuilder.internal.envvar.BuildEnvVar;
-public class AixConfigurationEnvironmentSupplier implements
- IConfigurationEnvironmentVariableSupplier {
+public class AixConfigurationEnvironmentSupplier implements IConfigurationEnvironmentVariableSupplier {
static final String VARNAME = "PATH";
static final String BINPATH = "/usr/vac/bin";
static final String DELIMITER_AIX = ":";
static final String PROPERTY_DELIMITER = "path.separator";
- static final String PROPERTY_OSNAME = "os.name";
+ static final String PROPERTY_OSNAME = "os.name";
+
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSupplier#getVariable(java.lang.String, org.eclipse.cdt.managedbuilder.core.IConfiguration, org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider)
*/
@Override
- public IBuildEnvironmentVariable getVariable(String variableName,
- IConfiguration configuration, IEnvironmentVariableProvider provider) {
+ public IBuildEnvironmentVariable getVariable(String variableName, IConfiguration configuration,
+ IEnvironmentVariableProvider provider) {
- if (variableName == null) return null;
- if (!VARNAME.equalsIgnoreCase(variableName)) return null;
- return new BuildEnvVar(VARNAME, BINPATH,
- IBuildEnvironmentVariable.ENVVAR_PREPEND,
- System.getProperty(PROPERTY_DELIMITER, DELIMITER_AIX));
+ if (variableName == null)
+ return null;
+ if (!VARNAME.equalsIgnoreCase(variableName))
+ return null;
+ return new BuildEnvVar(VARNAME, BINPATH, IBuildEnvironmentVariable.ENVVAR_PREPEND,
+ System.getProperty(PROPERTY_DELIMITER, DELIMITER_AIX));
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSupplier#getVariables(org.eclipse.cdt.managedbuilder.core.IConfiguration, org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider)
*/
@Override
- public IBuildEnvironmentVariable[] getVariables(
- IConfiguration configuration, IEnvironmentVariableProvider provider) {
+ public IBuildEnvironmentVariable[] getVariables(IConfiguration configuration,
+ IEnvironmentVariableProvider provider) {
IBuildEnvironmentVariable[] tmp = new IBuildEnvironmentVariable[1];
tmp[0] = getVariable(VARNAME, configuration, provider);
- if (tmp[0] != null) return tmp;
+ if (tmp[0] != null)
+ return tmp;
return null;
}
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixPathResolver.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixPathResolver.java
index 84e8d07a81d..0a5f64f6558 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixPathResolver.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixPathResolver.java
@@ -24,8 +24,8 @@ public class AixPathResolver implements IBuildPathResolver {
* @see org.eclipse.cdt.managedbuilder.core.IBuildPathResolver#resolveBuildPaths(int, java.lang.String, java.lang.String, org.eclipse.cdt.managedbuilder.core.IConfiguration)
*/
@Override
- public String[] resolveBuildPaths(int pathType, String variableName,
- String variableValue, IConfiguration configuration) {
+ public String[] resolveBuildPaths(int pathType, String variableName, String variableValue,
+ IConfiguration configuration) {
return variableValue.split(DELIMITER_AIX);
}
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCProjectMacroSupplier.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCProjectMacroSupplier.java
index 059a1dd8272..b156d235a70 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCProjectMacroSupplier.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCProjectMacroSupplier.java
@@ -35,10 +35,9 @@ public class XLCProjectMacroSupplier implements IProjectBuildMacroSupplier {
* @see org.eclipse.cdt.managedbuilder.macros.IProjectBuildMacroSupplier#getMacro(java.lang.String, org.eclipse.cdt.managedbuilder.core.IManagedProject, org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider)
*/
@Override
- public IBuildMacro getMacro(String macroName, IManagedProject project,
- IBuildMacroProvider provider) {
+ public IBuildMacro getMacro(String macroName, IManagedProject project, IBuildMacroProvider provider) {
- if(macroName.equals(PreferenceConstants.P_XL_COMPILER_ROOT)) {
+ if (macroName.equals(PreferenceConstants.P_XL_COMPILER_ROOT)) {
String compilerPath = null;
// figure out compiler path from properties and preferences
@@ -46,21 +45,20 @@ public class XLCProjectMacroSupplier implements IProjectBuildMacroSupplier {
// search for property first
IProject theProject = (IProject) project.getOwner();
try {
- compilerPath = theProject.getPersistentProperty(new QualifiedName("",
- PreferenceConstants.P_XL_COMPILER_ROOT));
+ compilerPath = theProject
+ .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XL_COMPILER_ROOT));
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- if(compilerPath == null) {
+ if (compilerPath == null) {
// use the workbench preference
IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
compilerPath = prefStore.getString(PreferenceConstants.P_XL_COMPILER_ROOT);
}
- BuildMacro macro = new BuildMacro(macroName, ICdtVariable.VALUE_PATH_DIR,
- compilerPath);
+ BuildMacro macro = new BuildMacro(macroName, ICdtVariable.VALUE_PATH_DIR, compilerPath);
return macro;
}
@@ -73,8 +71,7 @@ public class XLCProjectMacroSupplier implements IProjectBuildMacroSupplier {
* @see org.eclipse.cdt.managedbuilder.macros.IProjectBuildMacroSupplier#getMacros(org.eclipse.cdt.managedbuilder.core.IManagedProject, org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider)
*/
@Override
- public IBuildMacro[] getMacros(IManagedProject project,
- IBuildMacroProvider provider) {
+ public IBuildMacro[] getMacros(IManagedProject project, IBuildMacroProvider provider) {
String macroName = PreferenceConstants.P_XL_COMPILER_ROOT;
@@ -85,50 +82,48 @@ public class XLCProjectMacroSupplier implements IProjectBuildMacroSupplier {
// search for property first
IProject theProject = (IProject) project.getOwner();
try {
- compilerPath = theProject.getPersistentProperty(new QualifiedName("",
- PreferenceConstants.P_XL_COMPILER_ROOT));
+ compilerPath = theProject
+ .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XL_COMPILER_ROOT));
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- if(compilerPath == null) {
+ if (compilerPath == null) {
// use the workbench preference
IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
compilerPath = prefStore.getString(PreferenceConstants.P_XL_COMPILER_ROOT);
}
- BuildMacro macro = new BuildMacro(macroName, ICdtVariable.VALUE_PATH_DIR,
- compilerPath);
+ BuildMacro macro = new BuildMacro(macroName, ICdtVariable.VALUE_PATH_DIR, compilerPath);
// our array consists of our macro, plus all the macros from our parent
IBuildMacro[] parentMacros = provider.getMacros(IBuildMacroProvider.CONTEXT_PROJECT, project, true);
-
// look for an existing macro definition
int foundIndex = -1;
- for(int k = 0; k < parentMacros.length; k++) {
-
- if(parentMacros[k].getName().equals(macro.getName())) {
+ for (int k = 0; k < parentMacros.length; k++) {
+
+ if (parentMacros[k].getName().equals(macro.getName())) {
foundIndex = k;
break;
}
}
-
+
int numMacros = (foundIndex == -1) ? parentMacros.length + 1 : parentMacros.length;
-
+
IBuildMacro[] macros = new IBuildMacro[numMacros];
// if there was no existing value then add it to the front
- if(foundIndex == -1) {
+ if (foundIndex == -1) {
macros[0] = macro;
- for(int k = 1; k < macros.length; k++) {
- macros[k] = parentMacros[k-1];
+ for (int k = 1; k < macros.length; k++) {
+ macros[k] = parentMacros[k - 1];
}
}
- else { // replace the old value
- for(int k = 0; k < macros.length; k++) {
+ else { // replace the old value
+ for (int k = 0; k < macros.length; k++) {
macros[k] = parentMacros[k];
}
macros[foundIndex] = macro;
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceConstants.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceConstants.java
index a34d2d3794a..e40749d2d1f 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceConstants.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceConstants.java
@@ -23,11 +23,11 @@ public class PreferenceConstants {
public static final String P_XL_COMPILER_ROOT = "XL_compilerRoot"; //$NON-NLS-1$
- public static final String P_XLC_COMPILER_VERSION = "XLC_compilerVersion"; //$NON-NLS-1$
+ public static final String P_XLC_COMPILER_VERSION = "XLC_compilerVersion"; //$NON-NLS-1$
- public static final String P_XL_COMPILER_VERSION_8 = "v8.0"; //$NON-NLS-1$
- public static final String P_XL_COMPILER_VERSION_9 = "v9.0"; //$NON-NLS-1$
- public static final String P_XL_COMPILER_VERSION_10 = "v10.1"; //$NON-NLS-1$
+ public static final String P_XL_COMPILER_VERSION_8 = "v8.0"; //$NON-NLS-1$
+ public static final String P_XL_COMPILER_VERSION_9 = "v9.0"; //$NON-NLS-1$
+ public static final String P_XL_COMPILER_VERSION_10 = "v10.1"; //$NON-NLS-1$
public static final String P_XL_COMPILER_VERSION_11 = "v11.1"; //$NON-NLS-1$
public static final String P_XL_COMPILER_VERSION_8_NAME = Messages.XLCompiler_v8;
@@ -35,7 +35,7 @@ public class PreferenceConstants {
public static final String P_XL_COMPILER_VERSION_10_NAME = Messages.XLCompiler_v10;
public static final String P_XL_COMPILER_VERSION_11_NAME = Messages.XLCompiler_v11;
- public static String getVersion (String label) {
+ public static String getVersion(String label) {
if (label.equalsIgnoreCase(P_XL_COMPILER_VERSION_11_NAME))
return P_XL_COMPILER_VERSION_11;
else if (label.equalsIgnoreCase(P_XL_COMPILER_VERSION_10_NAME))
@@ -46,7 +46,7 @@ public class PreferenceConstants {
return P_XL_COMPILER_VERSION_8;
}
- public static String getVersionLabel (String version) {
+ public static String getVersionLabel(String version) {
if (version.equalsIgnoreCase(P_XL_COMPILER_VERSION_11))
return P_XL_COMPILER_VERSION_11_NAME;
else if (version.equalsIgnoreCase(P_XL_COMPILER_VERSION_10))
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceInitializer.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceInitializer.java
index e1ef9f0242d..2df7ac8efb8 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceInitializer.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceInitializer.java
@@ -31,7 +31,7 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
@Override
public void initializeDefaultPreferences() {
IPreferenceStore store = XLCUIPlugin.getDefault().getPreferenceStore();
- store.setDefault(PreferenceConstants.P_XL_COMPILER_ROOT, "/usr/vacpp/bin"); //$NON-NLS-1$
+ store.setDefault(PreferenceConstants.P_XL_COMPILER_ROOT, "/usr/vacpp/bin"); //$NON-NLS-1$
store.setDefault(PreferenceConstants.P_XLC_COMPILER_VERSION, PreferenceConstants.P_XL_COMPILER_VERSION_8);
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/XLCompilerPreferencePage.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/XLCompilerPreferencePage.java
index 4b8d2ad21d0..08404edf390 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/XLCompilerPreferencePage.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/XLCompilerPreferencePage.java
@@ -37,9 +37,7 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
* be accessed directly via the preference store.
*/
-public class XLCompilerPreferencePage
- extends FieldEditorPreferencePage
- implements IWorkbenchPreferencePage {
+public class XLCompilerPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
private String originalMessage;
@@ -58,19 +56,15 @@ public class XLCompilerPreferencePage
@Override
public void createFieldEditors() {
- DirectoryFieldEditor pathEditor = new DirectoryFieldEditor(PreferenceConstants.P_XL_COMPILER_ROOT, Messages.XLCompilerPreferencePage_1, getFieldEditorParent())
- {
+ DirectoryFieldEditor pathEditor = new DirectoryFieldEditor(PreferenceConstants.P_XL_COMPILER_ROOT,
+ Messages.XLCompilerPreferencePage_1, getFieldEditorParent()) {
@Override
- protected boolean doCheckState()
- {
+ protected boolean doCheckState() {
// always return true, as we don't want to fail cases when compiler is installed remotely
// just warn user
- if (!super.doCheckState())
- {
+ if (!super.doCheckState()) {
setMessage(Messages.XLCompilerPreferencePage_3, IMessageProvider.WARNING);
- }
- else
- {
+ } else {
setMessage(originalMessage);
}
@@ -78,8 +72,7 @@ public class XLCompilerPreferencePage
}
@Override
- protected boolean checkState()
- {
+ protected boolean checkState() {
return doCheckState();
}
@@ -87,13 +80,14 @@ public class XLCompilerPreferencePage
addField(pathEditor);
- String[][] versionEntries = {{PreferenceConstants.P_XL_COMPILER_VERSION_8_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_8},
- {PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_9},
- {PreferenceConstants.P_XL_COMPILER_VERSION_10_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_10},
- {PreferenceConstants.P_XL_COMPILER_VERSION_11_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_11}};
+ String[][] versionEntries = {
+ { PreferenceConstants.P_XL_COMPILER_VERSION_8_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_8 },
+ { PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_9 },
+ { PreferenceConstants.P_XL_COMPILER_VERSION_10_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_10 },
+ { PreferenceConstants.P_XL_COMPILER_VERSION_11_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_11 } };
- addField(new ComboFieldEditor(PreferenceConstants.P_XLC_COMPILER_VERSION,
- Messages.XLCompilerPreferencePage_2, versionEntries, getFieldEditorParent()));
+ addField(new ComboFieldEditor(PreferenceConstants.P_XLC_COMPILER_VERSION, Messages.XLCompilerPreferencePage_2,
+ versionEntries, getFieldEditorParent()));
}
@@ -101,8 +95,7 @@ public class XLCompilerPreferencePage
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
*/
@Override
- public void init(IWorkbench workbench)
- {
+ public void init(IWorkbench workbench) {
originalMessage = getMessage();
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/HiddenOptionApplicabilityCalculator.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/HiddenOptionApplicabilityCalculator.java
index d07368c4088..62e6e821015 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/HiddenOptionApplicabilityCalculator.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/HiddenOptionApplicabilityCalculator.java
@@ -23,16 +23,14 @@ import org.eclipse.cdt.managedbuilder.core.IOptionApplicability;
This class decides whether the make shared object
option is visible,enabled or used in command line or not */
-public class HiddenOptionApplicabilityCalculator implements
- IOptionApplicability {
+public class HiddenOptionApplicabilityCalculator implements IOptionApplicability {
/**
* This function decides if the option for which this class
* is option applicability calculator is enabled or not.
*/
@Override
- public boolean isOptionEnabled(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionEnabled(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return false;
}
@@ -43,8 +41,7 @@ public class HiddenOptionApplicabilityCalculator implements
*/
@Override
- public boolean isOptionUsedInCommandLine(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionUsedInCommandLine(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return true;
}
@@ -54,8 +51,7 @@ public class HiddenOptionApplicabilityCalculator implements
*/
@Override
- public boolean isOptionVisible(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionVisible(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return false;
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCApplicabilityCalculator.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCApplicabilityCalculator.java
index 620b202ce69..a7163ebcd0d 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCApplicabilityCalculator.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCApplicabilityCalculator.java
@@ -44,8 +44,7 @@ import org.eclipse.jface.preference.IPreferenceStore;
*
*/
-public class XLCApplicabilityCalculator implements IOptionApplicability
-{
+public class XLCApplicabilityCalculator implements IOptionApplicability {
private static final String BUNDLE_NAME = "org/eclipse/cdt/managedbuilder/xlc/ui/properties/applicability.properties";
private static final String PROP_NAME_VERSION_ORDER = "xlc.applicability.version.order";
private static final String PROP_VALUE_PLUS = "+";
@@ -54,10 +53,8 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
private static List versionOrder;
private static Map applicabilityMap;
- public XLCApplicabilityCalculator()
- {
- if (!initialized)
- {
+ public XLCApplicabilityCalculator() {
+ if (!initialized) {
Properties props = null;
ClassLoader loader = this.getClass().getClassLoader();
@@ -69,17 +66,14 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
if (input == null)
input = ClassLoader.getSystemResourceAsStream(BUNDLE_NAME);
- try
- {
- if (input != null)
- {
+ try {
+ if (input != null) {
props = new Properties();
props.load(input);
Set entrySet = props.entrySet();
Iterator iterator = entrySet.iterator();
- while (iterator.hasNext())
- {
+ while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
String key = (String) entry.getKey();
@@ -88,45 +82,36 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
if (value == null)
value = "";
- if (key.equals(PROP_NAME_VERSION_ORDER))
- {
+ if (key.equals(PROP_NAME_VERSION_ORDER)) {
versionOrder = new ArrayList();
String[] versions = value.split(",");
- if (versions != null)
- {
- for (int i = 0; i < versions.length; i ++)
- {
+ if (versions != null) {
+ for (int i = 0; i < versions.length; i++) {
versionOrder.add(versions[i].trim());
}
}
- }
- else
- {
+ } else {
if (applicabilityMap == null)
applicabilityMap = new HashMap();
List applicList = (List) applicabilityMap.get(key);
- if (applicList == null)
- {
+ if (applicList == null) {
applicList = new ArrayList();
applicabilityMap.put(key, applicList);
}
boolean hasGreaterOption = false;
//find if ends with + and set as separate option
- if (value.endsWith(PROP_VALUE_PLUS))
- {
+ if (value.endsWith(PROP_VALUE_PLUS)) {
hasGreaterOption = true;
value = value.substring(0, value.length() - PROP_VALUE_PLUS.length());
}
String[] versions = value.split(",");
- if (versions != null)
- {
- for (int i = 0; i < versions.length; i ++)
- {
+ if (versions != null) {
+ for (int i = 0; i < versions.length; i++) {
applicList.add(versions[i].trim());
}
@@ -137,21 +122,13 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
}
}
}
- }
- catch (IOException e)
- {
+ } catch (IOException e) {
e.printStackTrace();
- }
- finally
- {
- if (input != null)
- {
- try
- {
+ } finally {
+ if (input != null) {
+ try {
input.close();
- }
- catch (IOException e)
- {
+ } catch (IOException e) {
// ignore
}
}
@@ -162,19 +139,15 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
}
}
- private boolean isApplicable(IBuildObject configuration, IHoldsOptions holder, IOption option)
- {
+ private boolean isApplicable(IBuildObject configuration, IHoldsOptions holder, IOption option) {
// first we check the preference for this project, if it exists
IProject project = null;
- if(configuration instanceof IConfiguration)
- {
+ if (configuration instanceof IConfiguration) {
IConfiguration config = (IConfiguration) configuration;
IManagedProject managedProject = config.getManagedProject();
project = (IProject) managedProject.getOwner();
- }
- else if(configuration instanceof IFolderInfo)
- {
+ } else if (configuration instanceof IFolderInfo) {
IFolderInfo folderInfo = (IFolderInfo) configuration;
IConfiguration config = folderInfo.getParent();
@@ -190,14 +163,13 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
String currentVersion = null;
try {
- currentVersion = project.getPersistentProperty(new QualifiedName("",
- PreferenceConstants.P_XLC_COMPILER_VERSION));
+ currentVersion = project
+ .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION));
} catch (CoreException e) {
e.printStackTrace();
}
- if(currentVersion == null)
- {
+ if (currentVersion == null) {
// if the property isn't set, then use the workbench preference
IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
currentVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION);
@@ -220,8 +192,7 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
//then we need to find out if current version is greater than the last valid in the list
String lastOption = (String) applicList.get(applicList.size() - 1);
- if (lastOption != null && lastOption.equals(PROP_VALUE_PLUS))
- {
+ if (lastOption != null && lastOption.equals(PROP_VALUE_PLUS)) {
//if 'greater than' option is specified but no version order exists, consider config error and return false
if (versionOrder == null)
return false;
@@ -229,12 +200,10 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
//check for the last valid version in applicability list
String validVersion = null;
//start with element before the +
- for (int k = applicList.size() - 2; k >= 0; k --)
- {
+ for (int k = applicList.size() - 2; k >= 0; k--) {
String version = (String) applicList.get(k);
- if (versionOrder.contains(version))
- {
+ if (versionOrder.contains(version)) {
validVersion = version;
break;
}
@@ -249,7 +218,6 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
return true;
}
-
return false;
}
@@ -258,8 +226,7 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionEnabled(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionEnabled(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionEnabled(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isApplicable(configuration, holder, option);
}
@@ -267,8 +234,7 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionUsedInCommandLine(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionUsedInCommandLine(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionUsedInCommandLine(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isApplicable(configuration, holder, option);
}
@@ -276,8 +242,7 @@ public class XLCApplicabilityCalculator implements IOptionApplicability
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionVisible(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionVisible(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionVisible(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isApplicable(configuration, holder, option);
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java
index f7240e28044..8e55e62e63e 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java
@@ -36,7 +36,6 @@ public class XLCompilerPropertyPage extends FieldEditorPreferencePage implements
protected Composite versionParent;
-
/* (non-Javadoc)
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
*/
@@ -109,7 +108,8 @@ public class XLCompilerPropertyPage extends FieldEditorPreferencePage implements
IProject project = ((IResource) (getElement().getAdapter(IResource.class))).getProject();
String[] versionEntries = { PreferenceConstants.P_XL_COMPILER_VERSION_8_NAME,
- PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_10_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_11_NAME };
+ PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME, PreferenceConstants.P_XL_COMPILER_VERSION_10_NAME,
+ PreferenceConstants.P_XL_COMPILER_VERSION_11_NAME };
versionParent = getFieldEditorParent();
@@ -170,7 +170,6 @@ public class XLCompilerPropertyPage extends FieldEditorPreferencePage implements
//set the text entry to default setting
fVersionEditor.getComboControl(versionParent).setText(currentVersionLabel);
-
}
/*
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv8ApplicabiltyCalculator.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv8ApplicabiltyCalculator.java
index 8dc09fd5e10..001e009359f 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv8ApplicabiltyCalculator.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv8ApplicabiltyCalculator.java
@@ -35,7 +35,7 @@ public class XLCv8ApplicabiltyCalculator implements IOptionApplicability {
private boolean isVersion8(IBuildObject configuration) {
// first we check the preference for this project, if it exists
- if(configuration instanceof IConfiguration) {
+ if (configuration instanceof IConfiguration) {
IConfiguration config = (IConfiguration) configuration;
IManagedProject managedProject = config.getManagedProject();
@@ -43,24 +43,24 @@ public class XLCv8ApplicabiltyCalculator implements IOptionApplicability {
String currentVersion = null;
try {
- currentVersion = project.getPersistentProperty(new QualifiedName("",
- PreferenceConstants.P_XLC_COMPILER_VERSION));
+ currentVersion = project
+ .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION));
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- if(currentVersion == null) {
+ if (currentVersion == null) {
// if the property isn't set, then use the workbench preference
IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
currentVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION);
}
- if(currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_8))
- return true;
+ if (currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_8))
+ return true;
}
- if(configuration instanceof IFolderInfo) {
+ if (configuration instanceof IFolderInfo) {
IFolderInfo folderInfo = (IFolderInfo) configuration;
IConfiguration config = folderInfo.getParent();
@@ -71,21 +71,21 @@ public class XLCv8ApplicabiltyCalculator implements IOptionApplicability {
String currentVersion = null;
try {
- currentVersion = project.getPersistentProperty(new QualifiedName("",
- PreferenceConstants.P_XLC_COMPILER_VERSION));
+ currentVersion = project
+ .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION));
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- if(currentVersion == null) {
+ if (currentVersion == null) {
// if the property isn't set, then use the workbench preference
IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
currentVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION);
}
- if(currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_8))
- return true;
+ if (currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_8))
+ return true;
}
@@ -97,8 +97,7 @@ public class XLCv8ApplicabiltyCalculator implements IOptionApplicability {
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionEnabled(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionEnabled(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionEnabled(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isVersion8(configuration);
}
@@ -106,8 +105,7 @@ public class XLCv8ApplicabiltyCalculator implements IOptionApplicability {
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionUsedInCommandLine(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionUsedInCommandLine(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionUsedInCommandLine(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isVersion8(configuration);
}
@@ -115,8 +113,7 @@ public class XLCv8ApplicabiltyCalculator implements IOptionApplicability {
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionVisible(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionVisible(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionVisible(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isVersion8(configuration);
}
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv9ApplicabilityCalculator.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv9ApplicabilityCalculator.java
index bde91af75dc..533e9b182e0 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv9ApplicabilityCalculator.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv9ApplicabilityCalculator.java
@@ -37,7 +37,7 @@ public class XLCv9ApplicabilityCalculator implements IOptionApplicability {
private boolean isVersion9(IBuildObject configuration) {
// first we check the preference for this project, if it exists
- if(configuration instanceof IConfiguration) {
+ if (configuration instanceof IConfiguration) {
IConfiguration config = (IConfiguration) configuration;
IManagedProject managedProject = config.getManagedProject();
@@ -45,24 +45,24 @@ public class XLCv9ApplicabilityCalculator implements IOptionApplicability {
String currentVersion = null;
try {
- currentVersion = project.getPersistentProperty(new QualifiedName("",
- PreferenceConstants.P_XLC_COMPILER_VERSION));
+ currentVersion = project
+ .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION));
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- if(currentVersion == null) {
+ if (currentVersion == null) {
// if the property isn't set, then use the workbench preference
IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
currentVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION);
}
- if(currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_9))
- return true;
+ if (currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_9))
+ return true;
}
- if(configuration instanceof IFolderInfo) {
+ if (configuration instanceof IFolderInfo) {
IFolderInfo folderInfo = (IFolderInfo) configuration;
IConfiguration config = folderInfo.getParent();
@@ -73,21 +73,21 @@ public class XLCv9ApplicabilityCalculator implements IOptionApplicability {
String currentVersion = null;
try {
- currentVersion = project.getPersistentProperty(new QualifiedName("",
- PreferenceConstants.P_XLC_COMPILER_VERSION));
+ currentVersion = project
+ .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION));
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- if(currentVersion == null) {
+ if (currentVersion == null) {
// if the property isn't set, then use the workbench preference
IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
currentVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION);
}
- if(currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_9))
- return true;
+ if (currentVersion.equals(PreferenceConstants.P_XL_COMPILER_VERSION_9))
+ return true;
}
@@ -99,8 +99,7 @@ public class XLCv9ApplicabilityCalculator implements IOptionApplicability {
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionEnabled(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionEnabled(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionEnabled(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isVersion9(configuration);
}
@@ -108,8 +107,7 @@ public class XLCv9ApplicabilityCalculator implements IOptionApplicability {
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionUsedInCommandLine(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionUsedInCommandLine(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionUsedInCommandLine(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isVersion9(configuration);
}
@@ -117,8 +115,7 @@ public class XLCv9ApplicabilityCalculator implements IOptionApplicability {
* @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionVisible(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
*/
@Override
- public boolean isOptionVisible(IBuildObject configuration,
- IHoldsOptions holder, IOption option) {
+ public boolean isOptionVisible(IBuildObject configuration, IHoldsOptions holder, IOption option) {
return isVersion9(configuration);
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/variables/DynamicVariableResolver.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/variables/DynamicVariableResolver.java
index 3f64a2fda6e..1557a6744fe 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/variables/DynamicVariableResolver.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/variables/DynamicVariableResolver.java
@@ -30,12 +30,10 @@ public class DynamicVariableResolver implements IDynamicVariableResolver {
* @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
*/
@Override
- public String resolveValue(IDynamicVariable variable, String argument)
- throws CoreException {
+ public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
if (variable.getName().equals((PreferenceConstants.P_XL_COMPILER_ROOT))) {
- IPreferenceStore prefStore = XLCUIPlugin.getDefault()
- .getPreferenceStore();
+ IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore();
return prefStore.getString(PreferenceConstants.P_XL_COMPILER_ROOT);
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java
index 68d25e62dfb..1f934ef390a 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java
@@ -44,8 +44,7 @@ public class XLCSettingsWizardPage extends MBSCustomPage {
public static final String PAGE_ID = "org.eclipse.cdt.managedbuilder.xlc.ui.XlcSettingsWizardPage"; //$NON-NLS-1$
- private final class BrowseButtonSelectionListener implements
- SelectionListener {
+ private final class BrowseButtonSelectionListener implements SelectionListener {
private final Composite composite;
private BrowseButtonSelectionListener(Composite composite) {
@@ -92,9 +91,11 @@ public class XLCSettingsWizardPage extends MBSCustomPage {
}
private void setDefaultPreferences(String pageID) {
- String compilerPath = XLCUIPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.P_XL_COMPILER_ROOT);
+ String compilerPath = XLCUIPlugin.getDefault().getPreferenceStore()
+ .getString(PreferenceConstants.P_XL_COMPILER_ROOT);
MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XL_COMPILER_ROOT, compilerPath);
- MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XLC_COMPILER_VERSION, PreferenceConstants.P_XL_COMPILER_VERSION_8);
+ MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XLC_COMPILER_VERSION,
+ PreferenceConstants.P_XL_COMPILER_VERSION_8);
}
/* (non-Javadoc)
@@ -152,7 +153,8 @@ public class XLCSettingsWizardPage extends MBSCustomPage {
@Override
public void modifyText(ModifyEvent e) {
// update the page manager with the setting
- MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XL_COMPILER_ROOT, fDirTextBox.getText());
+ MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XL_COMPILER_ROOT,
+ fDirTextBox.getText());
}
@@ -165,8 +167,7 @@ public class XLCSettingsWizardPage extends MBSCustomPage {
Button browseButton = new Button(fComposite, SWT.PUSH);
browseButton.setAlignment(SWT.CENTER);
browseButton.setText(Messages.XLCSettingsWizardPage_2);
- browseButton.addSelectionListener(new BrowseButtonSelectionListener(fComposite)
- );
+ browseButton.addSelectionListener(new BrowseButtonSelectionListener(fComposite));
browseButton.setVisible(true);
@@ -195,14 +196,16 @@ public class XLCSettingsWizardPage extends MBSCustomPage {
fVersionCombo.setText(PreferenceConstants.getVersionLabel(compilerVersion));
// update the page manager with the setting
- MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XLC_COMPILER_VERSION, PreferenceConstants.getVersion(fVersionCombo.getText()));
+ MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XLC_COMPILER_VERSION,
+ PreferenceConstants.getVersion(fVersionCombo.getText()));
fVersionCombo.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
// update the page manager with the setting
- MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XLC_COMPILER_VERSION, PreferenceConstants.getVersion(fVersionCombo.getText()));
+ MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XLC_COMPILER_VERSION,
+ PreferenceConstants.getVersion(fVersionCombo.getText()));
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardRunnable.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardRunnable.java
index 72be374bbab..f8f74dc7a0a 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardRunnable.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardRunnable.java
@@ -40,20 +40,24 @@ public class XLCSettingsWizardRunnable implements IRunnableWithProgress {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
// take the data from the page manager, and set the project properties with it
- String compilerPath = MBSCustomPageManager.getPageProperty(pageId, PreferenceConstants.P_XL_COMPILER_ROOT).toString();
- String compilerVersion = MBSCustomPageManager.getPageProperty(pageId, PreferenceConstants.P_XLC_COMPILER_VERSION).toString();
+ String compilerPath = MBSCustomPageManager.getPageProperty(pageId, PreferenceConstants.P_XL_COMPILER_ROOT)
+ .toString();
+ String compilerVersion = MBSCustomPageManager
+ .getPageProperty(pageId, PreferenceConstants.P_XLC_COMPILER_VERSION).toString();
// get a handle to the wizard
IWizardPage[] pages = MBSCustomPageManager.getPages();
- if(pages != null && pages.length > 0) {
+ if (pages != null && pages.length > 0) {
ICDTCommonProjectWizard wizard = (ICDTCommonProjectWizard) pages[0].getWizard();
IProject project = wizard.getLastProject();
try {
- project.setPersistentProperty(new QualifiedName("", PreferenceConstants.P_XL_COMPILER_ROOT), compilerPath);
- project.setPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION), compilerVersion);
+ project.setPersistentProperty(new QualifiedName("", PreferenceConstants.P_XL_COMPILER_ROOT),
+ compilerPath);
+ project.setPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION),
+ compilerVersion);
} catch (CoreException e) {
CCorePlugin.log(e);
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Activator.java b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Activator.java
index 8a6df59398b..0c60ca8b38b 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Activator.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Activator.java
@@ -16,15 +16,12 @@ package org.eclipse.cdt.managedbuilder.xlupc.ui;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
-
public class Activator extends AbstractUIPlugin {
public static final String PLUGIN_ID = "org.eclipse.cdt.managedbuilder.xlupc.ui"; //$NON-NLS-1$
-
private static Activator plugin;
-
public Activator() {
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Messages.java b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Messages.java
index 03d719266e1..c51cc76e54f 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Messages.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Messages.java
@@ -24,7 +24,8 @@ public class Messages extends NLS {
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
}
- private Messages() {}
+ private Messages() {
+ }
public static String UpcProjectWizard_0;
public static String UpcProjectWizard_1;
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/UpcProjectWizard.java b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/UpcProjectWizard.java
index f072da4b296..ee914ce5390 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/UpcProjectWizard.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/UpcProjectWizard.java
@@ -29,7 +29,6 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
-
@SuppressWarnings({ "nls", "serial" })
public class UpcProjectWizard extends CDTCommonProjectWizard {
@@ -44,34 +43,32 @@ public class UpcProjectWizard extends CDTCommonProjectWizard {
private final static String PAGE_NAME = "org.eclipse.cdt.managedbuilder.xlupc.ui.mainpage";
-
- private static final Set<String> ALL_TYPES = new HashSet<String>() {{
- add(ARTIFACT_TYPE_UPC_EXE);
- add(ARTIFACT_TYPE_UPC_EXE_DEFAULT);
- add(ARTIFACT_TYPE_UPC_SO);
- add(ARTIFACT_TYPE_UPC_SO_DEFAULT);
- add(ARTIFACT_TYPE_UPC_LIB);
- add(ARTIFACT_TYPE_UPC_LIB_DEFAULT);
- }};
-
-
+ private static final Set<String> ALL_TYPES = new HashSet<String>() {
+ {
+ add(ARTIFACT_TYPE_UPC_EXE);
+ add(ARTIFACT_TYPE_UPC_EXE_DEFAULT);
+ add(ARTIFACT_TYPE_UPC_SO);
+ add(ARTIFACT_TYPE_UPC_SO_DEFAULT);
+ add(ARTIFACT_TYPE_UPC_LIB);
+ add(ARTIFACT_TYPE_UPC_LIB_DEFAULT);
+ }
+ };
public UpcProjectWizard() {
super(Messages.UpcProjectWizard_0, Messages.UpcProjectWizard_1);
}
-
@Override
- public void addPages() {
+ public void addPages() {
fMainPage = new CDTMainWizardPage(PAGE_NAME) {
@Override
- public List<EntryDescriptor> filterItems(List<EntryDescriptor> items) {
+ public List<EntryDescriptor> filterItems(List<EntryDescriptor> items) {
// filter out all non-UPC project types
if (items != null) {
Iterator<EntryDescriptor> iter = items.iterator();
while (iter.hasNext()) {
EntryDescriptor entryDescriptor = iter.next();
- if(!ALL_TYPES.contains(entryDescriptor.getId()))
+ if (!ALL_TYPES.contains(entryDescriptor.getId()))
iter.remove();
}
}
@@ -84,23 +81,24 @@ public class UpcProjectWizard extends CDTCommonProjectWizard {
addPage(fMainPage);
}
-
@Override
protected IProject continueCreation(IProject prj) {
try {
CProjectNature.addCNature(prj, new NullProgressMonitor());
- } catch (CoreException e) {}
+ } catch (CoreException e) {
+ }
return prj;
}
-
@Override
public String[] getNatures() {
- return new String[] { CProjectNature.C_NATURE_ID/*, CCProjectNature.CC_NATURE_ID, RemoteNature.REMOTE_NATURE_ID*/};
+ return new String[] {
+ CProjectNature.C_NATURE_ID/*, CCProjectNature.CC_NATURE_ID, RemoteNature.REMOTE_NATURE_ID*/ };
}
@Override
public String[] getContentTypeIDs() {
- return new String[] { CCorePlugin.CONTENT_TYPE_CSOURCE, CCorePlugin.CONTENT_TYPE_CHEADER, UPCLanguage.UPC_CONTENT_TYPE_ID };
+ return new String[] { CCorePlugin.CONTENT_TYPE_CSOURCE, CCorePlugin.CONTENT_TYPE_CHEADER,
+ UPCLanguage.UPC_CONTENT_TYPE_ID };
}
}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardRunnable.java b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardRunnable.java
index ed16493e808..39c52c6e8c4 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardRunnable.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardRunnable.java
@@ -33,12 +33,11 @@ import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.core.runtime.content.IContentTypeManager;
import org.eclipse.jface.wizard.IWizardPage;
-
public class XLUpcSettingsWizardRunnable extends XLCSettingsWizardRunnable {
-
// now add UPC language mapping to the project
- private static final String[] CONTENT_TYPE_IDS = { CCorePlugin.CONTENT_TYPE_CHEADER, CCorePlugin.CONTENT_TYPE_CSOURCE };
+ private static final String[] CONTENT_TYPE_IDS = { CCorePlugin.CONTENT_TYPE_CHEADER,
+ CCorePlugin.CONTENT_TYPE_CSOURCE };
public XLUpcSettingsWizardRunnable() {
pageId = XLUpcSettingsWizardPage.PAGE_ID;
@@ -64,8 +63,8 @@ public class XLUpcSettingsWizardRunnable extends XLCSettingsWizardRunnable {
IContentTypeManager contentTypeManager = Platform.getContentTypeManager();
- for(String id : CONTENT_TYPE_IDS) {
- if(contentTypeManager.getContentType(id) != null) {
+ for (String id : CONTENT_TYPE_IDS) {
+ if (contentTypeManager.getContentType(id) != null) {
langConfig.addContentTypeMapping(configDescription, id, UPCLanguage.ID);
}
}

Back to the top